git-branch-clean
Skill6 starsChanged 3 months agoMITView on GitHub
Audit, archive, rename or delete Git branches without losing work, with plan-hash-bound cleanup helpers. Use for stale or integrated branches, branch archival, or pruning local and remote refs. RU: очистка веток, архив ветки, удалить ветки.
- Deletes or force-pushes
- Commits and pushes
In this repository65 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/agent-hook-verify/references/claude.mdCLAUDE.md
- agent-command-runSkill
- agent-context-auditSkill
- agent-hook-verifySkill
- agent-integration-auditSkill
- agent-model-findSkill
- agent-project-syncSkill
- agent-skill-findSkill
- agent-skill-syncSkill
- agent-terms-defineSkill
- agent-workspace-migrateSkill
- api-contract-defineSkill
- api-docs-syncSkill
- api-stream-diagnoseSkill
- api-yandex-oauth-runSkill
- code-async-reviewSkill
- code-cli-buildSkill
- code-config-auditSkill
- code-durable-reviewSkill
- code-performance-fixSkill
- code-state-verifySkill
- deploy-artifact-publishSkill
- deploy-rollout-runSkill
- design-brand-buildSkill
- docs-claims-verifySkill
- docs-diagram-buildSkill
- docs-prose-fixSkill
- git-merge-syncSkill
- git-path-runSkill
- git-repo-runSkill
- git-worktree-guardSkill
- infra-container-setupSkill
- infra-network-diagnoseSkill
- infra-project-migrateSkill
- infra-runbook-buildSkill
- kanban-board-auditSkill
- kanban-card-buildSkill
- kanban-card-planSkill
- kanban-card-reviewSkill
- kanban-card-runSkill
- kanban-card-verifySkill
- kanban-epic-coordinateSkill
- kanban-queue-coordinateSkill
- kanban-roadmap-planSkill
- kanban-schedule-runSkill
- monitor-telemetry-setupSkill
- personal-action-planSkill
- quality-artifact-verifySkill
- quality-change-reviewSkill
- quality-change-verifySkill
- research-prior-art-findSkill
- research-source-auditSkill
- research-source-findSkill
- research-spike-runSkill
- security-access-diagnoseSkill
- security-api-hardenSkill
- security-boundary-hardenSkill
- security-boundary-reviewSkill
- security-filesystem-hardenSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Read branch history and retirement.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Git branch cleanup and archival
Use to audit, archive, rename or delete branches. Verify the exact source, destination, checkout, worktrees, tip and recovery boundary first. A branch rename does not switch the active checkout. Preserve paused work and historical blockers, never delete a dirty worktree, and verify any separately authorized remote change.
Inventory actual local refs, remote refs and linked worktrees before selecting candidates. Compare ancestry, patch equivalence and available review evidence; verify unique work and dirty worktrees rather than trusting a single signal. Deletion requires applicable authorization and recoverable state; remote deletion is a separate action.
For a read-only local-branch comparison against a chosen base, run the local audit helper with Python 3 and --base <commit-or-ref>. Resolve the skill location through the current runtime's plugin interface. The helper fetches nothing, performs no deletions, snapshots branch tips and reports ancestry, patch equivalence and checked-out state as separate evidence; it fails if a comparison fails or observed refs change. Patch equivalence alone is not authorization or proof that a branch is safe to delete. Review remote and pull-request evidence separately when relevant.
To delete branches that are already integrated into the remote default branch, use the cleanup helper only with authorization for those branches. It is a two-step, plan-bound operation:
- The default dry-run runs
git fetch --prune(unless--no-fetch), classifies branches as merged (ancestor, patch-equivalent, or a merged GitHub PR into the default branch whenghworks), lists the unmerged and the protected ones, and printsplan_sha256. The default branch,dev,main,master, the checked-out branch, branches checked out in a worktree andbackup/*are never candidates. --apply --plan-sha256 <hash>recomputes the plan from the current refs and deletes nothing if any branch tip, classification, scope or the base moved. Before deleting, it records<scope> <branch> <sha>in<git-dir>/branch-cleanup/deleted-<UTC>.tsv(restore withgit branch <branch> <sha>), reads the record back and re-checks each tip.
The default scope is local. Remote branches are deleted only with an explicit --scope remote|both that was part of the reviewed dry-run, and only if they still point at the reviewed commit (git push --force-with-lease). A hash is valid only for the scope it was printed for. Run python3 test/test_git_branch_cleanup.py from the skill directory after changing the helper.
Read branch history and retirement. For linked-worktree inclusion, use content coverage. Follow the user, project and runtime authorization for each operation; this skill does not grant additional authority.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

