Plan before code. Prove before commit.
devloop turns a coding agent's one-shot "done" into three gated steps. You specify, it plans, it builds with tests, and independent review agents catch design bugs before any code is written and correctness bugs before anything ships.
/plugin marketplace add KashZod/devloop
"Done" is usually a self-report
Ask an agent to build a feature and it hands you working-looking code and a confident summary. What it cannot give you is a second look from a context that did not just write it.
"I verified it works."
The same context that wrote the code, grading its own work against the assumptions it just made.
"An independent agent reviewed the diff."
A reviewer that never saw the code being written, quoting the test line that proves each acceptance criterion.
One prompt also runs three decisions together: what to build, how to build it, and the code itself. A misread requirement gets decided and written into code at once, where it is hardest to undo. devloop pulls the three apart and puts a gate between each.
Three commands, three gates
One command per decision, each with a hard gate that has to pass before the next begins.
Clarify what to build
Turn a request into user stories, acceptance criteria, and edge cases. Nothing gets planned on a vague spec.
✓ gate: 8-point spec checklist
Decide how to build it
Decompose the spec into an ordered, dependency-aware set of chunks and a JSON tracker that survives context resets.
✓ gate: review-plan agent, before any code
Build it, test first
Work each chunk red then green: a failing test, then the code that passes it, against the plan.
✓ gate: review-impl + red-team agents
The loop is not one-way. If a review finding shows the plan itself was wrong, not just the code, /implement appends corrective chunks and re-runs the plan gate in place, then keeps building, so the plan and the code stay in sync.
Two reviews at the end. No overlap.
When the chunks are done, two independent agents read the diff in a context that did not write it. They answer different questions, so nothing falls between them.
Does it match the plan?
Checks that the code does what was planned and that a test proves each acceptance criterion. Every criterion is marked, each backed by a quoted line.
Is it wrong or wasteful?
Hunts bugs across five angles regardless of the plan, recall-biased first, then verifies each finding and drops the false positives.
A bug that faithfully implements a flawed plan is caught only by red-team; a correct but off-spec change only by review-impl. On a large, multi-file diff the red-team half splits into a focused bug pass and a focused cleanup pass in parallel; on a small one it stays a single pass. Either way the whole gate is read-only.
The reviewer never wrote the code
A context that wrote the plan or the diff grades its own assumptions along with the code. devloop runs each gate in a separate context, so a pass comes with evidence instead of a summary.
"Added refresh-token rotation. All tests green."
Add it to your agent in two commands
devloop ships as a plugin over a git marketplace. The same three commands power both harnesses.
/plugin marketplace add KashZod/devloop/plugin install devloop@kashzodcodex plugin marketplace add KashZod/devloopcodex plugin add devloop@kashzodThen give the loop project context: drop a .devloop/ folder at your project root with config.md (build and test commands, architecture, standards) and domain.md (domain knowledge). The fastest start is to copy the closest examples/<stack> directory. The skills read .devloop/ from your project, so a plugin install stays read-only in its cache.
Before you install
What agent do I need to run it? +
Does it call a model or send my code anywhere? +
How is this different from just prompting the agent well? +
What if my project has no tests yet? +
Can I review a random diff with no plan? +
red-team agent directly on a hotfix or someone else's branch. It is plan-agnostic and discovers the project's standards at runtime, so it does not need a tracker to review against.Does it lock me in? +
skills/ and agents/ into your own project. Remove it and your code is untouched.