Clean worktrees
Remove stale agent worktree directories and their orphaned branches. Run after parallel agent work or when .claude/worktrees/ accumulates cruft.From its SKILL.md
npx -y skills add stuartshields/claude-setup --skill clean-worktreesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 6 commands, including `find .claude/worktrees -maxdepth 1 -type d -name 'agent-*'` and 5 more.
SKILL.md
2.2 KB, 550 tokens by cl100k_base, as published. Nobody here has run it
Clean Stale Agent Worktrees
Remove worktree directories and orphaned worktree-agent-* branches left behind by agent isolation mode.
Based on community patterns from claude-codex-settings and claude-code-ultimate-guide, adapted for Claude Code's agent worktree pattern.
Related upstream issue: anthropics/claude-code#26725
Process
1. Inventory
Run these commands and report counts:
# Count worktree directories
WORKTREE_DIRS=$(find .claude/worktrees -maxdepth 1 -type d -name 'agent-*' 2>/dev/null | wc -l | tr -d ' ')
# Count git worktree registrations (excluding main)
GIT_WORKTREES=$(git worktree list 2>/dev/null | grep 'worktree-agent-' | wc -l | tr -d ' ')
# Count orphaned branches
ORPHANED_BRANCHES=$(git branch --list 'worktree-agent-*' 2>/dev/null | wc -l | tr -d ' ')
Report:
## Worktree Inventory
- Worktree directories: {WORKTREE_DIRS}
- Git worktree registrations: {GIT_WORKTREES}
- Orphaned branches: {ORPHANED_BRANCHES}
If all counts are 0: report "No stale worktrees found." and stop.
2. Dry Run Check
If $ARGUMENTS contains --dry-run: report the inventory and stop. Do not delete anything.
3. Clean Up
Run in this order:
# Prune stale git worktree references
git worktree prune
# Remove registered worktrees that match agent pattern
git worktree list | grep 'worktree-agent-' | awk '{print $1}' | while read wt; do
git worktree remove --force "$wt"
done
# Delete orphaned branches (allowed by block-git-commit.sh for worktree-agent-* only)
git branch --list 'worktree-agent-*' | xargs git branch -D
4. Report
## Cleanup Complete
- Removed {N} worktree directories
- Deleted {N} orphaned branches
- Pruned git worktree references
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.