← ClaudeAtlas

cleanup-local-brancheslisted

Use when cleaning up local Git branches after origin pruning. Deletes local branches whose upstream was deleted on origin (marked gone) and local branches with no origin counterpart that have been inactive for more than six months, while always protecting the current branch and the default branches. Previews every deletion before running it.
pekral/cursor-rules · ★ 7 · Code & Development · score 79
Install: claude install-skill pekral/cursor-rules
# Cleanup Local Branches ## Purpose Prune dead local branches so the working copy only keeps branches that are still alive on origin or still recently active. Two deletion categories: - **Gone** — local branches whose upstream tracking branch was deleted on origin (e.g. the PR was merged and the origin branch removed). - **Stale** — local branches that have **no** counterpart on origin and have not received a commit for **more than six months**. --- ## Constraints - Apply `@rules/git/general.mdc` - Output must be in English - This skill deletes **local** refs only — it never deletes, force-pushes, or modifies any branch on origin - Never delete the currently checked-out branch - Never delete protected branches: `main`, `master`, `develop`, `development`, `production`, `staging`, or any branch matching `release/*` or `hotfix/*` - Always print the full deletion preview (branch, category, last commit date, integration status, planned action) **before** deleting anything - Never rewrite history, force-push, or run `git gc` / `git reflog expire` - Determine integration status by patch identity against the default branch (`git cherry`), so squash- and rebase-merged branches are recognized as integrated - Never delete a `stale` branch that is not integrated into the default branch automatically — keep it and report it unless the user explicitly authorizes force deletion (its commits never reached origin and are unrecoverable) --- ## Use when - The user asks to clean up, prune,