
Ralph
Run a PRD-driven persistence loop with reviewer verification until every user story in prd.json passes—when “done” must mean done.
Overview
Ralph is an agent skill most often used in Build (also Ship review/testing) that runs a PRD-driven persistence loop until all user stories pass mandatory reviewer verification.
Install
npx skills add https://github.com/yeachan-heo/oh-my-claudecode --skill ralphWhat is this skill?
- Self-referential loop until all prd.json stories have passes: true and reviewer verification
- Wraps ultrawork parallel execution with session persistence and automatic retry
- Configurable verification reviewer via --critic=architect|critic|codex and optional --no-deslop
- Explicit Do Not Use When vs autopilot, plan, and one-shot executor delegation
- Iteration banner tracks ITERATION/MAX across Ralph + Ultrawork sessions
- Configurable critic modes: architect, critic, codex
- Tracks iteration against MAX in Ralph + Ultrawork banner
Adoption & trust: 542 installs on skills.sh; 36k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Agent work gets marked finished while stories stay half-done, untested, or never reviewed against your PRD.
Who is it for?
Solo builders running oh-my-claudecode who need guaranteed, verified completion on multi-step implementation work.
Skip if: Exploratory planning only, full autopilot pipelines from idea, or quick one-shot fixes without PRD structure.
When should I use this skill?
User says ralph, don't stop, must complete, finish this, or keep going until done; task requires guaranteed completion with PRD story verification.
What do I get? / Deliverables
Every prd.json user story reaches passes: true with reviewer sign-off before the loop emits the completion promise.
- Reviewer-verified prd.json with all stories passing
- Completion promise output after successful loop
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Build/pm is the canonical shelf because Ralph centers on structured PRD stories, iteration caps, and execution discipline before and during implementation. Pm subphase reflects PRD-driven story tracking, completion promises, and gated sign-off rather than a single coding task.
Where it fits
Drive prd.json stories to passes: true with architect or codex critic before calling the sprint done.
Persist multi-iteration implementation until reviewer confirms each acceptance criterion.
Re-enter the loop when verification fails instead of shipping partial work.
How it compares
Use instead of declaring ultrawork “done” without PRD story gates and mandatory critic review.
Common Questions / FAQ
Who is ralph for?
Power users of oh-my-claudecode who maintain prd.json user stories and want persistent loops with reviewer verification before stop.
When should I use ralph?
Use in Build/pm when tasks must complete with verification; also during Ship review when stories need critic or architect sign-off before merge.
Is ralph safe to install?
See the Security Audits panel on this page; Ralph drives extended autonomous loops with shell and repo changes—scope repos and iteration limits deliberately.
SKILL.md
READMESKILL.md - Ralph
[RALPH + ULTRAWORK - ITERATION {{ITERATION}}/{{MAX}}] Your previous attempt did not output the completion promise. Continue working on the task. <Purpose> Ralph is a PRD-driven persistence loop that keeps working on a task until ALL user stories in prd.json have passes: true and are reviewer-verified. It wraps ultrawork's parallel execution with session persistence, automatic retry on failure, structured story tracking, and mandatory verification before completion. </Purpose> <Use_When> - Task requires guaranteed completion with verification (not just "do your best") - User says "ralph", "don't stop", "must complete", "finish this", or "keep going until done" - Work may span multiple iterations and needs persistence across retries - Task benefits from structured PRD-driven execution with reviewer sign-off </Use_When> <Do_Not_Use_When> - User wants a full autonomous pipeline from idea to code -- use `autopilot` instead - User wants to explore or plan before committing -- use `plan` skill instead - User wants a quick one-shot fix -- delegate directly to an executor agent - User wants manual control over completion -- use `ultrawork` directly </Do_Not_Use_When> <Why_This_Exists> Complex tasks often fail silently: partial implementations get declared "done", tests get skipped, edge cases get forgotten. Ralph prevents this by: 1. Structuring work into discrete user stories with testable acceptance criteria (prd.json) 2. Iterating story-by-story until each one passes 3. Tracking progress and learnings across iterations (progress.txt) 4. Requiring fresh reviewer verification against specific acceptance criteria before completion </Why_This_Exists> <PRD_Mode> By default, ralph operates in PRD mode. A scaffold `prd.json` is auto-generated when ralph starts if none exists. Active transient PRD state is session-scoped at `.omc/state/sessions/{sessionId}/prd.json` when a session ID is available; legacy project-level `prd.json` / `.omc/prd.json` files are read as startup migration inputs. **Startup gate:** Ralph always initializes and validates `prd.json` at startup. Legacy `--no-prd` text is sanitized from the prompt for backward compatibility, but it no longer bypasses PRD creation or validation. **Deslop opt-out:** If `{{PROMPT}}` contains `--no-deslop`, skip the mandatory post-review deslop pass entirely. Use this only when the cleanup pass is intentionally out of scope for the run. **Reviewer selection:** Pass `--critic=architect`, `--critic=critic`, or `--critic=codex` in the Ralph prompt to choose the completion reviewer for that run. `architect` remains the default. </PRD_Mode> <Execution_Policy> - Fire independent agent calls simultaneously -- never wait sequentially for independent work - Use `run_in_background: true` for long operations (installs, builds, test suites) - Always pass the `model` parameter explicitly when delegating to agents - Read `docs/shared/agent-tiers.md` before first delegation to select correct agent tiers - Deliver the full implementation: no scope reduction, no partial completion, no deleting tests to make them pass </Execution_Policy> <Steps> 1. **PRD Setup** (first iteration only): a. Check the active PRD file surfaced in the Ralph continuation context. In session-scoped runs this is `.omc/state/sessions/{sessionId}/prd.json`; legacy project-level `prd.json` / `.omc/prd.json` files may be copied there at startup for backward compatibility. b. If no legacy PRD exists, the system has auto-generated a scaffold at the active PRD path. c. **CRITICAL: Refine the scaffold.** The auto-generated PRD has generic acceptance criteria ("Implementation is complete", etc.). You MUST replace these with task-specific criteria: - Analyze the original task and break it into right-sized use