review-loop
Skill1 starsChanged 42 days agoMITView on GitHub
Autonomous convergence-managed codex review loop over the changes made in the current conversation (uncommitted or committed this session) — the implementation-loop's review machinery alone: per-repo session diff → codex ladder → fixes → discipline sweep → capped verification → report. Optional low|medium|high intensity profile (default high). Invoke via /review-loop.
54 other projects use a version of this.
Adopted by
Most recently taken up by
- revisit-studies/studytheir own version, first seen Nov 9, 2026
- Mmbugraaslan/motion-plustheir own version, first seen Nov 8, 2026
- zane-tv/holdframetheir own version, first seen Nov 8, 2026
- seankoji-com/.agentstheir own version, first seen Nov 8, 2026
- BK202503/open-claude-alltheir own version, first seen Nov 8, 2026
- Latand/delegatustheir own version, first seen Nov 8, 2026
Used with
Projects with it also use motion-design, polish 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.
soilmassSkillmotion-design
Create animations and motion graphics using industry standards. Use when asked to animate UI elements, create video content, implement transitions, or build motion systems. Implements W3C Design Tokens, Material Design 3 baseline, and Lottie specification compliance.
Also in 5 projects that use this
HK-hubSkillpolish
Performs a final quality pass fixing alignment, spacing, consistency, and micro-detail issues before shipping. Use when the user mentions polish, finishing touches, pre-launch review, something looks off, or wants to go from good to great.
Also in 3 projects that use this
GoogleSkillto-spec
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
Also in 4 projects that use this
GoogleSkillimprove-codebase-architecture
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
Also in 5 projects that use this
AWSSkillship
Finalize dev work on an issue branch — update docs, push, and open a PR.
Also in 4 projects that use this
MicrosoftSkillcouncil
Convene the persona panel — six orthogonal review lenses — on a target. Cold independent fan-out, debate-to-consensus, synthesized verdict with recorded dissent and a roster manifest.
Also in 3 projects that use this
- +4 more from google
Other versions54 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 54
- didi/mpx★ 4ksame name
- blockscout/frontend★ 310same name
- microsoft/bocpy★ 184same name
- 9thLevelSoftware/legion★ 76same name
- microsoft/Trieste★ 53same name
- revisit-studies/study★ 46same name
- timharris707/skills★ 44same name
- Latand/delegatus★ 37same name
- spxrogers/agentsync★ 35same name
- mathruffian-dot/claude-motion-explainer★ 30same name
44 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 repositoryOne other file it gives its agents.
- implementation-loopSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 47 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
Fix / audit subagents: run via the Agent tool as subagent_type: "loop-worker" (Opus 5.5 at high effort, from …
- Very specific: line 80
Run each repo's relevant quality gates (CLAUDE.md / Makefile / pyproject.toml / package.json) once so the loop starts from green.
- Very specific: line 82
Write a one-paragraph GOAL statement of what the session's changes are for.
- Distinctive: line 111
Phase transition: after 2 consecutive rounds with no NEW-CLASS finding, stop the ladder even mid-tier (this overrides tier progression — a …
- Distinctive: line 133
If the ladder keeps surfacing the same area, the underlying design may be wrong — fix upstream rather than patching symptoms.
“Common” is measured: kept by at least 6 in 10 of the 47 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 Loop
Take the changes produced in this conversation — staged, unstaged and/or
committed this session — and harden them through the same convergence-managed
codex ladder as implementation-loop Phase 4. No planning, no implementation:
the work exists; make it survive an adversarial reviewer, fixing what's real.
Runs fully autonomously: no approval gates, no mid-run questions. Narrate
progress, keep a TaskCreate list current (one task per phase), never block
on input. The user sees the final report.
Roles and models
- You orchestrate and are the arbiter: codex findings and audit reports are advice; every one is verified against the code before it is fixed, and every non-fix gets a written reason in the ledger. Nothing is silently ignored.
- Fix / audit subagents run via the
Agenttool assubagent_type: "loop-worker"(Opus 5.5 athigheffort, from~/.claude/agents/loop-worker.md; if that type is missing, usegeneral-purposewithmodel: "opus"); honor a user-suppliedSUBAGENT_MODEL=...as themodeloverride. - The codex reviewer uses the helper's default model (
CODEX_MODEL; defaultgpt-6.1-sol), atmediumeffort until clean, thenxhigh.
Intensity profiles (optional argument — default high)
Profiles scale the machinery, never the models (a cheaper reviewer makes noisier findings that waste orchestrator judgment).
| Profile | Phase-1 ladder | Phase 2 (sweep) | Phase 3 (verification) |
high (default) | medium tier → xhigh tier | yes* | up to 5 rounds at xhigh |
medium | medium tier only | yes* | up to 2 rounds at xhigh |
low | one medium round + fixes | skip | 1 round at medium |
* Skippable only when the whole ladder produced zero valid findings; one valid finding means its analogous sites were never audited: sweep.
Shared machinery (from implementation-loop — do not duplicate)
~/.claude/skills/implementation-loop/codex-review.sh <prompt-file> [effort] [repo ...]One codex pass on the host under codex's read-only sandbox. Pass every repo (first = cwd, rest--add-dired); reference repos, diffs and the ledger by absolute path in the prompt. stdout is the full session stream —teeit for humans, never parse it.$CODEX_ANSWER_FILEholds codex's final answer only, as JSON{"findings":[{severity,location,problem,fix}...]}— an empty list is the convergence signal; judge every round from this file alone and give each round its own path. Non-zero exit (auth, network, timeout = 124) is a failed round, not a finding: retry once, then stop and report.~/.claude/skills/implementation-loop/collect-diff.sh <repo-path>— the working-tree diff (tracked vs HEAD + untracked), binary-safe, read-only.
Phase 0 — Scope: what THIS conversation changed
SCRATCH="$(mktemp -d -t rloop-XXXXXX)".- List every repo touched in this conversation (you were there — use the
conversation, not guesswork) as absolute paths in
REPOS=(...), each with a unique slug (basename, suffixed on collision). - Per repo, determine
BASE= HEAD before this conversation's first commit (conversation knowledge is the authority; theCo-Authored-By: Claudetrailer corroborates). If nothing was committed,BASE= HEAD. A repo with neither committed nor uncommitted session changes is dropped fromREPOS. - Out-of-scope guard: dirty state that predates this conversation is out of scope — say so in every prompt and keep it out of the report. If pre-session and session edits overlap in the same hunks, review the combined hunk and flag the limitation in the prompt and the report.
- Run each repo's relevant quality gates (
CLAUDE.md/Makefile/pyproject.toml/package.json) once so the loop starts from green. - Write a one-paragraph GOAL statement of what the session's changes are
for; start
$SCRATCH/ledger.md, seeded with any deliberate design decisions already made in the session.
Phase 1 — Per-finding ladder (medium tier, then xhigh tier)
Each round (medium until converged, then restart at xhigh, trimmed by the
profile):
- Diffs: per repo,
git diff BASE..HEADfollowed by~/.claude/skills/implementation-loop/collect-diff.sh <repo>, concatenated into$SCRATCH/diff-<slug>.patch. Always both — fixes change the diff, and fixes committed per round would otherwise vanish. This is the only place diffs are built; a fix always leads back here. - Prompt:
$SCRATCH/review-prompt.mdfrom the template — stable across rounds, everything by path. - Run:
set -o pipefail; CODEX_OUTPUT_SCHEMA=~/.claude/skills/implementation-loop/findings.schema.json CODEX_ANSWER_FILE="$SCRATCH/round-<tier>-N.answer.json" ~/.claude/skills/implementation-loop/codex-review.sh "$SCRATCH/review-prompt.md" <medium|xhigh> "${REPOS[@]}" 2>&1 | tee "$SCRATCH/round-<tier>-N.md" - Judge from the answer file only.
findings: [](or all findings already ledgered) → tier converged. Otherwise verify each finding against the code: valid → fix (yourself or a reviewed subagent), re-run that repo's gates; invalid / intentional → ledger with a one-line reason. - Classify each valid finding: NEW-CLASS / KNOWN-SITE / FOLLOW-ON (a defect in one of this loop's own fixes).
- Fix the class, not the instance: fix every analogous site in the same pass; pin regression tests at the exact seam.
- Commit discipline: match the session — if its work was committed as it went, commit each round's fixes the same way (same style, trailer); otherwise leave fixes uncommitted.
Phase transition: after 2 consecutive rounds with no NEW-CLASS finding, stop the ladder even mid-tier (this overrides tier progression — a skipped xhigh tier is replaced by the sweep plus Phase 3 at the profile's effort). Backstop: force it at 25 rounds in one tier.
Phase 2 — Discipline sweep
The ladder is a discovery tool, not a completion tool. Distill this loop's findings into named rules; fan out parallel read-only audit subagents, one rule each, over the whole touched surface, demanding file:line evidence, a concrete failure scenario, CONFIRMED/PLAUSIBLE confidence and an explicit "checked clean" list. Verify every citation yourself (auditors can present fabricated corroboration), fix survivors in one pass (gates green), ledger the declined ones as accepted residuals.
Phase 3 — Capped verification
Rounds per the profile, full ledger in the prompt. The first converged round
(empty findings, or all findings already ledgered) ends the loop; genuinely
new findings are judged/fixed as usual and the cap ticks down; if it
expires with findings still arriving, stop and report them verbatim.
If the ladder keeps surfacing the same area, the underlying design may be wrong — fix upstream rather than patching symptoms.
Phase 4 — Report
What was reviewed (per repo), rounds per tier with the finding-class
breakdown, when the transition fired, sweep results per rule (fixed vs
accepted residual), verification outcome, the full ledger, gate results, open
items, and $SCRATCH for transcripts.
Review prompt template ($SCRATCH/review-prompt.md)
You are a rigorous staff engineer reviewing a code DIFF.
GOAL / CONTEXT — what these changes are for:
<the Phase-0 GOAL paragraph>
THE DIFF under review (this session's changes only):
- <absolute $SCRATCH path>/diff-<slug-a>.patch
- <absolute $SCRATCH path>/diff-<slug-b>.patch
Full source for context is on disk:
- /absolute/path/to/repo-a
- /absolute/path/to/repo-b
<if pre-existing dirty state exists:>
OUT OF SCOPE — modified before this session; review only changes beyond them:
<one-line summary>
Review for: correctness bugs, missing pieces, broken error handling, security
holes, data-integrity problems, race conditions, edge cases, regressions, and
anything that would fail the repo's own tests. Point to exact file:line.
Prefer real defects over style nits.
PREVIOUSLY REVIEWED — intentionally NOT changed, and ACCEPTED RESIDUALS — do
NOT re-raise anything in: <absolute $SCRATCH path>/ledger.md (or: "none yet")
OUTPUT: JSON matching the provided schema. `findings` is a list of
{severity: blocker|major|minor, location: file:line, problem, fix}. Report an
EMPTY `findings` list if and only if you found zero issues.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.

