pr-reviewer
SKILL.md
PR Reviewer
Critical PR review agent with three operational modes for flexible review workflows.
Modes of Operation
Mode 1: Local Report (Default)
Generate a pr-review-report.md file in the repository root.
Trigger: User asks to review a PR without specifying comment or fix mode.
Report structure:
# PR Review Report
**PR**: #{number} - {title}
**Branch**: {source} → {target}
**Reviewed**: {YYYY-MM-DD HH:MM}
## Summary
{Brief overview of changes and overall assessment}
## Critical Issues 🔴
{Issues that could cause crashes, data loss, security vulnerabilities, memory leaks}
## Medium Issues 🟡
{Logic errors, missing edge cases, performance concerns, poor patterns}
## Nitpicks 🟢
{Style, naming, minor improvements, documentation gaps}
## Recommendations
{Suggested improvements and next steps}
Mode 2: PR Comments
Leave feedback directly as inline review comments on the PR with severity prefixes.
Trigger: User says "comment on PR", "leave PR feedback", or "review with comments"
Comment format:
**[CRITICAL]** 🔴 {description}
{explanation and suggested fix}
**[MEDIUM]** 🟡 {description}
{explanation and suggested fix}
**[NITPICK]** 🟢 {description}
{optional suggestion}
Workflow:
- Analyze the PR diff
- Submit a formal review with inline comments using
gh apiwith JSON input - Group comments by severity
- Include a summary review with counts by severity
- Use
REQUEST_CHANGESevent for critical issues,COMMENTevent otherwise
How to Post Inline Review Comments:
# Submit a review with inline comments
@'
{
"body": "## PR Review Summary\n\n...",
"event": "COMMENT",
"comments": [
{
"path": "src/file.ts",
"line": 42,
"body": "**[MEDIUM]** 🟡 Description of issue..."
}
]
}
'@ | gh api repos/{owner}/{repo}/pulls/{pr}/reviews --input -
Key points:
- Use
line(integer) for the line number in the diff - Use
pathfor the file path relative to repo root - Use
event:"COMMENT"for feedback,"REQUEST_CHANGES"for blocking issues,"APPROVE"when ready
Mode 3: Fix Mode
Actively resolve all PR comments until every thread is marked outdated or resolved.
Trigger: User says "fix PR comments", "address feedback", or "resolve PR issues"
Each comment MUST be addressed by one of these outcomes:
- Code fix → The fix outdates the comment naturally when the underlying code changes
- Reply with justification → Explain why the comment won't be addressed
Workflow:
- Fetch all PR comments:
gh api repos/{owner}/{repo}/pulls/{pr}/comments - Fetch review comments:
gh api repos/{owner}/{repo}/pulls/{pr}/reviews - Build a checklist of all unresolved comments
- For each comment, investigate thoroughly
- If code fix needed: make the fix, commit, push
- If no code fix needed: reply explaining why
- Loop until all comments are either outdated or have substantive replies
GitHub CLI commands:
# List review threads with status
gh api graphql -f query='query {
repository(owner: "{owner}", name: "{repo}") {
pullRequest(number: {pr}) {
reviewThreads(first: 50) {
nodes {
id
isResolved
isOutdated
path
line
comments(first: 1) { nodes { body } }
}
}
}
}
}'
# Reply to a review thread
gh api graphql -f query='mutation {
addPullRequestReviewThreadReply(input: {
pullRequestReviewThreadId: "{thread_id}",
body: "Addressed in commit {sha}."
}) { comment { id } }
}'
Severity Classification
| Level | Emoji | Criteria | Examples |
|---|---|---|---|
| Critical | 🔴 | Crashes, security holes, data loss, memory leaks | Null deref, SQL injection, unbounded growth |
| Medium | 🟡 | Logic bugs, missing edge cases, perf issues | Off-by-one, missing validation, N+1 queries |
| Nitpick | 🟢 | Style, naming, minor improvements | Typos, verbose code, missing docs |
Anti-Patterns to Flag
- Unhandled exceptions → Critical
- Missing input validation → Medium/Critical
- SQL/command injection → Critical
- Memory leaks, unbounded caches → Critical
- Missing null checks → Medium
- Inconsistent naming → Nitpick
- Dead code, unused imports → Nitpick
- Missing tests → Medium
- Breaking changes without migration → Critical
Review Workflow
- Fetch PR Details - Get diff, files changed, existing comments
- Understand Context - Read related code, understand the feature/fix intent
- Research - Verify understanding of packages/dependencies
- Analyze - Check each file systematically, categorize findings by severity
- Output - Execute the appropriate mode (report/comment/fix)
- Validate - Ensure all findings are documented or addressed
Weekly Installs
3
Repository
hemsoft/public-skillsGitHub Stars
1
First Seen
Feb 3, 2026
Security Audits
Installed on
opencode2
claude-code2
codex2
cursor2
mcpjam1
gemini-cli1