name: review-pr description: Read-only pull request review workflow with risk analysis, targeted checklists, and Codex subagent consultation.
Review Pull Request
Use this skill when the user asks for a PR review of the current branch or a specific PR.
Inputs
- Optional PR number
- Optional
--quickto stop after the change analysis phase
Hard Rules
- Stay read-only.
- Do not edit files, commit, push, rebase, or change GitHub state.
- Do not run build, install, or test commands that mutate the environment.
- Use
ghfor PR metadata and git diff retrieval.
Reference Files
references/review-pr-domains-and-signals.mdreferences/review-pr-templates.md
Workflow
Phase 1: Resolve PR context
- Use
gh pr viewto fetch PR title, body, state, draft status, and changed files. - If no PR exists, stop and report that clearly.
- If the PR is closed, stop.
- Record the branch name and changed file list.
Phase 2: Change analysis
- Classify changed files using
references/review-pr-domains-and-signals.md. - Determine the highest overall risk level:
CRITICAL,HIGH,MEDIUM, orLOW. - Build a
CHANGE_ANALYSIS_REPORTthat lists:- detected domains/signals
- risk level
- affected files
- related frameworks
- likely failure modes
If --quick is set, return the change analysis report and stop here.
Phase 3: Review planning
- Select the smallest useful set of review passes from
references/review-pr-templates.md. - Split by risk area, not by file count.
- Always include at least one general logic pass.
Phase 4: Expert consultation
Consult the matching Codex subagents registered in .codex/config.toml when relevant:
archon-expertfsdp-expertmegatron-expertalgorithm-expertlauncher-expert
If the Codex runtime supports parallel subagent execution, run independent review passes in parallel. Otherwise, execute them serially.
Phase 5: Final review
Produce findings first, ordered by severity:
CRITICALHIGHMEDIUMLOW
For every finding, include:
- file path
- line number when available
- why it is a bug, regression, or risk
- concrete fix direction
What to Ignore
- Pure style nits with no correctness impact
- Issues outside the changed scope unless the PR makes them worse
- Failures that standard linters or formatters would already catch
- Speculative concerns with no concrete trigger in the diff
Output Shape
Use this structure:
CHANGE_ANALYSIS_REPORT:
- detected_domains: [...]
- detected_signals: [...]
- risk_level: ...
- affected_files: [...]
- related_frameworks: [...]
- identified_risks: [...]
Findings
1. [severity] Title — path:line
- Problem: ...
- Fix: ...
Open Questions
- ...
Residual Risk
- ...