What problem does it solve? Repositories accumulate stale branches after pull requests merge, cluttering branch lists and making it hard to see active work. Manually deleting them risks losing unmerged work or branches checked out in active worktrees. ## Core Features & Use Cases - Dual-signal merge detection: Confirms a branch is merged via git ancestry or a verified merged pull request, covering squash-merge workflows where ancestry checks fail. - Five safety guards: Skips protected branches, GitHub-protected branches, the current HEAD, branches referenced by open plans, and branches checked out in any worktree. - Recoverable deletion: Writes 7-day tombstone refs before deleting, so pruned branches can be restored with a single git update-ref command. - Use Case: After a sprint, run a dry-run to list every branch merged into main, review the candidates including rejected-PR branches, then apply the prune to clean both local and remote refs with a full audit log. ## Quick Start Ask the agent to run /prune-merged to list merged branch candidates, review the dry-run output, and confirm deletion.