Agent skill
worker-cleanup
Remove completed or abandoned worker worktrees and their branches. Use to clean up after workers finish their tasks.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/productivity/worker-cleanup
SKILL.md
Worker Cleanup Skill
Remove completed or abandoned worker worktrees.
Usage
/worker-cleanup [worktree-path-or-branch]
/worker-cleanup --all-merged
/worker-cleanup --all
Examples
/worker-cleanup ../artemis-issue-42
/worker-cleanup feat/issue-42-retry
/worker-cleanup --all-merged
Instructions
Single Worktree Cleanup
When given a specific worktree or branch:
-
Check for uncommitted changes
bashcd <worktree> && git status --porcelainIf dirty, warn user and ask for confirmation.
-
Check if branch was merged
bashgit branch --merged main | grep <branch>If not merged, warn user about unmerged commits.
-
Remove worktree
bashgit worktree remove <worktree-path> -
Delete branch if merged
bashgit branch -d <branch> # Safe delete (fails if unmerged)
Cleanup All Merged (--all-merged)
Find and remove all worktrees whose branches are merged to main:
bash
# Get merged branches
MERGED=$(git branch --merged main | grep -v main)
# For each, remove worktree and branch
for branch in $MERGED; do
worktree=$(git worktree list | grep "$branch" | awk '{print $1}')
if [ -n "$worktree" ]; then
git worktree remove "$worktree"
git branch -d "$branch"
fi
done
Cleanup All (--all)
DANGEROUS - Removes all non-main worktrees:
- List all worktrees
- Show uncommitted/unmerged status for each
- Require explicit confirmation
- Remove each worktree and optionally delete branches
Output
Show cleanup summary:
Cleaned up 3 worktrees:
- ../artemis-issue-42 (feat/issue-42-retry) - merged, deleted
- ../artemis-feat-logging (feat/add-logging) - merged, deleted
- ../artemis-old-experiment (test/old) - unmerged, branch kept
Remaining worktrees: 1
- ../artemis-wip (feat/work-in-progress) - has uncommitted changes
Safety
- Never remove main worktree
- Warn before removing worktrees with uncommitted changes
- Keep unmerged branches by default (use
-Dflag to force) - Always show what will be deleted before confirming
Didn't find tool you were looking for?