Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Explain the Ralph Loop plugin, how it works, and available skills. Use when the user asks for help with ralph loop, wants to understand the technique, or needs usage examples.
.claude/skills/sediman-agent-ralph-loop-help/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | -63% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -44% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -36% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -30% | 0% |
The user asks what Ralph Loop is, how it works, or needs usage guidance.
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:
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 completionHow it works:
.cursor/ralph/scratchpad.md state fileAsk the agent to cancel the ralph loop. It will remove the state file and report the iteration count.
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.
Good for:
Not good for:
Present the above information clearly to the user, tailored to their specific question.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | fail→pass | 20,508 | 4,500 | -78% | 1 | 1 | 0% | 3,141 | 1,170 | -63% | 0 | 0 | — |
case-02 | fail→pass | 14,347 | 7,832 | -45% | 1 | 1 | 0% | 2,183 | 1,852 | -15% | 0 | 0 | — |
case-03 | fail→pass | 17,983 | 6,780 | -62% | 1 | 1 | 0% | 2,730 | 1,532 | -44% | 0 | 0 | — |
case-01 | fail→pass | 17,256 | 7,088 | -59% | 1 | 1 | 0% | 3,065 | 1,963 | -36% | 0 | 0 | — |
case-04 | fail→pass | 15,768 | 6,652 | -58% | 1 | 1 | 0% | 2,177 | 1,517 | -30% | 0 | 0 | — |
case-05 | fail→pass | 16,209 | 5,448 | -66% | 1 | 1 | 0% | 2,354 | 1,343 | -43% | 0 | 0 | — |
case-06 | fail→pass | 20,495 | 2,240 | -89% | 1 | 1 | 0% | 991 | 831 | -16% | 0 | 0 | — |
case-07 | fail→pass | 22,316 | 4,687 | -79% | 1 | 1 | 0% | 1,606 | 1,337 | -17% | 0 | 0 | — |
case-08 | fail→pass | 22,696 | 5,037 | -78% | 1 | 1 | 0% | 971 | 1,296 | +33% | 0 | 0 | — |
case-10 | fail→pass | 15,798 | 6,013 | -62% | 1 | 1 | 0% | 2,105 | 1,427 | -32% | 0 | 0 | — |
case-11 | pass→pass | 11,898 | 6,861 | -42% | 1 | 1 | 0% | 1,681 | 1,512 | -10% | 0 | 0 | — |
case-12 | pass→pass | 12,327 | 5,669 | -54% | 1 | 1 | 0% | 1,643 | 1,394 | -15% | 0 | 0 | — |
case-13 | pass→pass | 12,530 | 2,624 | -79% | 1 | 1 | 0% | 1,774 | 884 | -50% | 0 | 0 | — |
case-14 | fail→pass | 15,184 | 5,998 | -60% | 1 | 1 | 0% | 2,062 | 1,378 | -33% | 0 | 0 | — |
case-15 | pass→pass | 16,088 | 6,925 | -57% | 1 | 1 | 0% | 2,145 | 1,448 | -32% | 0 | 0 | — |
case-16 | fail→pass | 16,316 | 3,971 | -76% | 1 | 1 | 0% | 2,291 | 1,162 | -49% | 0 | 0 | — |
case-17 | pass→pass | 7,932 | 4,193 | -47% | 1 | 1 | 0% | 1,169 | 1,169 | 0% | 0 | 0 | — |
case-18 | fail→pass | 15,687 | 6,204 | -60% | 1 | 1 | 0% | 2,329 | 1,495 | -36% | 0 | 0 | — |
case-19 | pass→pass | 6,726 | 4,425 | -34% | 1 | 1 | 0% | 945 | 1,168 | +24% | 0 | 0 | — |
case-20 | fail→pass | 11,245 | 4,467 | -60% | 1 | 1 | 0% | 1,665 | 1,191 | -28% | 0 | 0 | — |
case-21 | pass→pass | 9,671 | 6,710 | -31% | 1 | 1 | 0% | 1,566 | 1,508 | -4% | 0 | 0 | — |
case-22 | pass→pass | 7,764 | 5,071 | -35% | 1 | 1 | 0% | 1,276 | 1,336 | +5% | 0 | 0 | — |
case-23 | pass→pass | 11,551 | 9,693 | -16% | 1 | 1 | 0% | 2,112 | 2,269 | +7% | 0 | 0 | — |
case-24 | pass→pass | 11,803 | 8,383 | -29% | 1 | 1 | 0% | 1,670 | 1,656 | -1% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 22 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +58 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.