Agent skill

worktree-cleanup

Remove merged or stale git worktrees. Use after PRs are merged, work is done, or when worktrees are no longer needed.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/worktree-cleanup

SKILL.md

Worktree Cleanup

Remove worktrees safely to free disk space and maintain organization.

When to Use

  • PR has been merged
  • Worktree no longer needed
  • Free disk space
  • Maintain clean worktree list

Quick Reference

bash
# Remove single worktree by path
git worktree remove worktrees/ProjectOdyssey-42-feature

# Auto-clean all merged worktrees
./scripts/cleanup_merged_worktrees.sh

Workflow

  1. Verify state - Check no uncommitted changes: cd worktrees/ProjectOdyssey-42 && git status
  2. Commit changes - Make sure all changes are committed and the task is finished
  3. Switch away - Don't be in the worktree you're removing
  4. Remove worktree - Use git command
  5. Verify - Run git worktree list to confirm removal

Safety Checks

Before removing a worktree:

  • Branch is merged to main (check GitHub PR status)
  • No uncommitted changes (run git status in worktree)
  • Not currently using the worktree (be in different directory)
  • PR is actually merged (check "Development" section on issue)

Error Handling

Error Solution
"Worktree has uncommitted changes" Commit changes
"Not a worktree" Verify path with git worktree list
"Worktree is main" Don't remove primary worktree

Scripts Available

  • scripts/cleanup_merged_worktrees.sh - Auto-clean merged worktrees

References

  • See worktree-create skill for creating worktrees

Didn't find tool you were looking for?

Be as detailed as possible for better results