review-prlisted
Install: claude install-skill ChulioZ/spielwirbel
# Reviewing a PR for safe merge
Goal: produce a clear **verdict** for a single PR — `SAFE TO MERGE`, or
`NOT SAFE` with concrete reasons and what would have to change. Do not merge
here; the caller decides. Be honest: a PR that only *looks* fine (green CI, tiny
diff) can still be unsafe. Report what you actually verified.
Take the PR reference (number, URL, or branch) as input. All commands use `gh`.
## 1. Gather the facts
```bash
gh pr view <PR> # title, author, body, labels, state
gh pr view <PR> --json mergeable,mergeStateStatus,isDraft,reviewDecision
gh pr checks <PR> # CI / required-check status
gh pr diff <PR> # the actual change
```
- **Draft or already-closed?** Stop — not a merge candidate; say so.
- **Mergeable?** `mergeable: CONFLICTING` or `mergeStateStatus: DIRTY` means it
has conflicts with the base branch → `NOT SAFE` (needs rebase). `BEHIND` means
it needs updating from base before merge.
## 2. CI and required checks must be green
- Every check in `gh pr checks` must pass. Any `fail`/`pending` that is a
*required* check → not mergeable yet.
- **Distinguish "failing" from "not yet run."** On a PR from a **fork** by an
outside contributor, workflows may be *awaiting a maintainer's approval to run*
rather than failing — checks show pending/expected because CI hasn't started.
That is not a `NOT SAFE` blocker in itself; it means CI can't be judged yet.
Note it, and (only after the dif