ralph

ralph is a skill for Claude Code from jcwleo/oh-no-harness. It costs 52 tokens per session (15,640 once invoked), scanned A, original, MIT.

A mode-controlled execution process for completing approved development plans, specifications, tickets, or concrete implementation requests. It checks acceptance criteria with fresh evidence and includes review and cleanup steps.

In plain words
What is it for?
Use it to carry out approved feature, bug-fix, refactoring, or implementation work when the request includes clear acceptance criteria.
Why use it?
It keeps implementation work tied to an agreed result instead of stopping after an incomplete edit or an unverified test.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: mentions subagents; mentions Claude Code; mentions Codex.

Part of the oh-no-harness plugin — 12 skills, 12 commands, 9 agents, 1 hook shipped together

Good fit Use it to carry out approved feature, bug-fix, refactoring, or implementation work when the request includes clear acceptance criteria.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jcwleo/oh-no-harness/ralph
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jcwleo/oh-no-harness --skill ralph
Clone the repo
git clone --depth 1 https://github.com/jcwleo/oh-no-harness

Made for: Claude Code.

Or install oh-no-harness, the plugin that ships this one along with the rest of its 12 skills, 12 commands, 9 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ralph

README.md
[![agentmods](https://agentmods.dev/badge/skills/jcwleo/oh-no-harness/ralph/github.svg)](https://agentmods.dev/skills/jcwleo/oh-no-harness/ralph)
Your own site
<a href="https://agentmods.dev/skills/jcwleo/oh-no-harness/ralph"><img src="https://agentmods.dev/badge/skills/jcwleo/oh-no-harness/ralph/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ralph

Your own site · 80×15
<a href="https://agentmods.dev/skills/jcwleo/oh-no-harness/ralph"><img src="https://agentmods.dev/badge/skills/jcwleo/oh-no-harness/ralph.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 52 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 15,640 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00052 $0.15640
Opus 5 $0.00026 $0.07820
Sonnet 5 $0.00010 $0.03128
Haiku 4.5 $0.00005 $0.01564

Measured 10d ago against content hash 40be71d65460, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

ralph scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/oh-no-harness/skills-claude/ralph/SKILL.md · 1,272 lines

How it starts

The opening of the file, as written. The whole thing — 1,272 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ralph for Claude Code

This generated file is the Claude Code-facing runtime skill document. Claude Code slash commands should read this file directly; maintainers edit the source documents listed below instead.

Generated Runtime Composition

Source order:

  • ../../docs/skill-core/ralph.md
  • ../../docs/platforms/claude-code-ralph.md

The sections below are already composed for this platform. Do not ask the runtime model to load another platform's runtime document or invocation syntax.

Source: docs/skill-core/ralph.md

Ralph

Ralph is a mode-gated execution loop: it works until acceptance criteria are satisfied with fresh evidence, required review and cleanup gates are handled, and the final report is written. Ralph's main agent is the orchestrator: it owns .oh-no state, gate decisions, result intake, and FSM transitions while executor roles own default repository work-product mutation. Ralph owns execution mode selection or enforcement for ordinary implementation. Do not route concrete add/fix/refactor/implement requests directly to test-driven-development; Ralph invokes TDD internally when behavior-changing edits require it.

Do not use when requirements are still vague — use interview or ralplan first. Entering directly from interview, accept the path only if the spec's provisional Ralph mode is LIGHT; a non-LIGHT spec without a ralplan plan needs user re-confirmation before editing.

Invariants

E1. Copy the approved Direction Contract without reinterpretation before
    editing. If execution would change it, stop for explicit approval instead
    of silently rescoping. If the approved plan or an AC is itself wrong or
    infeasible as written, stop and route back to the user or `ralplan`
    (present options; never auto-invoke).
E2. An execution mode is recorded before any file change. Source priority:
    approved ralplan profile > explicit user instruction > interview LIGHT
    hint > Ralph-derived. Never de-escalate below an approved plan's mode
    without user approval.
E3. No source edit until a `Worktree decision` is recorded from the allowed
    table. A registered Git worktree is the direct-Ralph default; substitutes
    (`git clone`, `cp -R`, plain directories) are forbidden.
E4. Behavior-changing work requires RED evidence (fails against old behavior)
    before implementation and GREEN evidence before story completion; bug
    fixes need a reproduction; refactors need characterization; exceptions
    are recorded compactly.
E5. Every changed file and meaningful changed line traces to approved work;
    out-of-scope findings become residual risk or follow-ups, not diff growth.
E6. Parallel dispatch only for disjoint write scopes with no inter-dependency
    and clear ownership; create the whole eligible batch before waiting; a
    timeout or empty wait is never a final result.
E7. Review-then-verify: when a verifier trigger fires, the selected code-review
    stage completes before the single independent self-host verifier starts; on
    blocking findings, the verifier starts only after the single fix manifest is
    recorded. The verifier is never the maker and never a pair. The canonical
    `### Independent Verifier Trigger Predicate` alone selects it; mode, size,
    same authorship, reviewer presence, and imminent completion are non-triggers.
E8. Review topology is risk-gated with a one-round budget: exactly one review
    round. STANDARD and ordinary THOROUGH dispatch ONE full-role code-reviewer;
    only a named high-risk or diversity trigger selects the perspective-diverse
    pair. Accepted blocking findings get one executor-owned focused fix; the
    triggered independent verifier then audits the fixed revision as the safety
    net. A blocker unresolved after that goes to rescope or user direction.
E9. Mutation invalidates intersecting evidence except that the review verdict
    remains bound to its reviewed revision after the single post-review fix;
    the verifier owns freshness by binding to the mutated revision, and the
    caller owns it when no verifier trigger fires. Fresh revision-bound
    reviewer, verifier, and command evidence is REUSED as-is: imminent
    completion alone never justifies a rerun, a new test, or a fresh dispatch. A
    success status without the observable effect is missing evidence. Redact
    secrets/PII before writing evidence.
E10. Budget gates stop for rescope; a budget breach never authorizes
     automatic expansion.
E11. The run is invalid until every completion criterion is individually
     recorded in the session ledger; a silently omitted step is a named
     ledger gap, not a pass.
E12. Cleanup is trigger-gated after the behavior lock and BEFORE the single
     review round; rerun relevant verification whenever cleanup changes files;
     post-review cleanup is read-only (findings become residual risk or
     follow-ups).
E13. A direct-Ralph automatic worktree is not complete while work sits in the
     worktree: merge back with post-merge verification, or report the
     branch/PR handoff; on failure leave the worktree intact.
E14. Resume reconstructs state from artifacts, never working memory.
E15. Ralph is terminal: after the final report, no workflow skill is
     auto-invoked. Mid-loop skills (`test-driven-development`, `simplify`,
     `verification-before-completion`, `systematic-debugging`,
     `fusion-rescue`) are documented loop internals, not chaining events.
E17. The main agent is the orchestrator and sole owner of `.oh-no` state and
     FSM transitions. Repository work-product mutation, including
     REVIEW-to-EXECUTE focused fixes, dispatches `executor` by default; inline
     mutation is only a recorded LIGHT-tiny or dispatch-unavailable fallback.
     A fired review or audit trigger is exempt and never runs inline.
     Role result enums are caller gate inputs, never autonomous transitions.

Read the full file on GitHub · 1,272 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 1,272 lines · 52 tokens per session scan A 40be71d65460

Subscribe to this mod's changes

ralph is a skill published in the GitHub repository jcwleo/oh-no-harness (11 stars, last pushed 1mo ago), licensed MIT. It adds 52 tokens to every session and 15,640 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens