pr-review — deep PR review (heavyweight, GitHub-only)
A real reviewer's pass on a GitHub pull request: a checked-out worktree, cross-file context, a multi-dimension fan-out with adversarial verification, feature-flag tracing, and inline comments posted back to the PR. This is the heavyweight path. For a quick read-only skim with no worktree, use /adk:review.
Scope is a GitHub PR URL only. https://github.com/<owner>/<repo>/pull/<n>. Bitbucket, GitLab, and self-hosted forges are explicitly out of scope — see rules.md. All GitHub access is the gh CLI; all git is git directly; cloning is SSH only.
The full operating contract lives in this skill folder — read these as you need them:
| Aspect | File |
|---|---|
| How you review (voice, severity rubric, evidence rules) | persona.md |
| The phased process + the Workflow orchestration | workflow.md |
| Hard rules + refusals + safety | rules.md |
| Per-dimension review guide + feature-flow tracing | dimensions.md |
| Classifying pre-existing PR review threads | comment-resolution.md |
Quick start
- Phase 0 — parse + auth. Parse the URL →
(owner, repo, number). Verifygh auth status. (workflow.mdPhase 0.) - Phase 1 — checkout. Ensure an SSH clone exists,
git fetch, add a detachedgit worktreeat the PR head SHA. The worktree is read-only — you never edit the PR's code. - Phase 2 — gather. PR metadata + diff + existing review threads via
gh pr view --json/gh pr diff/gh api; linked Jira/Confluence via the atlassian MCP. - Phase 3 — the Workflow. Fan out one agent per dimension over diff + worktree, trace feature flags via the statsig MCP, then adversarially verify and synthesize. (
dimensions.md,workflow.mdPhase 3.) - Phase 4 — threads. Classify each existing review thread resolve / reopen / leave-as-is by re-checking the worktree at its anchor (
comment-resolution.md). - Phase 5–6 — triage + post. Triage findings, then render inline comments + a summary + appreciations via the
ghCLI. Confirm before transmitting.
Workflow is the default
Every real PR gets the parallel-dimension Workflow in workflow.md: review fans out one dimension per agent → each finding is adversarially refuted by an independent skeptic → only survivors are reported. This catches what a linear pass misses and kills plausible-but-wrong findings. There is no "skip the workflow" fast path here — that's what /adk:review is for.
Posting policy + merge policy
- Posting inline review comments is the purpose of this skill, so it happens by default in non-interactive mode — but you always summarize what will post ("about to post N inline comments + a summary on PR #X — proceed?") before transmitting, per
rules.md.--no-postproduces the report and posts nothing. - The verdict is approve when there are no surviving blocker/critical findings and no thread needs reopening; otherwise request changes or comment.
- NEVER merge a PR. Even if asked, print the merge link and exit (
rules.md). Recommend merge; the human clicks. Never force-push.
Modes
- default — full review, post inline comments + summary + appreciations after a one-line confirmation.
-i/--interactive— walk each finding (accept / reject / edit) before anything is posted.--scope security|correctness|tests|all— restrict the fan-out to one dimension family (defaultall).--no-post— review and report only; transmit nothing to the PR.--deep— stronger reasoning profile; auto-selected for security-sensitive, cross-module, or feature-flag-bearing diffs.