Spec-first Ralph (PLAN.md-driven)
The spec-driven maturation of the Ralph loop: each fresh-context iteration reads PLAN.md, implements the highest-priority unchecked item, checks it off, and commits — so the spec file evolves alongside the codebase.
Implementation note
When to use: Ralph-style autonomous grinding where you want the plan itself to be the living artifact — a checklist the loop consumes and the team can read, edit, and reprioritize between iterations. How it works: each fresh-context iteration reads PLAN.md, picks the highest-priority unchecked item, implements it, checks it off, commits, and exits. The spec file evolves alongside the codebase: completed items accumulate as history, and anyone can insert, reorder, or annotate items to steer the next iteration without touching the loop machinery. HumanLayer describes this as the spec-driven maturation of the original Ralph. Safety: the checkbox protocol is the state rail — progress is legible in one file, and a human can pause the loop, edit PLAN.md, and resume with redirected priorities. Keep items small and independently shippable, run it on a branch, and add an iteration cap since the loop itself does not carry one.
More planning loops
loop-init, loop-audit, loop-cost CLI patterns
Three starter CLI tools that turn loop design into a repeatable workflow: scaffold a loop with a goal, budget, and verify step; audit an existing loop design; and estimate cost before you run.
Ralph the PRD backlog
The canonical Ralph loop: each iteration starts fresh, reads the PRD and guardrails, ships exactly one backlog item end-to-end, and records what it learned.
Set agent continuation budget
Configure max turns before agent stops, preventing runaway loops and controlling execution cost.