prunelisted
Install: claude install-skill MaisonDeVolonte/construct
**one sweep for every ref already spent:** merged branches named, unmerged left alone
- prunes dead tracking refs, then reports the trunk delta
- preserves unmerged branches and names only the merged ones
- deletes nothing; every deletion is handed back as a command you run
# Instructions
## Telemetry
```!
"${CLAUDE_PLUGIN_ROOT}"/skills/prune/prune.sh $ARGUMENTS
echo "sidecar exit: $?"
```
- `help: requested` → the run was refused before it started; `## Help` below is the whole turn
- it already ran, so there is no command to issue
- fail (`sidecar exit` > 0) → abort and report: "<raw terminal error>"
- success (`sidecar exit` = 0) → report "/gitgud:prune telemetry" and continue to step 1
1. run the native shell command exactly as specified
```bash
plugins/gitgud/shared/triage.sh
```
- fail (`sidecar exit` > 0) → abort and report: "<raw terminal error>"
- success (`sidecar exit` = 0): merge its classification into the handover, then STOP
NEVER run a deletion, and never offer to; handing the commands over IS the deliverable
step 1 already caught the gone and merged branches; this step exists for the ones
`git branch --merged` cannot see, since a rebased branch reads merged = no forever
read `merged = yes OR absorbed = yes` as "safe"; only `merged = no AND absorbed = no`
is real unmerged work
```text
- ignored: `main` and `production` are never deleted
- skipped: merged = no AND absorbed = no, the only branches holding unshipped