pr-review
Skill871 starsChanged 5 months agoMITView on GitHub
Review code changes or a pull request. Delegates to specialist agents (code quality, security, performance, silent failures, test quality, docs) in parallel.
195 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- static-web-server/static-web-servertheir own version, first seen Nov 9, 2026
- zerx-lab/FluxDowntheir own version, first seen Nov 9, 2026
- civitai/civitaitheir own version, first seen Nov 9, 2026
- harshitsinghbhandari/domain-expansiontheir own version, first seen Nov 8, 2026
- Azure/azure-sdk-toolstheir own version, first seen Nov 8, 2026
- databricks/clitheir own version, first seen Nov 8, 2026
Used with
Projects with it also use oss-pr, pr-automation and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CES-LtdSkilloss-pr
Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.
Also in 3 projects that use this
CES-LtdSkillpr-automation
PR Automation Orchestrator: poll open PRs, check CI, run review, fix, and merge eligible PRs. Use when: (1) Invoked by daemon via scripts/pr-automation.sh, (2) User says "/pr-automation".
Also in 3 projects that use this
jtenniswoodSkillexpert-reset
Reimagine this repository from first principles using the current product and user experience as the target. Use when the user says "/expert-reset", asks how the project should be rebuilt if starting again, wants bold architecture or component-structure recommendations, or wants a research-only reset plan unconstrained by current implementation details.
Also in 3 projects that use this
jtenniswoodSkillupdates
Summarize user-facing project updates from the last 7 days, ordered by importance and written as one-sentence "Feature: description" entries. Use when the user says "/updates", asks what changed recently, or wants a concise list of recent features, device support, fixes that users will notice, or other product value.
Also in 3 projects that use this
openchamberSkillclack-cli-patterns
Use when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, `--quiet`, or `--json` behavior.
Also in 3 projects that use this
openchamberSkilldrag-to-reorder
Use when implementing or modifying OpenChamber sortable or drag-to-reorder behavior, especially `@dnd-kit`, touch/mobile interactions, variable-width items, or wrapping layouts.
Also in 3 projects that use this
- +6 more from openchamber
Other versions195 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- zebbern/termstack★ 476% same
- krishnamallam/upbox★ 294% same
Wrote their own version · 193
- Significant-Gravitas/AutoGPT★ 188ksame name
- pytorch/pytorch★ 105ksame name
- rtk-ai/rtk★ 86ksame name
- saadeghi/daisyui★ 43ksame name
- rustfs/rustfs★ 36ksame name
- dotnet/maui★ 23ksame name
- NVIDIA/Megatron-LM★ 18ksame name
- MiniMax-AI/skills★ 14ksame name
- btriapitsyn/openchamber★ 13ksame name
- openchamber/openchamber★ 13ksame name
183 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- catchupSkill
- claude-mdSkill
- context-budgetSkill
- debug-fixSkill
- explainSkill
- fix-issueSkill
- onboardSkill
- refactorSkill
- setupdotclaudeSkill
- shipSkill
- specSkill
- tddSkill
- test-writerSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 4 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 178 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Check $ARGUMENTS for the word verbose.
- Very specific: line 24
When dispatching reviewers in Step 3, include the word verbose in each Task call's prompt only if the user asked for it.
- Distinctive: line 35
If there are no changes to review, say so and stop.
- Distinctive: line 41
When reviewing a PR, fetch and check:
- Distinctive: line 75
Ask every reviewer to attach a confidence score per finding — Step 4 uses them.
- Very specific: line 77
If only one reviewer applies (a pure-docs diff, for example), a single Task call is fine.
- Very specific: line 83
Use the terse template by default.
- Distinctive: line 112
If no findings, output a single line: "No issues found across [agents]."
“Common” is measured: kept by at least 6 in 10 of the 178 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Review code changes by delegating to specialist agents in parallel and synthesizing a unified report. Works with PRs, staged changes, or specific files.
Verbosity
Check $ARGUMENTS for the word verbose. Strip it from the argument string before parsing the rest.
- Default: terse output. Each finding is one line (
file:line: issue (fix: hint)). Synthesis report stays compact. verbose: full breakdown. Each finding gets the multi-field block (Severity, Confidence, etc.). Synthesis report uses the full template.
When dispatching reviewers in Step 3, include the word verbose in each Task call's prompt only if the user asked for it. Otherwise omit; the reviewers default to terse.
Step 1: Determine Scope
Parse $ARGUMENTS to determine what to review:
- PR number (e.g.,
123or#123): fetch withgh pr view $ARGUMENTS. This is the full PR review path (includes PR quality checks in Step 2). - No argument: try
gh pr viewto detect a PR for the current branch. If a PR exists, use it. If not, fall back togit diff --cached(staged), thengit diff(unstaged). staged: reviewgit diff --cached. If nothing staged, fall back togit diff.- File path: review that specific file's current state.
If there are no changes to review, say so and stop.
Step 2: PR Quality Check (PR path only)
Skip this step if reviewing staged changes or a file. Jump to Step 3.
When reviewing a PR, fetch and check:
- PR title, description/body, author, base branch, head branch
gh pr diff $NUMBERfor the full diffgh pr checks $NUMBERfor CI statusgh api repos/{owner}/{repo}/pulls/$NUMBER/commentsfor review comments
Review the PR itself before the code:
- Title: descriptive and under 72 chars?
- Description: explains the why? Includes a test plan? Flag if empty or template-only.
- Size: count changed files and lines. Flag if >500 lines changed (suggest splitting).
- Base branch: targeting the right branch?
- CI status: passing, failing, or pending? If failing, note which checks. Fix CI first.
- Unresolved comments: list open review threads with file:line and comment text.
Step 3: Code Review (fan out to specialists in parallel)
Decide which reviewers apply by reading the diff content, not just file paths:
| Reviewer | When to include |
code-reviewer | Always. Universal correctness pass. |
silent-failure-hunter | Any diff touching error handling, catch blocks, fallbacks, retries, or async flows. In practice: almost every code diff. Skip only for pure-docs, config-only, or static-asset diffs. |
pr-test-analyzer | Tests were added or changed, OR behavior changed without any test change (that absence is itself the finding). Skip for pure-docs or config diffs. |
security-reviewer | Auth, input handling, queries, tokens, session management, file path construction, SQL or HTML or template strings. |
performance-reviewer | Endpoints, DB queries, loops over collections, caching, connection management. Skip for pure-docs, config-only, or static-asset diffs. |
doc-reviewer | .md changes, significant docstring or JSDoc changes, API docs. |
Dispatch all applicable reviewers in PARALLEL. Send one message that contains one Agent/Task tool call per applicable reviewer. Do NOT invoke them sequentially. Parallel dispatch cuts wall-clock time from N times the slowest review to roughly the slowest single review, with no extra token cost. Each call looks like:
Agent(subagent_type: "code-reviewer",
prompt: "Review <scope>. <verbose?> Output one confidence score (0-100) per finding.")Ask every reviewer to attach a confidence score per finding — Step 4 uses them.
If only one reviewer applies (a pure-docs diff, for example), a single Task call is fine. Skip the parallel pattern when there's nothing to parallelize.
While the reviewers run, you can read the PR description, recent CI logs, or open comments to enrich the synthesis in Step 4. Don't wait idly.
Step 4: Synthesize Report
Use the terse template by default. Use the verbose template only if the user passed verbose.
Default (terse)
For PR reviews:
## PR Review: #[number]: [title]
[base] -> [head]. [N files, +X/-Y lines]. CI: [pass | fail: <checks>]. PR quality: [ok | issues: <list>].
### Findings ([N])
- [agent] file:line: issue (fix: hint)
- [agent] file:line: issue (fix: hint)
### Verdict
[Ready to merge | Needs changes: <one-line blocker>]For non-PR reviews (staged or file):
## Review ([scope])
[N findings from <agents>]:
- [agent] file:line: issue (fix: hint)
- [agent] file:line: issue (fix: hint)If no findings, output a single line: "No issues found across [agents]."
Verbose (when the user passed verbose)
For PR reviews:
## PR Review: #[number]: [title]
**Author**: [author] | **Base**: [base] -> **Head**: [head] | **Changed**: [N files, +X/-Y lines]
### PR Quality
- Title: [ok / needs improvement]
- Description: [ok / missing test plan / empty]
- Size: [ok / large, consider splitting]
- CI: [passing / failing, list failures]
- Unresolved comments: [none / list]
### Code Review
#### Critical / High
- [Agent] File:Line: issue
#### Medium
- [Agent] File:Line: issue
#### Low
- [Agent] File:Line: issue
### Verdict
[Ready to merge / Needs changes, summarize blockers]For non-PR reviews (staged or file):
## Review Summary
**Scope**: [staged changes / file path]
**Agents run**: [list]
### Critical / High
- [Agent] File:Line: issue
### Medium / Low
- [Agent] File:Line: issue
### Passed
- [areas with no issues]Merging, confidence, and deconfliction (both templates)
- Deduplicate findings that overlap between agents; attribute the merged finding to the agent with the most specific evidence.
- Confidence buckets: 90-100 → report as findings to act on; 80-89 → report under a
Considersubheading; anything an agent shipped below 80 shouldn't exist — drop it. - Deconfliction: when two agents flag the same lines with different fixes, prefer the more specific domain — security-reviewer over code-reviewer on input handling; performance-reviewer over code-reviewer on complexity if the path is hot, code-reviewer otherwise; silent-failure-hunter over code-reviewer on error handling. Never present two conflicting fixes for the same lines without saying which to apply.
- Attribute each finding to the agent that found it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

