review-pr
Skill2 starsChanged 21 days agoMITView on GitHub
Review a PR, branch or diff for correctness, regressions, repository invariants and whether it does what its ticket asked.
185 other projects use a version of this.
Adopted by
Most recently taken up by
- data-privacy-stack/presidiotheir own version, first seen Nov 9, 2026
- pgmpy/pgmpytheir own version, first seen Nov 9, 2026
- enes-alatas/spooltheir own version, first seen Nov 8, 2026
- microsoft/presidiotheir own version, first seen Nov 8, 2026
- domengabrovsek/agent-configtheir own version, first seen Nov 8, 2026
- domengabrovsek/claudetheir own version, first seen Nov 8, 2026
Used with
Projects with it also use diagnose-ci-failures, docs-loop 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.
zerx-labSkilldiagnose-ci-failures
Diagnose CI failures for a PR using the GitHub CLI, extract error logs, and generate a plan to fix them. Use when the user asks to check CI status, pull CI issues, triage test failures, or investigate PR build failures.
Also in 3 projects that use this
GeiserXSkilldocs-loop
Use when the user asks to audit docs, check documentation for stale claims, or verify docs against the code.
Also in 3 projects that use this
GeiserXSkillfull-loop
Drive a repository to done with sergio-loop, then keep improving it with refine-loop at a descending theta. Use only when the user explicitly invokes full-loop.
Also in 3 projects that use this
n24q02mSkillreview-delta
Review only changes since last commit using impact analysis. Token-efficient delta review with automatic blast-radius detection.
Also in 3 projects that use this
n24q02mSkillbuild-graph
Build or update the code review knowledge graph. Run this first to initialize, or let hooks keep it updated automatically.
Also in 3 projects that use this
- +7 more from GeiserX
Other versions185 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 185
- denoland/deno★ 109ksame name
- ToolJet/ToolJet★ 41ksame name
- remix-run/remix★ 33ksame name
- tirth8205/code-review-graph★ 33ksame name
- alpinejs/alpine★ 32ksame name
- nrwl/nx★ 29ksame name
- PrefectHQ/fastmcp★ 28ksame name
- jlowin/fastmcp★ 28ksame name
- livewire/livewire★ 24ksame name
- microsoft/fluentui★ 20ksame name
175 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 repository10 other files it gives its agents.
- cards-readmeSkill
- cleanupSkill
- deepsearchSkill
- engineer-mindsetSkill
- grill-meSkill
- investigateSkill
- layoutSkill
- presentSkill
- sentry-cliSkill
- toolchainSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 9 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 178 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Read the applicable repository instructions and the nearest AGENTS.md or CLAUDE.md.
- Distinctive: line 17
Read the configured checks before running commands.
- Distinctive: line 18
Read the diff, then expand to callers, tests, schemas, configuration, and failure paths only where the changed behavior crosses those …
- Distinctive: line 38
Run the Spec axis in its own subagent when the harness has one, otherwise as a separate pass under its own heading.
- Distinctive: line 46
When a PR adds a defensive mechanism—validation, retry, cache, secret storage, a new setting, or a limit—ask what specific failure it …
- Distinctive: line 69
Leave formatter, linter, type-checker and test failures to their tools.
- Distinctive: line 86
Put summaries after the findings and state what could not be verified.
- Distinctive: line 96
When the diff adds or reshapes a class, hierarchy or Pydantic model, check it against the object design smells and report hits at …
- Distinctive: line 98
Only when responding to findings on a PR you wrote, read responding to review.
“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 PR
Review the actual behavior and connected code. This is the one review workflow for the diff.
Establish the review boundary
- Read the applicable repository instructions and the nearest
AGENTS.mdorCLAUDE.md. - Inspect
git status; preserve unrelated user work. - Resolve the exact base and head. If either is inferred, label the inference. Confirm the base
resolves (
git rev-parse <base>) andgit diff <base>...<head>is non-empty before reading further or starting a subagent. - Read the configured checks before running commands. Run the narrowest relevant check first.
- Read the diff, then expand to callers, tests, schemas, configuration, and failure paths only where the changed behavior crosses those boundaries.
Two axes: Standards and Spec
The review answers two questions and reports them separately:
- Standards: does the change hold up against the concrete failures and repository invariants below? This is the core of this skill.
- Spec: does the change do what its originating ticket asked?
Code can pass one and fail the other: every standard followed while building the wrong thing, or exactly the ticket built while breaking an invariant. One merged list lets either axis hide the other.
Find the spec in this order: a ticket key or issue reference in the branch name or commit messages
(PROJ-123, #45, Closes #45), fetched with the tracker the session has (Jira MCP,
gh issue view); a path or link the user passed; a spec under docs/ or specs/ matching the
branch or feature. With none found, run Standards anyway and report "Spec: no spec found", with one
line offering to run that axis once the user names the ticket.
Run the Spec axis in its own subagent when the harness has one, otherwise as a separate pass under its own heading. Give it the diff command, the commit list and the spec text, with this brief: "Report (a) requirements missing or partial, (b) behaviour the spec did not ask for, (c) requirements that look implemented but are implemented wrong. Quote the spec line and the diff hunk for each. Under 400 words."
Ask the root question
When a PR adds a defensive mechanism—validation, retry, cache, secret storage, a new setting, or a limit—ask what specific failure it prevents and whether that failure exists here. Extra machinery without a matching failure mode adds maintenance cost and can create a new defect.
Review for concrete failures
- Logic: unreachable branches, inverted conditions, wrong-type comparisons, missing cases, or behavior that contradicts a repository invariant.
- Data growth: nested scans, repeated parsing or I/O inside loops, and unbounded collections on paths whose input grows in production.
- External data: unchecked indexing, keys, casts, dates, shapes, dtypes, optional values, or assumptions about another service's response.
- Failure handling: swallowed exceptions, lost tracebacks, ambiguous logs, retries without a stop condition, and side effects that can break a critical path.
- Concurrency and resources: blocking I/O inside async code, per-request client creation, leaked sessions, missing rollback, or background work that outlives its dependencies.
- Language traps: mutable defaults, late-binding closures, shallow copies of nested state, and accidental eager materialization of large inputs.
- Placement and reuse: duplicated helpers, business logic in transport layers, new vocabulary for an existing domain concept, or a file that violates the repository's established layout.
- Compatibility: callers, tests, fixtures, migrations, serialized data, API consumers, flags, dashboards, and operational tooling that depend on the changed shape.
Leave formatter, linter, type-checker and test failures to their tools; raise one as a finding only when its consequence needs context. A passing check proves only the behavior it exercised.
Evidence standard
Report a finding only when you can name:
- the affected file and tight line range;
- the input or state that reaches the failure;
- the observable consequence; and
- why existing checks do not already rule it out.
A Spec finding instead quotes the spec line and the diff hunk it concerns.
Report under ## Standards and ## Spec, each ordered by severity within itself; ranking across the
axes is the merge the split exists to prevent. The summary gives the finding count and the worst
issue per axis. Hacks and silent fallbacks are blockers by definition but still need this evidence.
Put summaries after the findings and state what could not be verified. Edit, comment, approve or
merge only when the user asked for that mutation.
Project-specific extensions
The closest project-scoped review-pr skill may add repository invariants and domain boundaries.
Apply those extensions after this core; they stay in the project skill.
For hacks, silent fallbacks or comment policy, read team quality. Its checks apply in full: failure handling stays deliberate, visible, distinguishable and bounded.
When the diff adds or reshapes a class, hierarchy or Pydantic model, check it against the object design smells and report hits at maintainability severity.
Only when responding to findings on a PR you wrote, read responding to review.
Close
End with one sentence naming the reusable boundary the change exposed, or state that no new boundary was found.
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.

