How to grind through issues — with a stubborn coding loop plus review gate.
Geoffrey Huntley's loop, Matt Pocock's four lines of bash, my wrapper around it for the automatic review gate. Build it yourself — setup prompt is below.
Three phases so far. Fourth already in testing.
I didn't invent this. Neither did Matt Pocock. The loop comes from Geoffrey Huntley, May 2025. Matt picked it up in his 2026 workshop, structured it cleanly, and tied it to a TDD skill. I took Matt's version and bolted a wrapper in front of it, because my use case is different: software I want to sell, not throwaway prototypes. Phase 4 is already running in a live test — parallel swarm.
Short, stubborn, effective. Like Ralph.
The same prompt runs against Claude Code over and over. The agent reads the open issue files, picks the next ticket, implements it with TDD, commits, next round. On the next pass it sees its own latest commits and keeps going until nothing's left.
The name is the punchline: Ralph Wiggum from The Simpsons. Dumb but stubborn-effective. The loop doesn't make grand decisions, it just picks the next ticket. Because it does that a thousand times in a row, the feature is finished at the end.
# once.sh — one iteration issues=$(cat issues/*.md) commits=$(git log -n 5 --format="%H%n%ad%n%B---" --date=short) prompt=$(cat ralph/prompt.md) claude --permission-mode acceptEdits "Previous commits: $commits Issues: $issues $prompt"
That's all of it. prompt.md says: pick issue, TDD, all tests green before commit, move finished ticket to issues/done/. Done state via file move, no status flag. Very clean.
That's also exactly its limit. Matt says it honestly in the workshop: "I don't honestly know what the answer to this yet. We just need to be ready to be doing more code review." The loop produces code faster than you can read it. For throwaway prototypes that's fine — for software real people are supposed to use, code review is the bottleneck. That's where my wrapper comes in.
How my tuned Ralph runs in practice.
The loop isn't the whole project — it's the development pass per issue. A phase (for me e.g. "Spurwert MVP") is 15–25 issues. Every issue goes through the same pass. How the issues come into being before the phase — strategy, PRD, issue cutting — is a different story and not the topic here.
The update tasklist from the session: seven Ralph-core steps, framed by four wrapper steps.
Setup in a single paste — even if you're starting from zero
Paste this prompt into your coding agent (Claude Code, Cursor, Codex). It runs a preflight checklist — git repo, Claude CLI, test runner, tickets, review gate — reports per item what's already there, and for anything missing it offers to create it. Say "already have it" and it skips ahead. After that it installs once.sh, loop.sh and wrapper.sh in the variant that fits your setup — with or without a git remote, with or without the /code-review gate. At the end a one-time dry run plus status report.
What I do differently, and why.
Per dimension: standard Ralph, my setup, Sand Castle. So you can actually compare instead of reading three lists side by side.
Swarm skill in live test. Sand Castle as the premium upgrade.
My own swarm skill distributes issues across multiple loops that run in parallel — planner picks, several implementers work at the same time, reviewer agent gates. Right now it's running against Spurwert issues in a live test. Once it sits stable, it replaces the sequential pass from section 03.
If you want the clean version today: Sand Castle by Matt Pocock is the industrial variant of this. Heavier setup, more token cost, but ready and battle-tested. For me right now not the right ratio — as long as I build alone, my own swarm gets close to the same effect without the overhead. Worth keeping an eye on for the day when issue volume or review load justify it.
As of May 2026 — updated here when something changes.
At the core: dumb, stubborn, effective. Like Ralph Wiggum himself.
Result: I review the review, not the raw code.
Current state: wrapper runs on Spurwert, swarm skill in live test, Sand Castle on the radar as the premium path.
Sources + further reading
- Geoffrey Huntley — original post: Ralph Wiggum as a "software engineer" (May 2025)
- Geoffrey Huntley — follow-up: everything is a ralph loop
- Matt Pocock — workshop repo: ai-engineer-workshop-2026-project
- Matt Pocock — workshop video: AI Engineer Workshop 2026 (relevant section: 53:00–60:00)
- Matt Pocock — Sand Castle (parallel, pricier): mattpocock/sandcastle
- Anthropic — official Ralph plugin (older state): claude-code/plugins/ralph-wiggum