review-diff
Skill17 starsChanged 14 days agoMITView on GitHub
Reviews a diff for defects with evidence — logic defects first, then quality, with three verdict buckets. Use for /haechi:review-diff, when the main session reviews its own or a subagent's change, or when the verifier runs.
19 other projects use a version of this.
Adopted by
Most recently taken up by
- anorth/agent-skillstheir own version, first seen Nov 3, 2026
- Hy0sh/claude-skillstheir own version, first seen Nov 3, 2026
- tounsils/claude-code-skillstheir own version, first seen Oct 25, 2026
- nesnilnehc/ai-cortextheir own version, first seen Oct 25, 2026
- bbvch-ai/aihub-coretheir own version, first seen Oct 25, 2026
- matheusPavaneli/workbenchtheir own version, first seen Oct 20, 2026
Used with
Projects with it also use grilling.
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.
GoogleSkillgrilling
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
Also in 3 projects that use this
Other versions19 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 19
- faizkhairi/claude-code-blueprint★ 73same name
- huytd/skills★ 19same name
- bbvch-ai/aihub-core★ 16same name
- nesnilnehc/ai-cortex★ 8same name
- tardigrde/agent-skill-eval★ 4same name
- Hy0sh/claude-skills★ 2same name
- Pradnyeshp/Claude-Skills★ 2same name
- anorth/agent-skills★ 1same name
- erikediner/skills★ 1same name
- giacomo-ciro/skills★ 1same name
9 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 repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- aboutSkill
- answerSkill
- attack-testsSkill
- audit-experimentSkill
- bugSkill
- ci-watchSkill
- commitSkill
- contextSkill
- delegateSkill
- documentSkill
- evalSkill
- featureSkill
- impact-mapSkill
- implement-workSkill
- mrSkill
- mutation-checkSkill
- perfSkill
- previewSkill
- refactorSkill
- requestSkill
- reviewSkill
- run-experimentSkill
- screen-designSkill
- screen-paritySkill
- setupSkill
- sibling-path-mapSkill
- specSkill
- sweepSkill
- test-hardeningSkill
- verify-workSkill
- work-graphSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 19 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Mechanical results first: Use the repo's verify output the orchestrator gave you.
- Very specific: line 23
Consumers outside the diff: Run node <tools>/impact-map.mjs --base <base> and read the consumers of every changed export or signature.
- Distinctive: line 26
Code quality: Read the shared code quality rubric.
- Distinctive: line 44
Verify before claiming: "unused" means you searched the consumers.
- Distinctive: line 46
Before suggesting to move state or code, read its tests.
“Common” is measured: kept by at least 6 in 10 of the 19 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 a diff
Apply the common work contract within this task’s scope. It owns applicable pre-action evidence, product implementation obligations and completion requirements; this skill supplies the method. Current common guidance already delivered or read may be reused.
The haechi tools folder is in the task's "[haechi] Repo facts" block, or two levels above this skill's folder. Run tools with node.
Establish expected behavior
Before reading the changed code, changed tests, implementation explanation or verification results, read the original request, agreed amendments and established behavior contracts. Note the observable success and failure conditions and behavior that must stay unchanged, with their sources. Keep this brief in the existing review notes; no separate document or agent is required.
For example, if the request says to export all matching products, check that matching products on later pages are included. A report saying that the visible page exports correctly does not narrow that requirement. After establishing the conditions, read the implementation and its evidence and check both against them. Add a missing condition when its source supports it; do not change an expectation just to match the code.
An implementer's summary is a claim to check, not a substitute for the request. If a requirement source is unavailable or ambiguous, identify the gap and continue checks supported by known contracts; do not invent an expectation. If you already saw implementation details, disclose that prior exposure when reporting verification limits rather than claiming an independent first reading. This ordering is an instruction, not enforced information isolation.
Order
- Mechanical results first. Use the repo's verify output the orchestrator gave you; run the verify command once yourself only if none was given. Every failure it prints is a finding — quote it. Do not redo by hand what lint or the verifier already checks.
- Consumers outside the diff. Run
node <tools>/impact-map.mjs --base <base>and read the consumers of every changed export or signature. - Logic defects (the main job). For each changed behavior, find an input or state where it gives a wrong result. Look first at the defects agents actually produce: a rule on one path and not its sibling (
node <tools>/sibling-path-map.mjs --base <base>lists candidates), a final-looking empty state while data is still loading, one field used as both lookup key and identity, null ids matching each other, out-of-order or failed responses, leftovers after a move or split, another area's internal file imported instead of shared state, the same fact held in two places. - Where grep stops. When safety depends on code outside the repo or on timing — a library's behavior, the pinned version or a local patch, microtask or unmount order, a wire format another service reads — read that source or run it. Put the one fact the change is safe because of in your report, with how far you proved it.
- Code quality. Read the shared code quality rubric. Apply it to the changed code and inspect surrounding dependencies and consumers as needed to judge its effects. Keep unrelated existing improvements separate from findings about this change.
For UI changes, apply the rubric's component reuse check and inspect both behavior-test evidence and the final rendered comparison against the selected design reference. Keep those verification results separate; missing visual evidence leaves that outcome unverified even when tests pass.
To raise a claim's evidence, write a repro script in a temporary folder outside the repository and run it. Never edit, create or delete files in the repository.
Three buckets
- Defect — needs one of: a failing path traced step by step to a wrong result; a rule present on one path and missing on its sibling, both locations quoted; a contract and the code disagreeing, both sides quoted; execution output. Give
file:lineand the scenario (input or state → wrong result). - Open question — suspicious but without that evidence, or behavior the spec does not define.
- Report only — taste and unrelated existing issues. A defect outside the diff or owned files still blocks a required outcome when it breaks the requested result; report the boundary without extending edit permission.
"No defects" is a valid result.
Keep findings separate from verification status. For each required outcome in the reviewed scope, return passed, failed, unverified or needs decision, with the evidence reference and checked version, or the reason evidence is insufficient or the expectation unresolved. Include required outcomes with no check; absence of a finding or omitted result never establishes a pass. Keep this in the existing report, without a mandatory table or separate document. State the inspected scope and limits; a completed review does not certify unchecked behavior. The main uses these results to decide overall completion.
Discipline
- Verify before claiming: "unused" means you searched the consumers; "duplicate" means you quote both; "already exists" means you opened it.
- Report each defect once, under the most specific heading. The same defect in several places: give the count and every location.
- Before suggesting to move state or code, read its tests; if a test pins the current design, say so instead.
Report
State the conclusion and put the most severe defects first. Each finding needs an example input or state, the wrong result, affected sibling locations and file:line. Distinguish open questions and report-only items, and explain the fact the change's safety depends on with its proof level. User-facing labels and tables are optional. For verifier-to-orchestrator reports, preserve the final log protocol: verifier log · <task> · <logic lines> lines · contract: yes/no · defects: N · <tag: short description per defect, or "none">, tags logic · structure · excess · quality.
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.

