Clean gone branches
Skill dceoy/ai-coding-agent-skills/skills/clean-gone-branches
Clean up all git branches marked as [gone] (branches deleted on the remote but still existing locally), including removing associated worktrees.From its SKILL.md
npx -y skills add dceoy/ai-coding-agent-skills --skill clean-gone-branchesAssembled 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 3 commands, including `git branch -v` and 2 more.
SKILL.md
2.3 KB, 521 tokens by cl100k_base, as published. Nobody here has run it
Clean Gone Branches Skill
Remove stale local branches that have been deleted from the remote repository, along with any associated worktrees.
When to Use
- After merging and deleting remote branches, to clean up local tracking branches.
- When
git branch -vshows branches marked as[gone]. - Periodic local repository maintenance.
Agent Compatibility
This skill is tool-agnostic and can be executed by Claude Code, Codex CLI, or Cursor CLI.
Inputs
- None required. The skill operates on the current git repository.
Before deleting anything, inspect the branch list and worktree list so the user can understand what will be removed.
Workflow
-
List branches to identify any with
[gone]status:git branch -vBranches with a
+prefix have associated worktrees and must have their worktrees removed before deletion. -
List worktrees that may need removal for
[gone]branches:git worktree list -
Remove worktrees and delete
[gone]branches. Strip leading+,*, or spaces fromgit branch -voutput before extracting branch names:git branch -v | grep '\[gone\]' | sed 's/^[+* ]//' | awk '{print $1}' | while read branch; do echo "Processing branch: $branch" worktree=$(git worktree list | grep "\\[$branch\\]" | awk '{print $1}') if [ -n "$worktree" ] && [ "$worktree" != "$(git rev-parse --show-toplevel)" ]; then echo " Removing worktree: $worktree" git worktree remove --force "$worktree" fi echo " Deleting branch: $branch" git branch -D "$branch" done -
Report results: List which worktrees and branches were removed. If no branches are marked as
[gone], report that no cleanup was needed.
Safety Notes
- Do not delete the current branch.
- Do not remove the repository's main worktree.
- Only delete branches shown by
git branch -vas[gone]; do not infer stale branches by name.
Outputs
- Console output listing removed worktrees and deleted branches.
- If no
[gone]branches exist, a message indicating no cleanup was needed.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.