Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when a coding task needs an objective-first long-running loop with fresh-context work and review phases, explicit acceptance criteria, resumable state, and real blocked handling.
.claude/skills/majiayu000-ralph-wiggum-codex/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 239% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 61% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 1% | 0% |
Codex-native Ralph loop for long-running autonomous task completion.
This skill is designed to be invoked as $ralph-wiggum-codex. The shell runner is support infrastructure for the skill, not the product story.
Use this skill when:
Do not use this skill when:
$ralph-prompt-generator first in that case.When the request is underspecified, invoke $ralph-prompt-generator first to turn it into a Ralph-ready prompt file.
Use the companion first when:
Companion handoff pattern:
$ralph-prompt-generator with the raw request.docs/prompt-improver-spec/final-prompts/<prompt-name>.md.When this skill is invoked, execute this flow:
cwd--progress-scope) for anti-no-op protection<cwd>/.codex/ralph-loop/:objective.mdacceptance-criteria.mdfeedback.mdwork-summary.mdreview-feedback.mdreview-result.txtRALPH-BLOCKED.md, stop with task_blocked, and wait for updated task/feedback files before resuming.bash~/.codex/skills/ralph-wiggum-codex/scripts/ralph-loop-codex.sh \ --cwd /path/to/repo \ --objective-file /path/to/repo/.codex/ralph-loop/objective.md \ --acceptance-file /path/to/repo/.codex/ralph-loop/acceptance-criteria.md \ --feedback-file /path/to/repo/.codex/ralph-loop/feedback.md \ --max-iterations 40 \ --max-stagnant-iterations 6 \ --progress-scope "src/" \ --idle-timeout-seconds 900 \ --hard-timeout-seconds 7200 \ --timeout-retries 1 \ --validate-cmd "npm run lint" \ --validate-cmd "npm run test"
The runner is a mandatory work/review loop:
SHIP, REVISE, or BLOCKED.Completion is objective-first:
COMPLETE, the review phase decides SHIP, and any configured verification passes.task_blocked.--progress-scope plus no_change_justification only prevents fake no-op completion. It is not the product definition of success.Work schema (work-schema.json):
status: IN_PROGRESS, BLOCKED, COMPLETEassessment: concise statement of progress against the objective and acceptance criteriaevidence: non-empty array of concrete evidencenext_step: one highest-impact next stepblocker_reason (optional but required when status=BLOCKED)no_change_justification (optional)Review schema (review-schema.json):
decision: SHIP, REVISE, BLOCKEDassessment: concise review judgmentfeedback: actionable review guidance or ship confirmationevidence: non-empty array of concrete evidence.codex/ralph-loop/state.env.codex/ralph-loop/objective.md.codex/ralph-loop/acceptance-criteria.md.codex/ralph-loop/feedback.md.codex/ralph-loop/work-summary.md.codex/ralph-loop/review-feedback.md.codex/ralph-loop/review-result.txt.codex/ralph-loop/RALPH-BLOCKED.md.codex/ralph-loop/.ralph-complete.codex/ralph-loop/work-schema.json.codex/ralph-loop/review-schema.json.codex/ralph-loop/iteration-history.md.codex/ralph-loop/auto-feedback.md.codex/ralph-loop/run-summary.md.codex/ralph-loop/validation/.codex/ralph-loop/codex/iteration-<n>-<phase>-attempt-<m>.jsonltask_completetask_blockedmax_iterations_reachedmax_consecutive_failures_reachedmax_stagnant_iterations_reachedstop_file_detectedResume:
bash~/.codex/skills/ralph-wiggum-codex/scripts/ralph-loop-codex.sh \ --cwd /path/to/repo \ --resume
Stop safely:
bashtouch /path/to/repo/.codex/ralph-loop/STOP
references/harness-principles.mdreferences/runbook.mdreferences/reliability-vnext.md| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 9,407 | 10,376 | +10% | 1 | 1 | 0% | 275 | 1,981 | +620% | 0 | 0 | — |
case-02 | fail→fail | 13,252 | 8,040 | -39% | 1 | 1 | 0% | 1,566 | 2,148 | +37% | 0 | 0 | — |
case-03 | fail→fail | 14,459 | 6,525 | -55% | 1 | 1 | 0% | 213 | 2,031 | +854% | 0 | 0 | — |
case-04 | fail→pass | 11,960 | 21,207 | +77% | 1 | 1 | 0% | 851 | 2,886 | +239% | 0 | 0 | — |
case-05 | pass→pass | 21,073 | 2,503 | -88% | 1 | 1 | 0% | 2,627 | 2,114 | -20% | 0 | 0 | — |
case-06 | pass→pass | 12,432 | 8,034 | -35% | 1 | 1 | 0% | 1,148 | 2,033 | +77% | 0 | 0 | — |
case-07 | pass→pass | 13,932 | 2,279 | -84% | 1 | 1 | 0% | 2,261 | 2,044 | -10% | 0 | 0 | — |
case-21 | fail→pass | 16,032 | 4,892 | -69% | 1 | 1 | 0% | 1,573 | 2,529 | +61% | 0 | 0 | — |
case-08 | fail→pass | 18,180 | 7,960 | -56% | 1 | 1 | 0% | 2,189 | 2,250 | +3% | 0 | 0 | — |
case-09 | fail→pass | 14,152 | 8,179 | -42% | 1 | 1 | 0% | 1,384 | 2,174 | +57% | 0 | 0 | — |
case-10 | pass→pass | 13,699 | 8,405 | -39% | 1 | 1 | 0% | 1,496 | 2,314 | +55% | 0 | 0 | — |
case-11 | fail→pass | 18,985 | 8,662 | -54% | 1 | 1 | 0% | 2,309 | 2,333 | +1% | 0 | 0 | — |
case-12 | fail→pass | 14,713 | 1,760 | -88% | 1 | 1 | 0% | 1,582 | 1,994 | +26% | 0 | 0 | — |
case-13 | fail→pass | 24,054 | 7,299 | -70% | 1 | 1 | 0% | 3,431 | 2,071 | -40% | 0 | 0 | — |
case-14 | fail→pass | 48,073 | 7,167 | -85% | 1 | 1 | 0% | 5,271 | 2,087 | -60% | 0 | 0 | — |
case-15 | fail→pass | 5,812 | 7,349 | +26% | 1 | 1 | 0% | 835 | 2,056 | +146% | 0 | 0 | — |
case-16 | pass→pass | 13,379 | 1,671 | -88% | 1 | 1 | 0% | 1,148 | 1,904 | +66% | 0 | 0 | — |
case-17 | fail→pass | 12,146 | 2,274 | -81% | 1 | 1 | 0% | 1,172 | 2,035 | +74% | 0 | 0 | — |
case-18 | fail→pass | 15,909 | 8,156 | -49% | 1 | 1 | 0% | 1,775 | 2,200 | +24% | 0 | 0 | — |
case-19 | fail→pass | 21,028 | 7,081 | -66% | 1 | 1 | 0% | 2,895 | 2,029 | -30% | 0 | 0 | — |
case-20 | fail→pass | 17,459 | 9,075 | -48% | 1 | 1 | 0% | 2,105 | 2,465 | +17% | 0 | 0 | — |
case-22 | fail→fail | 3,496 | 7,144 | +104% | 1 | 1 | 0% | 542 | 1,913 | +253% | 0 | 0 | — |
case-23 | pass→pass | 10,905 | 22,124 | +103% | 1 | 1 | 0% | 2,011 | 3,326 | +65% | 0 | 0 | — |
case-24 | fail→fail | 9,909 | 4,624 | -53% | 1 | 1 | 0% | 817 | 2,450 | +200% | 0 | 0 | — |
case-25 | pass→pass | 20,414 | 7,374 | -64% | 1 | 1 | 0% | 2,557 | 2,030 | -21% | 0 | 0 | — |
case-26 | fail→pass | 15,512 | 7,854 | -49% | 1 | 1 | 0% | 1,889 | 2,188 | +16% | 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. 26 cases were attempted, and 23 counted toward the lift figure. The other 3 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 +54 percentage points is the difference between those two pass rates over the 23 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.