An AI code review loop works when an independent model finds a concrete risk, another agent or engineer scopes the fix, and deterministic checks decide whether the change is acceptable. Model agreement is not the gate. Tests, security controls, package inspection, and release evidence are.
I used that pattern while building Unlimited Skills, an open-source external skill memory for coding agents. At the source snapshot, the project had reached v0.3.12 after a review of both repositories. The review recognized working security and privacy controls, then found gaps that needed action. That tension was useful because praise did not end the review and criticism did not become a vague rewrite.
Independent critique must produce testable claims
A broad request to tear a project apart often produces broad advice. The reviewer should name the component, failure mode, evidence, impact, and a way to reproduce the problem. A useful finding can become a failing test, a threat case, a release check, or a documented boundary.
This is why the loop needs separation of roles. The builder knows why the system looks the way it does and may defend it too quickly. The critic can challenge assumptions but may miss operational context. A checker should evaluate the resulting artifact without relying on either model’s confidence. The same principle underlies our founder checklist for confident AI failure.
Do not measure review quality by the number of comments. Measure whether important comments change a test, control, decision, or documented limitation. Cosmetic observations can wait. A path escape, unsafe import, silent routing failure, or privacy leak cannot.
Turn findings into small release units
The source release loop moved through v0.3.10, v0.3.11, and v0.3.12 in the same afternoon. The Unlimited Skills changelog records the concrete increments: plugin skill discovery, a router contract in global memory, and a native Claude Code plugin with a SessionStart hook.
Small releases make causality easier to inspect. Each release should have one clear job, a bounded file set, a regression test, and a rollback path. If several agents work in parallel, ownership must be explicit so one fix does not erase another. The release sequence itself can become a dependency that the gate verifies.
A good implementation packet contains:
- Finding: the observed failure and its evidence.
- Scope: the component and behavior allowed to change.
- Acceptance: the test or probe that must pass.
- Boundary: the claims the release still cannot make.
- Receipt: the artifact, version, and verification result.
That receipt matters because agents can invent successful-looking summaries. Our case on AI agents inventing metrics shows the same failure in another form. A completion message is evidence only when it points to a result that an independent checker can reproduce.
Deterministic hooks keep the loop alive
Some improvements fail because they depend on the model remembering a rule in every session. Hooks can make a required setup step deterministic. The official Claude Code hooks reference documents SessionStart as a lifecycle event that can inject development context when a session begins or resumes.
In Unlimited Skills v0.3.12, that mechanism delivered the router contract at session start. The larger lesson is not product-specific. If a safety check, context load, formatter, or release probe must happen every time, put it in the runtime path and test the hook. Do not leave it as a paragraph the model may overlook.
Verification still needs an external boundary. The later verified completion memory design treats trusted receipts differently from assistant prose. That is the direction a mature review loop should take: models propose and implement, while deterministic evidence authorizes the status change.
The founder takeaway is simple. Use multiple models to widen the search for mistakes, then shrink every accepted finding into a change that a machine can verify.
Frequently Asked Questions
It is a workflow in which an independent model produces testable findings, the builder makes scoped changes, and deterministic checks verify the result.
A different model may challenge assumptions the builder accepted. Its findings still need reproduction, prioritization, and independent verification.
It names the component, failure mode, evidence, impact, and acceptance test. General advice without a reproducible condition is not release-ready.
No. A hook can deliver required context or run a deterministic setup action, but its behavior and the resulting product still need tests and release checks.
If you want to design this review and release loop for your product, Book a consultation and we will map the critic, checker, gates, and receipts.
