Skip to main content
skill CX Codex

ralph-wiggum — Claude Code skill: what it does, how to install

Spec-driven autonomous coding via an iterative bash loop. Runs each task with a fresh context window, saving state to disk between steps.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add fstandhartinger/ralph-wiggum --skill ralph-wiggum -a claude-code
Open on GitHub

What ralph-wiggum does

This skill implements an iterative bash loop methodology for spec-driven development. In each pass, the agent picks a specification file from specs/, writes implementation code, runs tests, and commits the result. Shared state persists between iterations via repository files and ralph_history.txt.

Fresh context prevents degradation. Every loop runs as a clean agent process, which stops context overflow during long tasks. The agent signals completion strictly with <promise>DONE</promise>. If tests fail or criteria stay unmet, the loop retries.

Full autonomy requires flags that skip interactive confirmations. Run this workflow inside a sandbox, because unattended file edits can break repository state.

What it helps with

  • execute a queue of feature specifications autonomously
  • prevent context degradation across lengthy development runs
  • enforce test passing before any commit is completed
  • track blockers and progress across loops in ralph_history.txt

Example prompts for the agent

  • Run the Ralph loop against the feature specs in the specs directory
  • Create a new spec with measurable acceptance criteria for user auth
  • Run ./scripts/ralph-loop.sh in plan mode to break down upcoming tasks

How to install ralph-wiggum

1Skills CLI (Vercel)

npx skills add fstandhartinger/ralph-wiggum --skill ralph-wiggum -a claude-code

2Manually: put the files in place

~/.claude/skills/ralph-wiggum/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/ralph-wiggum/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about ralph-wiggum

How to install ralph-wiggum in Claude Code?

Run npx skills add fstandhartinger/ralph-wiggum --skill ralph-wiggum -a claude-code. This installs the skill for Claude Code.

What does ralph-wiggum do?

It runs an iterative bash loop where an agent works through specs one by one. Each step starts with a clean context window and checks tests before committing.

How does the loop know when a task is finished?

The bash script watches for <promise>DONE</promise>. The agent prints this token only when acceptance criteria are met and changes are committed.

Source text

SKILL.md · MIT
---
name: ralph-wiggum
description: Autonomous AI coding with spec-driven development. Implements Geoffrey Huntley's iterative bash loop methodology where agents work through specs one at a time, outputting a completion signal only when acceptance criteria are 100% met.
license: MIT
metadata:
  author: fstandhartinger
  version: "1.0"
  repository: https://github.com/fstandhartinger/ralph-wiggum
  website: https://ralph-wiggum.ai
---

# Ralph Wiggum

> Autonomous AI coding with spec-driven development

## What is Ralph Wiggum?

Ralph Wiggum combines **Geoffrey Huntley's iterative bash loop** with **spec-driven development** for fully autonomous AI-assisted software development.

The key insight: **Fresh context each iteration**. Each loop starts a new agent process with a clean context window, preventing context overflow and degradation.

## When to Use This Skill

Use Ralph Wiggum when:

- You have multiple specifications/features to implement
- You want the AI to work autonomously through tasks
- You need consistent, verifiable completion of acceptance criteria
- You want to avoid context window problems in long sessions

## How It Works

```
┌─────────────────────────────────────────────────────────────┐
│                     RALPH LOOP                              │
├─────────────────────────────────────────────────────────────┤
│  Loop 1: Pick spec A → Implement → Test → Commit → DONE    │
│  Loop 2: Pick spec B → Implement → Test → Commit → DONE    │
│  Loop 3: Pick spec C → Implement → Test → Commit → DONE    │
│  ...                                                        │
│                                                             │
│  Each iteration = Fresh context window                      │
│  Shared state = Files on disk (specs, plan, history)        │
└─────────────────────────────────────────────────────────────┘
```

## Installation

### Quick Install (via Skill Installers)

```bash
# Using Vercel's add-skill
npx add-skill fstandhartinger/ralph-wiggum

# Using OpenSkills
openskills install fstandhartinger/ralph-wiggum
```

