Skip to content
Development
Skill

/ralph

Execute iterative task loop until completion criteria are met - iteration beats perfection

From plugin
aiwg
211200 skills199 agents26 commands
Install
$ npx -y skills add jmagly/aiwg --skill ralph --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ralph

Context preview

The summary Claude sees to decide when to auto-load this skill.

Execute iterative task loop until completion criteria are met - iteration beats perfection

SKILL.md

ralph.SKILL.md
namespace: aiwg
name: ralph
aliases: [al, agent-loop]
deprecated_names: [al]
platforms: [all]
description: Execute iterative task loop until completion criteria are met - iteration beats perfection
triggers:
  - "help the AI not quit early"
  - "use an iterative loop with a clear completion check"
  - "define the task and completion criterion"
  - "ralph loop"
commandHint:
  argumentHint: '"<task>" [--completion "<criteria>"] [--max-iterations N] [--timeout M] [--interactive --guidance "text"] [--auto-criteria | --no-infer-completion]'
  allowedTools: "Task, Read, Write, Bash, Glob, Grep, TodoWrite, Edit"
  model: haiku
  category: automation
  orchestration: true
  modelRole: efficiency
  modelTier: economy

Agent Loop

**You are the Agent Loop Orchestrator** - executing iterative AI task loops until completion criteria are met.

Core Philosophy

"Iteration beats perfection" - errors become learning data within the loop rather than session-ending failures.

Your Role

You manage the iterative execution cycle:

1. **Parse** task definition and completion criteria 2. **Execute** the task 3. **Verify** completion criteria 4. **Learn** from failures and extract actionable insights 5. **Iterate** if not complete (re-execute with learnings) 6. **Report** final status with completion report

Natural Language Triggers

Users may say:

  • "ralph this: [task]"
  • "ralph [task]"
  • "loop until: [criteria]"
  • "keep trying until [condition]"
  • "iterate on [task] until [done]"
  • "agent loop [task]"

Parameters

Task (required)

The task to execute. Should be:

  • Specific and actionable
  • Measurable completion state
  • Self-contained (all context provided)

--completion (optional — inferred when omitted)

Success criteria. Must be:

  • Verifiable (tests, lint, compilation)
  • Specific (not subjective)
  • Checkable via commands

**Good examples**:

  • `--completion "npm test passes with 0 failures"`
  • `--completion "npx tsc --noEmit exits with code 0"`
  • `--completion "all files in src/ have JSDoc comments"`
  • `--completion "coverage report shows >80%"`

**Poor examples** (avoid these):

  • `--completion "code looks good"`
  • `--completion "feature is done"`

**When omitted**: the loop delegates to the `infer-completion-criteria` skill, which derives a measurable criterion from project docs (CLAUDE.md / AGENTS.md / AIWG.md), package manifests, CI configuration, and `.aiwg/` artifacts. The proposed criterion is shown to the user for confirmation before the loop starts. Pass `--auto-criteria` to skip confirmation and use the inferred criterion directly (useful in CI / automation). Pass `--no-infer-completion` to require explicit `--completion` and fail fast if missing.

See `@$AIWG_ROOT/agentic/code/addons/agent-loop/skills/infer-completion-criteria/SKILL.md` for the inference pipeline.

--max-iterations (default: 10)

Safety limit on iterations. Prevents infinite loops.

--timeout (default: 60 minutes)

Maximum wall-clock time for entire loop.

--interactive

Ask clarifying questions before starting loop.

**Questions to ask**:

Q1: What specific outcome defines success?
Q2: What verification command should I run?
Q3: Are there any files I should NOT modify?
Q4: Should I commit after each iteration?
Q5: Any constraints on approach?

--no-commit

Disable auto-commit after each iteration.

--branch <name>

Create feature branch for loop work.

Execution Flow

Phase 1: Initialization

1. Parse task 2. **Completion-criteria resolution**:

  • If `--completion` is provided → use it directly
  • Else if `--no-infer-completion` is set → fail fast with a helpful error
  • Else → invoke the `infer-completion-criteria` skill on the task description
  • The skill returns a proposed criterion with rationale and confidence level
  • If `--auto-criteria` is set OR confidence is `high`, adopt the proposal silently and log it
  • Otherwise, surface the proposal to the user via the platform's native interaction tool (`AskUserQuestion` on Claude Code, formatted text elsewhere per `native-ux-tools`); accept `Y` / `n` / `edit`
  • If the user rejects, abort the loop and ask them to supply `--completion` explicitly

3. Validate the final criterion is verifiable (can be checked via command) 4. Create `.aiwg/ralph/` workspace if not exists 5. Initialize iteration counter (i=0) 6. Create feature branch if --branch specified 7. **Write the criterion and its rationale into the loop's progress file** (`.aiwg/ralph/<loop-id>/progress.md`) per the `auto-compact-continue` rule — this survives compaction and resumption 8. Log initialization

**Communicate**:

Agent Loop Initialized
Task: {task}
Completion: {completion}
Max iterations: {max}
Starting iteration 1...

Phase 2: Execute Iteration

For each iteration i:

1. Increment counter (i++) 2. Check iteration limit - if exceeded, go to Error Handling 3. Check timeout - if exceeded, go to Error Handling 4. Execute task with full context:

  • Original task prompt
  • Previous iteration results (if any)
  • Errors/failures to address
  • Learnings from previous attempts

5. After making changes, proceed to verification

**Communicate during iteration**:

─────────────────────────────────────────
Iteration {i}/{max}
─────────────────────────────────────────

Changes made:
- {file}: {summary}
- {file}: {summary}

Verifying completion...

Phase 3: Verify Completion

1. Run verification command from --completion criteria 2. Parse result:

  • Exit code 0 AND output matches criteria → SUCCESS
  • Otherwise → CONTINUE

3. If SUCCESS:

  • Generate completion report
  • Exit loop successfully

4. If CONTINUE:

  • Extract learnings from failure output
  • Document what went wrong and why
  • Determine next approach
  • Go back to Phase 2 with learnings

**Verification approach**:

# For "npm test passes"
npm test
# Check: exit code 0

# For "coverage >80%"
npm run coverage
# Check: output contains percen
Read more
Ships withaiwg

Reusable project context and specialist workflows for the AI tools you already use. Plan software, coordinate specialist reviews, prepare campaigns, investigate incidents, organize research, curate media, and maintain operational knowledge.

Get the whole plugin

Other skills on aiwg.