Harness Ralph Loop

SkillProductivity

Runs iterate-until-pass loops with ralph-worker agents in a worktree. Use when running [ralph]-marked tasks or looping until verify passes.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Harness Ralph Loop skill

What this skill tells your AI

The instructions your AI receives, as published by tim-hub/powerball-harness in harness/skills/harness-ralph-loop/SKILL.md and read by ahel’s review.

Iterative-loop orchestrator for [ralph]-marked Plans.md tasks. Spawns a fresh harness:ralph-worker subagent per attempt inside a single persistent worktree, runs the Verify command authoritatively, and loops until both the <promise> text tag and verify exit 0 agree.

Quick Reference

Subcommand / ArgumentBehavior
helpPrint usage, philosophy, and link to prompt-best-practices.md
<task-id>Run the loop for a Plans.md task that has [ralph] marker
--max-iter NOverride MaxIter (default: 10)
--verify CMDOverride the Verify command from the task

Execution Flow

See references/loop-flow.md for the complete orchestrator pseudocode.

Summary: On iteration 0 the orchestrator spawns a ralph-worker with isolation="worktree" to create the persistent worktree, capturing RALPH_WORKTREE from result.worktreePath. For iterations 1..N it fetches the EnterWorktree deferred-tool schema via ToolSearch, calls EnterWorktree(path=RALPH_WORKTREE), then spawns the next worker without the isolation param. After each iteration the orchestrator runs the Verify command itself (anti-tamper), compares the exit code against ralph-worker-report.v1.verify.exit_code, scans the final assistant message for <promise>…</promise>, and diffs the worktree to detect stuck iterations. The loop terminates on success or on any of the three hard-stop failure modes (FT-RALPH-01 STUCK, FT-RALPH-02 VERIFY-MISMATCH, FT-RALPH-03 MAX-ITER).

Help Subcommand

Running harness-ralph-loop help prints the following:

  1. Overview — harness-ralph-loop is an iterative-loop orchestrator that spawns a fresh ralph-worker subagent per attempt inside a single persistent worktree, runs the Verify command authoritatively, and loops until both the <promise> text tag and verify exit 0 agree.

  2. Philosophy bullets:

    • Iteration > Perfection — let the loop refine; don't aim for perfect on the first try
    • Failures Are Data — deterministically bad means tunable; each failure leaves context
    • Operator Skill Matters — prompt quality is the primary lever, not model strength
    • Persistence Wins — keep trying; the loop handles retry logic automatically
  3. Prompt guidance pointer: For full prompt-writing guidance see prompt-best-practices.md

  4. Task-pattern fit pointer: For task-pattern fit see when-to-ralph.md

When to Use Ralph

See references/when-to-ralph.md for guidance on which tasks are Ralph-suitable and which are not.

Reference Files

FilePurpose
references/loop-flow.mdFull orchestrator pseudocode, prompt template, decision matrix, terminal-state handling
references/when-to-ralph.mdWhen to use Ralph (task patterns, DoD quality checks)
references/prompt-best-practices.mdPrompt writing best practices (A1–A4), philosophy bullets, learn-more links

Related Skills and Agents

  • harness-plan — Emits [ralph] marker + Verify: line for suitable tasks
  • harness-work — Detects [ralph] marker and routes to this skill
  • harness:ralph-worker — The per-iteration worker agent this skill dispatches

Signals

GitHub stars
34
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
harness-ralph-loop
Source
github.com/tim-hub/powerball-harness