| 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
--quick to 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
gh for PR metadata and git diff retrieval.
Reference Files
references/review-pr-domains-and-signals.md
references/review-pr-templates.md
Workflow
Phase 1: Resolve PR context
- Use
gh pr view to 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, or LOW.
- Build a
CHANGE_ANALYSIS_REPORT that 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-expert
fsdp-expert
megatron-expert
algorithm-expert
launcher-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:
CRITICAL
HIGH
MEDIUM
LOW
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
- ...