### Full Setup (Recommended)

For full Ralph Wiggum setup with constitution and interview:

```bash
# Tell your AI agent:
"Set up Ralph Wiggum using https://github.com/fstandhartinger/ralph-wiggum"
```

The agent will guide you through a **lightweight, pleasant setup**:

1. **Quick Setup** (~1 min) — Create directories, download scripts
2. **Project Interview** — Focus on your **vision and goals** (not tech details)
3. **Constitution** — Create a guiding document for all sessions
4. **Next Steps** — Clear guidance on creating specs and starting Ralph

For existing projects, the agent detects your tech stack automatically. The interview prioritizes understanding *what you're building and why*.

## Core Concepts

### 1. Fresh Context Each Loop

Each iteration of the Ralph loop starts a new AI agent process. This means:
- No context window overflow
- No degradation over time
- Clean slate for each task

### 2. Shared State on Disk

State persists between loops via files:
- `specs/` — Feature specifications with acceptance criteria
- `ralph_history.txt` — Log of breakthroughs, blockers, learnings
- `IMPLEMENTATION_PLAN.md` — Optional detailed task breakdown

### 3. Completion Signal

The agent outputs `<promise>DONE</promise>` **ONLY** when:
- All acceptance criteria are verified
- Tests pass
- Changes are committed and pushed

The bash loop checks for this phrase. If not found, it retries.

### 4. Backpressure via Tests

Tests, lints, and builds act as guardrails. The agent must fix issues before outputting the completion signal.

## Usage

### Creating Specifications

**The key to success:** Each spec needs **clear, testable acceptance criteria**. This is what tells Ralph when a task is truly "done."

```markdown
# Feature: User Authentication

## Requirements
- OAuth login with Google
- Session management
- Logout functionality

## Acceptance Criteria
- [ ] User can log in with Google
- [ ] Session persists across page reloads
- [ ] User can log out
- [ ] Tests pass

**Output when complete:** `<promise>DONE</promise>`
```

**Good criteria:** "User can log in with Google and session persists"
**Bad criteria:** "Auth works correctly"

The more specific your acceptance criteria, the better Ralph performs.

### Running the Loop

```bash
# Start building (Claude Code)
./scripts/ralph-loop.sh

# With max iterations
./scripts/ralph-loop.sh 20

# Using Codex CLI
./scripts/ralph-loop-codex.sh
```

### Logging (All Output Captured)

Every loop run writes **all output** to log files in `logs/`:

- **Session log:** `logs/ralph_*_session_YYYYMMDD_HHMMSS.log` (entire run, including CLI output)
- **Iteration logs:** `logs/ralph_*_iter_N_YYYYMMDD_HHMMSS.log` (per-iteration CLI output)
- **Codex last message:** `logs/ralph_codex_output_iter_N_*.txt`

## Two Modes

| Mode | Purpose | Command |
|------|---------|---------|
| **build** (default) | Pick spec, implement, test, commit | `./scripts/ralph-loop.sh` |
| **plan** (optional) | Create detailed task breakdown | `./scripts/ralph-loop.sh plan` |

## Key Principles

### Let Ralph Ralph

Trust the AI to self-identify, self-correct, and self-improve. Observe patterns and adjust prompts.

### YOLO Mode

For Ralph to work effectively, enable full autonomy:
- Claude Code: `--dangerously-skip-permissions`
- Codex: `--dangerously-bypass-approvals-and-sandbox`

⚠️ **Use at your own risk.** Only in sandboxed environments.

## Links

- **GitHub:** https://github.com/fstandhartinger/ralph-wiggum
- **Website:** https://ralph-wiggum.ai
- **Original methodology:** [Geoffrey Huntley's how-to-ralph-wiggum](https://github.com/ghuntley/how-to-ralph-wiggum)

© fstandhartinger · MIT · fstandhartinger/ralph-wiggum

Similar skills

All skills for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor