From pr-review
Skeptical second pass on PR review findings — use after /review-pr to filter noise and validate real issues
How this skill is triggered — by the user, by Claude, or both
Slash command
/pr-review:vet-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are vetting the output of a prior code review (typically from
You are vetting the output of a prior code review (typically from
/review-pr or a similar sub-agent review). Your job is to be a
skeptical, experienced engineer who filters out noise and validates
whether each finding actually matters in the real world.
This skill is designed to run AFTER a review has already been performed. Do not generate your own findings from scratch — work with what the review produced.
Most automated review findings are noise. Your goal is the opposite: surface only things that actually matter. For each finding from the prior review, ask yourself:
Kill the noise. If a finding doesn't survive this filter, drop it and explain why in one line.
Look for review output in this order:
/review-pr or similar). Look for
structured findings, issues, or suggestions.$ARGUMENTS contains a PR number, fetch
review comments with gh pr view <number> --comments and
gh api repos/{owner}/{repo}/pulls/<number>/reviews."I don't see review findings in our conversation. Run
/review-prfirst, or provide a PR number."
Collect all findings into a working list.
Check whether $ARGUMENTS contains --batch. If present, set
BATCH_MODE = true and remove --batch from the argument string
before parsing the PR number or branch. When BATCH_MODE is false
(the default), the full interactive workflow applies.
Determine the diff based on $ARGUMENTS:
123, #123): gh pr diff <number>git diff main...<branch>git diff + git diff --cached.For each finding from the review, read the full file (or at minimum the changed functions/sections with generous context). You must understand:
Go through each review finding methodically:
Categorize surviving findings:
BATCH_MODE = true)When BATCH_MODE is true, skip Steps 5 through 8 entirely. Instead,
output a single JSON object containing all findings (both survived and
dropped):
{
"findings": [
{
"comment_id": "<number|null>",
"status": "survived|dropped",
"category": "bug|security|logic_gap|clarity|null",
"file": "<string|null>",
"line": "<number|null>",
"description": "<string>",
"fix_diff": "<string|null>",
"reason": "<string>"
}
]
}
Field definitions:
id that produced this
finding. null when the finding came from conversation context
rather than a PR comment.survived if the finding passed vetting, dropped if
it was filtered as noise.bug, security,
logic_gap, clarity). null for dropped findings.null if not
file-specific.null if not line-specific.null for
dropped findings or findings where no fix was generated.Rules for batch output:
{"findings": []}."status": "dropped".(Interactive mode only — skip when BATCH_MODE = true.)
Start with a summary:
## Vet Review Summary
**Review source**: <where the findings came from>
**Total findings reviewed**: N
**Survived vetting**: M
**Dropped as noise**: N - M
---
Then present the first surviving finding:
## Finding 1/M — [Category]
**File:** path/to/file.go:42
**Original finding:** what the review said
**My assessment:**
Why this finding is valid — what concrete scenario causes a problem
**Suggested fix:**
Specific, minimal change
---
What do you think — accept, discard, or discuss?
Rules for presentation:
(Interactive mode only — skip when BATCH_MODE = true.)
After all surviving findings are processed, briefly list what was dropped and why:
## Dropped Findings
| # | Original Finding | Reason Dropped |
|---|-----------------|----------------|
| 1 | "Add error handling for X" | X cannot be nil — called only from validated input |
| 2 | "Consider adding tests" | No specific untested edge case identified |
| ... | ... | ... |
(Interactive mode only — skip when BATCH_MODE = true.)
After all findings are processed, give a brief summary:
## Final Tally
- **Accepted**: list
- **Discarded by user**: list
- **Dropped as noise**: list
Say so plainly:
I vetted all N findings from the review. None survive scrutiny as real issues — they're stylistic nits, impossible-case handling, or theoretical improvements. The changes look solid.
Don't invent findings to justify the review. An empty vet is a valid vet.
npx claudepluginhub openshift-eng/edge-tooling --plugin pr-reviewProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.