skill · from the commit-commands plugin
/clean_gone
Cleans up all git branches marked as [gone] (branches that have been deleted on the remote but still exist locally), including removing associated worktrees.
- commit-commands plugin
- Slash command
you ›install the commit-commands plugin
metaphor ›Installed commit-commands. /clean_gone is ready.
you ›/clean_gone
metaphor ›Loaded the clean_gone skill. What should I work on?
What the agent is told
This is the skill's SKILL.md, exactly what Metaphor reads before the task.
Your Task
You need to execute the following bash commands to clean up stale local branches that have been deleted from the remote repository.
Commands to Execute
First, list branches to identify any with [gone] status Execute this command:
git branch -vNote: Branches with a '+' prefix have associated worktrees and must have their worktrees removed before deletion.
Next, identify worktrees that need to be removed for [gone] branches Execute this command:
git worktree listFinally, remove worktrees and delete [gone] branches (handles both regular and worktree branches) Execute this command:
# Process all [gone] branches, removing '+' prefix if present git branch -v | grep '\[gone\]' | sed 's/^[+* ]//' | awk '{print $1}' | while read branch; do echo "Processing branch: $branch" # Find and remove worktree if it exists worktree=$(git worktree list | grep "\\[$branch\\]" | awk '{print $1}') if [ ! -z "$worktree" ] && [ "$worktree" != "$(git rev-parse --show-toplevel)" ]; then echo " Removing worktree: $worktree" git worktree remove --force "$worktree" fi # Delete the branch echo " Deleting branch: $branch" git branch -D "$branch" done
Expected Behavior
After executing these commands, you will:
- See a list of all local branches with their status
- Identify and remove any worktrees associated with [gone] branches
- Delete all branches marked as [gone]
- Provide feedback on which worktrees and branches were removed
If no branches are marked as [gone], report that no cleanup was needed.
Questions
What is the clean_gone skill?
Cleans up all git branches marked as [gone] (branches that have been deleted on the remote but still exist locally), including removing associated worktrees.
How do I use clean_gone in Metaphor?
Install the commit-commands plugin by asking the agent "install the commit-commands plugin", then type /clean_gone in the composer.
What is a skill?
A skill is a set of written instructions the agent reads before it starts a kind of task. It changes how the agent works, not what it is allowed to do.