batch-merge-prslisted
Install: claude install-skill bravros/bravros
# batch-merge-prs
Read [briefing.md](references/briefing.md) on demand for detailed context and instructions.
INTENT: take N open PRs from open → verified → merged on the staging branch → linked issue/backlog closed per merge → full suite handed to operator. Staging is `homolog` unless project CLAUDE.md states otherwise. Run from repo root.
## Hard constraints
- **Never merge or push to `main`.** Production ships via operator's token-gated `/promote`.
- **Guard seam:** executable `.bravros/guards/pre-merge.sh`, if present, runs before each merge; non-zero exit parks that PR for human review.
- **Live-suite safety:** server-side merges only (`gh pr merge`) if suite is running on tree; defer local pulls/checkouts until free.
- **No `--delete-branch` mid-batch** — heads stay recoverable until batch lands; prune after.
- `blocked` verdict is a full stop — hand to operator, never auto-merge.
## Flow
1. **Verify (parallel, read-only).** `mkdir -p .claude/workflows && cp -f ~/.agent_config/skills/batch-merge-prs/scripts/verify-prs.js .claude/workflows/` then run `Workflow({name:'verify-prs', args:{staging_branch, bot:'claude', guards:[…], prs:[…]}})`.
Verdicts: clean → queue · needs-changes → fix-agent per PR, re-verify · superseded → close · blocked → stop. `deep` mode on free tree only.
2. **Merge (SERIAL, ascending, one standalone call per PR).** Follow `skills/shared/merge-flow.md`. Re-check mergeability per PR. Default `--merge`. Conflict recovery & per-merge closeout: