Playbook for reviewing pull requests — verdict format, verification-not-trust, severity-ranked findings with concrete fixes, risk acceptance on the record. The reviewer-side counterpart of pr-authoring.
Installs into .claude/skills of the current project.
Are you the author of Pr Review?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vandanaajaydubey111-pr-review-great-pm)
---
name: pr-review
description: "Playbook for reviewing pull requests — verdict format, verification-not-trust, severity-ranked findings with concrete fixes, risk acceptance on the record. The reviewer-side counterpart of pr-authoring."
---
## Codex host binding
- Treat references to Claude slash workflows as the equivalently named Codex skill.
- Before delegating to any specialist, read the `great-pm-runtime` skill and the selected packaged role file.
- Treat "invoke", "assign", "delegate", "spawn", and source Agent-tool instructions as a required Codex `spawn_agent` call with that role and a bounded assignment.
- For the spawn tool's `task_name` or `agent_name` identifier, replace canonical role-name hyphens with underscores (`query-refiner-pm` → `query_refiner_pm`). Keep canonical names unchanged in prompts, filenames, verdict logs, and user-facing output; this is an internal identifier mapping, not a role rename.
- Store every returned agent identifier. Never call a wait tool until a spawn has returned an identifier, and wait only on identifiers returned by successful spawns.
- If `spawn_agent` is unavailable or a spawn fails, report BLOCKED; do not impersonate the specialist or wait on an empty agent set.
- Resolve bundled paths from the installed GreatPM plugin root.
- Ignore Claude-only model aliases, colors, turn limits, and tool allowlists.
- Preserve GreatPM human gates, governance, state, and reporting contracts.
# PR Review — playbook
A review is not an opinion; it is a verification with a verdict. The author
owed you an evidence-backed PR (per `pr-authoring`); you owe back a review
that says what you checked, what you found, and exactly what it takes to
get to APPROVE.
## 1. Review output format (in order)
1. **Verdict** — one of:
- **APPROVE** — mergeable as-is.
- **APPROVE-WITH-NITS** — mergeable; nits listed, author's call.
- **REQUEST-CHANGES** — not mergeable; the exact path to APPROVE is
listed. A REQUEST-CHANGES without that path is a stall, not a review.
- **BLOCKED** — a question outside this PR must be answered first
(file it as a ticket / open decision; link it).
2. **What I verified** — table: Claim in PR | How I checked | Result.
Re-run at least the highest-risk verification the author claims, and
spot-check at least two checklist boxes. Trust is not a review method.
3. **Findings** — table: Severity | Location | Issue | Concrete fix.
Severity levels:
- **Blocker** — merging causes harm (bug, security, data, broken
contract). Ship-stoppers only.
- **Major** — wrong but not dangerous; fix before or immediately after
merge, reviewer states which.
- **Minor** — should fix; does not gate merge.
- **Nit** — style/preference; author may ignore.
4. **Questions** — genuine questions are not findings; keep them separate
so they don't inflate the change request.
5. **Risk acceptance** — if approving despite a known risk, say so on the
record: "approving with X risk accepted because Y". Silent risk
acceptance is how incidents lose their audit trail.
6. **Post-merge watch** — what to monitor after deploy, for how long, and
the rollback trigger ("error rate > N% in first hour → revert per the
PR's Rollback section").
## 2. Rules
- **Follow the PR's Suggested review order** — the author ranked by risk;
start there, not at the easiest file.
- **Verify, don't trust** — the Verification table in the PR is the
author's claim; your "What I verified" table is the check on it.
- **Severity honesty** — inflating a nit to a blocker burns trust exactly
like claiming a target as a result. Blockers are ship-stoppers only.
- **Every REQUEST-CHANGES names the exact path to APPROVE** — finite,
concrete, no moving goalposts on re-review.
- **Critique the work, never the author** — "this query is unbounded"
not "you always forget limits".
- **Scope discipline** — re-litigating approved scope belongs upstream
(file a ticket); "while you're here" expansions are banned in both
directions.
## 3. Anti-patterns — ban these
- **"LGTM" with no verification statement** — an approval that checked
nothing is a rubber stamp, and the audit trail records it as one.
- **Nit storms** — twenty style comments burying one real blocker.
- **Goalpost creep** — new demands on re-review that weren't in the first
review's path-to-APPROVE.
- **Drive-by scope expansion** — the review is not the place to grow the
ticket.
- **Silent risk acceptance** — approving around a known risk without
writing it down.
## 4. Output shape
A review the author can act on without a follow-up meeting, and an audit
trail that shows what was actually verified before merge. If the author
asks "so what do I need to change to get this approved?", the review
failed.