English | 한국어
Author, run, and refine your own AI dev workflow loops — as editable data.
Most "AI dev workflow" tools hand you one fixed loop. Odin-Loop treats the
loop itself as a first-class, editable artifact: a YAML file the engine reads and
executes. It ships with a strong default loop, and lets you build and refine your
own with /odin-loop:odin new.
deep interview → plan → harness design → harness verify → implement → test → clean review
(Huginn) (planner) (executor) (critic·Gungnir) (executor) (executor) (reviewer)
The names come from the myth, and they map onto the architecture:
| Myth | Role | In Odin-Loop |
|---|---|---|
| Odin | the seeker of wisdom who drives the hunt | the engine that drives the loop |
| Huginn ("thought") | raven of reasoning | the deep-interview stage |
| Muninn ("memory") | raven of memory | session-mining refiner (/odin-loop:odin refine) |
| Gungnir | the spear that never misses | the harness-verification gate |
- Deep interview first — most AI coding failures are intent failures, not
coding failures. The interview confirms the work's components (topology),
probes a fixed set of dimensions, and self-scores clarity each round until
ambiguity drops below a threshold — injecting contrarian challenges and auto-assist
along the way. It turns a vague request into testable acceptance criteria —
captured in a structured
spec.md, with the convergence trail ininterview-log.md— before any code is written. (See Design → Deep interview.) - Harness before implementation — the criteria become executable tests, so "done" has an objective definition.
- Verify the harness itself (Gungnir) — the step most tools skip. A test that always passes proves nothing. We run a deliberately-wrong stub and require at least one test to fail — proving the harness has teeth.
- Then implement and test — implement against the verified harness; loop back
on failure, bounded by a
max_iterationscap. - Review with a clean agent — a final
reviewer-role stage (clean-room, no prior context) reviews the result with no memory of how it was built, catching what the harness can't encode (missed edge cases, scope creep); an objectively-defined blocking finding loops back toimplement(the fix adds a regression test), and the stage pauses for your sign-off.
/plugin marketplace add choo121600/odin-loop
/plugin install odin-loop@odin-loop
On your first /odin-loop:odin run, Odin-Loop asks which loop to use (default
spec-harness-tdd) and begins a deep interview — turning your request into
testable acceptance criteria before any code is written.
/odin-loop:odin run # no active run → pick a loop, then interview
/odin-loop:odin status # see where the run is
It pauses at every ai+human gate; approve by running /odin-loop:odin run again, or type
feedback to revise that stage.
/odin-loop:odin run # start or continue a run (pauses at human-approval gates)
/odin-loop:odin step <stage> # re-run one specific stage
/odin-loop:odin status # show the active run's state
/odin-loop:odin list # list available loops
/odin-loop:odin new # author your own loop, by interview
/odin-loop:odin refine [loop] # analyze past work and propose loop edits (Muninn)
/odin-loop:odin run drives the loop automatically, but stops at ai+human gates so
you stay in control. Approve a paused stage by running /odin-loop:odin run again; or just
type feedback to revise that stage and re-gate.
/odin-loop:odin refine mines your Odin-Loop run history and raw Claude Code session
transcripts to find where you skip stages, re-work, or loop back — then proposes
concrete edits to your loop's YAML (e.g. "your implement stage loops back a
lot → tighten the interview gate"). A bundled analyzer extracts aggregate
signals only (never message content), and nothing is applied without your
approval — run /odin-loop:odin refine apply to accept. The loop learns from how you
actually work.
- Design — architecture, the loop-as-data model, gates & state
- Features — every command, the default loop, Muninn
- Scenarios — end-to-end walkthroughs
- Authoring custom loops — write your own loop as YAML
- Scheduling loops — run autonomous loops unattended on a schedule (Hermóðr)
A loop is a YAML file (see plugins/odin-loop/loops/spec-harness-tdd.yaml
for the fully-commented schema). The essentials:
name: my-loop
version: 1
max_iterations: 12
stages:
- id: design
goal: ...
gate:
mode: ai+human # ai = auto-advance · ai+human = pause for approval
check: <testable assertion to advance>
on_fail: <stage id to loop back to> # optionalBuilt-in loops live in plugins/odin-loop/loops/; your custom loops live in
.odin-loop/loops/ in your project. Run state lives in .odin-loop/runs/.
Each stage can name who runs it via agent: inline (the engine itself),
fresh (a generic clean-room sub-agent), or one of five reusable roles shipped in
plugins/odin-loop/agents/:
explore |
planner |
executor |
critic |
reviewer |
|---|---|---|---|---|
| read-only scout | spec → plan | implement & test | adversarial verify (Gungnir) | clean review |
explore / critic / reviewer run fresh (clean-room) by default; planner /
executor run inline. Override per stage with agent: { role: reviewer, fresh: false }.
The role shapes how a worker behaves; the stage's gate and artifacts stay in the YAML.
Actively developed; the default loop runs end-to-end. See CHANGELOG.md for the current version and full release history.
MIT