| name | review-pr |
| description | Review a PR or branch diff using the knowledge graph for full structural context. Outputs a structured review with blast-radius analysis. |
| argument-hint | [PR number or branch name] |
Review PR
Perform a comprehensive code review of a pull request or branch diff using the knowledge graph.
Token optimization: Before starting, call help(topic="graph") for the full actions reference. Never include full files unless explicitly asked.
Steps
-
Identify the changes for the PR:
- If a PR number or branch is provided, use
git diff main...<branch> to get changed files
- Otherwise auto-detect from the current branch vs main/master
-
Update the graph by calling graph(action="build", base="main") to ensure the graph reflects the current state.
-
Get the full review context by calling review(base="main"):
- This uses
main (or the specified base branch) as the diff base
- Returns all changed files across all commits in the PR
-
Analyze impact by calling query(action="impact", base="main"):
- Review the blast radius across the entire PR
- Identify high-risk areas (widely depended-upon code)
-
Deep-dive each changed file:
- Read the full source of files with significant changes
- Use
query(action="query", pattern="callers_of", target=<func>) for high-risk functions
- Use
query(action="query", pattern="tests_for", target=<func>) to verify test coverage
- Check for breaking changes in public APIs
-
Generate structured review output:
## PR Review: <title>
### Summary
<1-3 sentence overview>
### Risk Assessment
- **Overall risk**: Low / Medium / High
- **Blast radius**: X files, Y functions impacted
- **Test coverage**: N changed functions covered / M total
### File-by-File Review
#### <file_path>
- Changes: <description>
- Impact: <who depends on this>
- Issues: <bugs, style, concerns>
### Missing Tests
- <function_name> in <file> - no test coverage found
### Recommendations
1. <actionable suggestion>
2. <actionable suggestion>
Tips
- For large PRs, focus on the highest-impact files first (most dependents)
- Use
query(action="search", search_query=<term>) to find related code the PR might have missed
- Check if renamed/moved functions have updated all callers