pr-babysitterlisted
Install: claude install-skill NasserAlbusaidi/ship-gate
# PR babysitter
GitHub auto-merge holds a PR until `readiness` is green AND the branch is
up-to-date — but it **never updates a BEHIND branch itself** (`allow_update_branch`
only permits the update; nothing calls it). Every squash-merge re-BEHINDs the PRs
queued behind it, so a merge train stalls after the first car unless someone keeps
nudging. That someone is this skill. It is the tail of `/automerge`, not a
replacement — it never merges anything itself.
## One pass
### 1. Snapshot the board
```bash
gh pr list --state open --json number,title,isDraft,mergeStateStatus,autoMergeRequest,statusCheckRollup
```
### 2. Per open non-draft PR, in this order
- **CONFLICTING** → surface it for the human. Never resolve or force anything.
- **BEHIND** → `gh pr update-branch <N>`. If the update errors (usually a
conflict with the new base) → surface as CONFLICT.
- **No auto-merge enabled** (`autoMergeRequest == null`) → check whether a prior
`/automerge` round left P1 comments with no push since
(`gh pr view <N> --json comments,commits`):
- P1s still standing → surface, skip. The human fixes; a new push makes it
eligible again.
- Otherwise → run the full **`automerge`** skill pipeline on it (classify →
exempt-enable or gate-review→refute). This may spawn Opus reviewer/refuter
agents — that's the point; classification still fails toward GATE.
- **Checks failing** (any `statusCheckRollup` conclusion FAILURE) → surface with
the failing check's name. Don't auto-