metaphor/marketplace

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
try it

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

  1. First, list branches to identify any with [gone] status Execute this command:

    git branch -v
    

    Note: Branches with a '+' prefix have associated worktrees and must have their worktrees removed before deletion.

  2. Next, identify worktrees that need to be removed for [gone] branches Execute this command:

    git worktree list
    
  3. Finally, 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.

More from commit-commands