Ralph Loop Help
Trigger
The user asks what Ralph Loop is, how it works, or needs usage guidance.
What to Explain
What is Ralph Loop?
Ralph Loop implements the Ralph Wiggum technique — an iterative development methodology based on continuous AI loops, pioneered by Geoffrey Huntley.
Core concept: the same prompt is fed to the agent repeatedly. The "self-referential" aspect comes from the agent seeing its own previous work in the files and git history, not from feeding output back as input.
Each iteration:
-
The agent receives the SAME prompt
-
Works on the task, modifying files
-
Tries to exit
-
Stop hook intercepts and feeds the same prompt again
-
The agent sees its previous work in the files
-
Iteratively improves until completion
Starting a Ralph Loop
Tell the agent your task along with options:
Start a ralph loop: "Build a REST API for todos" --max-iterations 20 --completion-promise "COMPLETE"
Options:
-
--max-iterations N — max iterations before auto-stop
-
--completion-promise "TEXT" — phrase to signal completion
How it works:
-
Creates .cursor/ralph/scratchpad.md state file
-
Agent works on the task
-
Stop hook intercepts exit and feeds the same prompt back
-
Agent sees its previous work and iterates
-
Continues until promise detected or max iterations reached
Cancelling a Ralph Loop
Ask the agent to cancel the ralph loop. It will remove the state file and report the iteration count.
Completion Promises
To signal completion, the agent outputs a <promise> tag:
<promise>TASK COMPLETE</promise>
The stop hook looks for this specific tag. Without it (or --max-iterations ), Ralph runs indefinitely.
When to Use Ralph
Good for:
-
Well-defined tasks with clear success criteria
-
Tasks requiring iteration and refinement
-
Iterative development with self-correction
-
Greenfield projects
Not good for:
-
Tasks requiring human judgment or design decisions
-
One-shot operations
-
Tasks with unclear success criteria
Learn More
-
Original technique: https://ghuntley.com/ralph/
-
Ralph Orchestrator: https://github.com/mikeyobrien/ralph-orchestrator
Output
Present the above information clearly to the user, tailored to their specific question.