How this skill is triggered — by the user, by Claude, or both
Slash command
/ouroboros:ralphThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Persistent self-referential loop until verification passes. "The boulder never stops."
Persistent self-referential loop until verification passes. "The boulder never stops."
ooo ralph "<your request>"
/ouroboros:ralph "<your request>"
Trigger keywords: "ralph", "don't stop", "must complete", "until it works", "keep going"
Ralph mode includes parallel execution + automatic verification + persistence:
Execute (parallel where possible)
Verify (verifier)
Loop (if failed)
Persist (checkpoint)
When the user invokes this skill:
Parse the request: Extract what needs to be done
Initialize state: Create .omc/state/ralph-state.json:
{
"mode": "ralph",
"session_id": "<uuid>",
"request": "<user request>",
"status": "running",
"iteration": 0,
"max_iterations": 10,
"last_checkpoint": null,
"verification_history": []
}
Enter the loop:
while iteration < max_iterations:
# Execute with parallel agents via evolve_step
# QA is built into ouroboros_evolve_step — the response
# includes a "### QA Verdict" section automatically.
result = await evolve_step(lineage_id, seed_content, execute=true)
# Parse QA from evolve_step response text
# (EvolveStepHandler runs QA internally and appends verdict)
verification.passed = (qa_verdict == "pass")
verification.score = qa_score
# Record in history
state.verification_history.append({
"iteration": iteration,
"passed": verification.passed,
"score": verification.score,
"verdict": qa_verdict,
"timestamp": <now>
})
if verification.passed:
# SUCCESS - persist final checkpoint
await save_checkpoint("complete")
break
# Failed - analyze and continue
iteration += 1
await save_checkpoint("iteration_{iteration}")
if iteration >= max_iterations:
# Max iterations reached
break
Report progress each iteration:
[Ralph Iteration <i>/<max>]
Execution complete. Running QA...
QA Verdict: <PASS/REVISE/FAIL> (score: <score>)
Differences:
- <difference 1>
- <difference 2>
Suggestions:
- <suggestion 1>
- <suggestion 2>
The boulder never stops. Continuing...
Handle interruption:
State includes:
Resume command: "continue ralph" or "ralph continue"
This is the key phrase. Ralph does not give up:
User: ooo ralph fix all failing tests
[Ralph Iteration 1/10]
Executing in parallel...
Fixing test failures...
Running QA...
QA Verdict: REVISE (score: 0.65)
Differences:
- 3 tests still failing
- Type errors in src/api.py
Suggestions:
- Fix type annotations in api.py before retrying
The boulder never stops. Continuing...
[Ralph Iteration 2/10]
Executing in parallel...
Fixing remaining issues...
Running QA...
QA Verdict: REVISE (score: 0.85)
Differences:
- 1 test edge case failing
Suggestions:
- Add boundary check in parse_input()
The boulder never stops. Continuing...
[Ralph Iteration 3/10]
Executing in parallel...
Fixing edge case...
Running QA...
QA Verdict: PASS (score: 1.0)
Ralph COMPLETE
==============
Request: Fix all failing tests
Duration: 8m 32s
Iterations: 3
QA History:
- Iteration 1: REVISE (0.65)
- Iteration 2: REVISE (0.85)
- Iteration 3: PASS (1.0)
All tests passing. Build successful.
Cancel with /ouroboros:cancel --force to clear state.
Standard /ouroboros:cancel saves checkpoint for resume.
npx claudepluginhub mmerryweather/ouroborosCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.