Overview
Name
git-worktrees:worktree-management - Manage git worktrees created by subagents
Synopsis
/worktree-management [list|prune|merge]
Description
Manages git worktrees that were created by subagents for isolation. Provides commands to list active worktrees, prune stale ones, and merge completed work back into the current branch.
Implementation
List Worktrees
Show all active worktrees and their status:
bash
git worktree list
For worktrees in the .worktrees/ directory, also show their commit status:
bash
for wt in .worktrees/*/; do
if [ -d "$wt" ]; then
echo "=== $(basename "$wt") ==="
git -C "$wt" log --oneline -5
echo ""
fi
done
Prune Stale Worktrees
Remove worktrees that are no longer needed:
bash
# Remove all worktrees in .worktrees/
git worktree list --porcelain | grep "^worktree " | grep ".worktrees/" | while read -r line; do
wt_path="${line#worktree }"
git worktree remove "$wt_path"
done
# Clean up any stale entries
git worktree prune
Merge Work Back
To merge a specific worktree's work into the current branch:
- Identify the worktree and its commits
- Cherry-pick or merge the commits into the main working tree
- Remove the worktree after successful merge
bash
# From the main working tree:
WORKTREE_NAME="agent-xxx"
WORKTREE_BRANCH=$(git -C ".worktrees/${WORKTREE_NAME}" rev-parse HEAD)
# Cherry-pick the commits
git cherry-pick "${WORKTREE_BRANCH}"
# Or create a merge
git merge "${WORKTREE_BRANCH}" --no-ff -m "merge: integrate work from ${WORKTREE_NAME}"
# Clean up
git worktree remove ".worktrees/${WORKTREE_NAME}"
Example Interaction
User: List my active worktrees
Agent:
$ git worktree list
/path/to/repo abc1234 [main]
/path/to/repo/.worktrees/agent-1707123456-12345 def5678 (detached HEAD)
/path/to/repo/.worktrees/agent-1707123789-67890 ghi9012 (detached HEAD)
=== agent-1707123456-12345 ===
def5678 feat: implement user authentication
abc1234 Initial commit
=== agent-1707123789-67890 ===
ghi9012 fix: resolve database connection issue
abc1234 Initial commit
User: Merge the auth worktree and clean up
Agent: Cherry-picks the auth commit, removes the worktree, and prunes stale entries.