reviewing-a-change
Skill98 starsChanged 2 months agoMITView on GitHub
Review someone else's change the way a senior reviewer does — read the whole change against its stated intent, verify claims by running rather than reading, give every finding a concrete failure scenario, rank by consequence, separate blocking from optional, and state what you did not check. Use when asked to review a PR, diff, branch, commit, or patch, "what do you think of this change", or before approving or merging. Not for reviewing your own diff before done (see workmanship).
In this repository38 other files it gives its agents.
- ambiguity-commitSkill
- api-surface-careSkill
- calibrated-recommendationSkill
- codebase-orientationSkill
- concurrency-reasoningSkill
- config-and-flagsSkill
- context-checkpointSkill
- cross-platform-careSkill
- data-loss-guardSkill
- data-migration-safetySkill
- dependency-changesSkill
- docs-as-contractSkill
- edge-case-sweepSkill
- environment-firstSkill
- error-message-qualitySkill
- escalate-vs-decideSkill
- estimation-and-scopingSkill
- explain-at-the-right-levelSkill
- generalize-the-correctionSkill
- git-hygieneSkill
- incident-diagnosisSkill
- leave-no-messSkill
- llm-app-codeSkill
- numerical-careSkill
- performance-investigationSkill
- perf-sanitySkill
- question-vs-taskSkill
- resource-lifecycleSkill
- root-cause-debuggingSkill
- security-reflexesSkill
- stop-thrashingSkill
- subagent-fanoutSkill
- surgical-refactoringSkill
- task-decompositionSkill
- test-designSkill
- untrusted-content-guardSkill
- verify-ui-visuallySkill
- workmanshipSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
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 16
Check out the branch and open the files, not only the diff view: a hunk is right or wrong in the context of the function around it.
- Distinctive: line 19
Read the tests as carefully as the code.
- Distinctive: line 38
Ask questions you genuinely cannot answer.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
reviewing-a-change
Weak review reads the diff top to bottom, comments on naming and formatting, and ends with "LGTM, a few nits". Strong review starts from what the change claims to do, checks the claim against the code and the tests by running things, and delivers findings the author can act on, in the order that matters.
1. Establish what the change claims
Read the PR description, linked issue, and commit messages before the diff. Write one line: "this change claims to X". Every finding either supports or attacks that line. No description? Derive the intent from the diff and put it at the top of the review as an assumption the author can correct.
2. Read the whole change, not the hunks
- Check out the branch and open the files, not only the diff view: a hunk is right or wrong in the context of the function around it.
- For every changed function, list its callers (
grep -rn). A change that is fine locally can break a caller relying on the old behaviour. - What is missing is a finding too: a new endpoint with no auth check, a new field with no migration, a renamed symbol with a stale doc, config, or fixture reference, a behaviour change with no test.
- Read the tests as carefully as the code. Would each new test fail with the fix reverted? Do assertions check output, or only "no exception"? Does a mock echo the expected value back (see test-design)?
3. Verify, don't infer
Every claim in the description that can be checked in under a minute gets checked: run the suite on the branch, run the new test alone, hit the endpoint, run the script. "Tests pass" in a description is a claim; the command you ran and its summary line are evidence. Where you cannot run something, say which claims you took on trust.
4. Hunt with the checklists
Walk the diff once per lens that applies and record hits: trust boundaries (security-reflexes), edge cases (edge-case-sweep), races (concurrency-reasoning), numbers (numerical-care), complexity classes (perf-sanity), contract changes (api-surface-care), stored-data shape (data-migration-safety). A finding needs a failure scenario — "input X in state Y produces Z" — or it is a hunch. Hunches are allowed, labelled as hunches.
5. Rank and separate
Order by consequence: data loss and security, wrong output, crashes, then maintainability. Tag each finding blocking (must change before merge), should (fix now or file it), or nit (author's call). Style a linter or formatter already enforces is not a finding; the tool will say it. Taste that matches repo precedent is not a finding either.
6. Write for the author
- Each finding:
file:line, what is wrong, the scenario, and the suggested fix or the one question that would resolve it. Suggest, don't rewrite: a review is not a competing implementation. - Lead with the verdict — approve / approve with changes / request changes — and a one-sentence reason. Then blocking findings, then the rest.
- Name what was good only when it is specific and non-obvious (an edge case handled, a clean deprecation path). Skip generic praise.
- Ask questions you genuinely cannot answer; never ask one a grep would settle.
7. State the coverage
Close with what you checked and how (ran pytest tests/orders: 41 passed; exercised POST /orders with an empty body; read all 6 callers of parse_row) and what you did not (UI not rendered, migration not run against data). A review with no stated scope cannot be trusted or built on.
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.

