review-fix-loop
Skill2 starsChanged 21 days agoMITView on GitHub
Run an adversarial review after a phase of work, triage each finding against the source, plan the fixes, implement them, and verify the result. Use whenever the user asks for an adversarial or Codex review of a phase or commit range, says to "review and fix", "run the review loop", or wants findings checked, planned and implemented before moving on. Also use for follow-up keywords such as "re-review", "next phase review", "check the review findings", "fix the review findings". Not for ordinary single edits.
10 other projects use a version of this.
Adopted by
Most recently taken up by
- atomgunlk/skillstheir own version, first seen Nov 8, 2026
- TidalPaladin/skillstheir own version, first seen Nov 8, 2026
- sreejithraman/SreeStacktheir own version, first seen Oct 27, 2026
- letern1ty/claude-skillstheir own version, first seen Oct 25, 2026
- amrtawfik160/bb-orchestration-skillstheir own version, first seen Oct 13, 2026
- loganware05/captains-compass-cursortheir own version, first seen Oct 12, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- spacedriveapp/spacebot★ 2.4ksame name
- loganware05/captains-compass-cursor★ 2same name
- miketromba/skills★ 2same name
- ViaxCo/skills★ 2same name
- amrtawfik160/bb-orchestration-skills★ 1same name
- sreejithraman/SreeStack★ 1same name
- TidalPaladin/skills★ 1same name
- atomgunlk/skills★ 0same name
- doublepi123/skills★ 0same name
- letern1ty/claude-skills★ 0same name
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.
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 6 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
6
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 16
Do not review a moving target.
- Very specific: line 17
Create a scratch directory and keep it for the reviewer's TMPDIR.
- Distinctive: line 24
Check every finding against the source yourself before acting.
- Distinctive: line 29
Do not act on a finding because the reviewer ranked it highly, and do not drop one because it is inconvenient.
- Distinctive: line 52
Do not re-dispatch CI over an in-progress run on the same ref.
- Distinctive: line 55
Do not weaken a test to make it pass.
- Distinctive: line 58
If a reviewer or implementer fails, retry once with a narrower scope.
“Common” is measured: kept by at least 6 in 10 of the 8 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-fix loop
This skill is its own orchestrator for one workflow: review a phase, triage, plan, implement, verify. It is
deliberately narrow. It is not an entry point for other work, and it adds no gate on unrelated requests.
It composes three agents under .claude/agents/: adversarial-reviewer, fix-implementer, gate-verifier.
Execution mode: subagents, run sequentially (the roles do not need to talk to each other mid-task).
Phase 0: Intake
- Name the phase: repository or worktree path, the commit or range under review, and the contract it must satisfy (spec, acceptance row, docs).
- Do not review a moving target. If CI is running on the ref, wait; do not dispatch a new run over it.
- Create a scratch directory and keep it for the reviewer's
TMPDIR.
Phase 1: Review (adversarial-reviewer)
Spawn it read-only with the phase, the contract files, and the scratch directory. Require executed test counts; a review that ran nothing is recorded as static, and is never filed as an executed review.
Phase 2: Triage (you, not an agent)
Check every finding against the source yourself before acting. For each, record a disposition:
- Confirmed — reproduced or shown from the code; goes on the fix list.
- Rejected — the premise is wrong, or the proposed fix does not work. Record why (for example, a suggested reordering that the platform makes impossible). Rejection needs evidence, not a hunch.
- Deferred — real but out of scope; name where it will be tracked. Do not act on a finding because the reviewer ranked it highly, and do not drop one because it is inconvenient.
Phase 3: Plan the fixes
Turn the confirmed findings into a short ordered list: finding, file, intended change, the test that proves it (one that fails before the fix and passes after). Show the list to the user when a fix changes a lock, a contract, a public behavior, or anything the user said to retain.
Phase 4: Implement (fix-implementer)
Spawn it with the approved list. It edits, tests, refreshes any recorded hashes, and commits locally. It never pushes, dispatches CI, or writes outside the repository.
Phase 5: Verify (gate-verifier)
Spawn it with the commit. Local gates first. For CI evidence, read the log artifact, not the job status
(a tee pipe without pipefail reports success over failing tests). Evidence is bound to the commit SHA.
Phase 6: Record and hand off
Record the review, each disposition, the fixes, and the gate results in the project's coverage or status document, once, on the surface it belongs to. Then ask the user before any outward-facing step: push, CI dispatch, PR, merge, release.
Rules learned the hard way
- A review is evidence only for what it executed. Label static reviews as static.
- A passing job status proves nothing until you have read what it ran.
- Do not re-dispatch CI over an in-progress run on the same ref; it cancels the run.
- Scan a branch diff for secrets and personal data before the first push.
- A denied action is a stop. Report it and let the user decide; do not rephrase the same action.
- Do not weaken a test to make it pass. A test that was wrong gets a documented reason for the change.
Error handling
If a reviewer or implementer fails, retry once with a narrower scope; then proceed without it and note the omission. Never delete a conflicting finding; record it with its source and disposition.
Test scenarios
- Normal: a phase diff with two real findings and one wrong premise: two fixes land with failing-first tests, the third is recorded as rejected with its reason, gates pass.
- Reviewer cannot run tests: the report is recorded as static and the gap is carried into the next phase.
- Gate failure after a fix: the failing assertion is reported; the fix is revised, not the test weakened.
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.

