setup-ralph
Set up and configure Geoffrey Huntley's original Ralph Wiggum autonomous coding loop in any directory with proper structure, prompts, and backpressure.
Best use case
setup-ralph is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Set up and configure Geoffrey Huntley's original Ralph Wiggum autonomous coding loop in any directory with proper structure, prompts, and backpressure.
Teams using setup-ralph should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/setup-ralph/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How setup-ralph Compares
| Feature / Agent | setup-ralph | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Set up and configure Geoffrey Huntley's original Ralph Wiggum autonomous coding loop in any directory with proper structure, prompts, and backpressure.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
<essential_principles> ## What is Ralph? Ralph is Geoffrey Huntley's autonomous AI coding methodology that uses iterative loops with task selection, execution, and validation. In its purest form, it's a Bash loop: ```bash while :; do cat PROMPT.md | claude ; done ``` The loop feeds a prompt file to Claude, the agent completes one task, updates the implementation plan, commits changes, then exits. The loop restarts immediately with fresh context. ### Core Philosophy **The Ralph Wiggum Technique is deterministically bad in an undeterministic world.** Ralph solves context accumulation by starting each iteration with fresh context—the core insight behind Geoffrey's approach. ### Three Phases, Two Prompts, One Loop 1. **Planning Phase**: Gap analysis (specs vs code) outputs prioritized TODO list—no implementation, no commits 2. **Building Phase**: Picks tasks from plan, implements, runs tests (backpressure), commits 3. **Observation Phase**: You sit on the loop, not in it—engineer the setup and environment that allows Ralph to succeed ### Key Principles **Your Role**: Ralph does all the work, including deciding which planned work to implement next and how to implement it. Your job is to engineer the environment. **Backpressure**: Create backpressure via tests, typechecks, lints, builds that reject invalid/unacceptable work. **Observation**: Watch, especially early on. Prompts evolve through observed failure patterns. **Context Efficiency**: With ~176K usable tokens from 200K window, allocating 40-60% to "smart zone" means tight tasks with one task per loop achieves maximum context utilization. **File I/O as State**: The plan file persists between isolated loop executions, serving as deterministic shared state—no sophisticated orchestration needed. **Remote Backup**: The loop automatically creates a private GitHub repo and pushes after each commit. This protects against accidental data loss from autonomous operations. Requires `gh` CLI authenticated. Disable with `RALPH_BACKUP=false`. **Safety Rules**: PROMPT_build.md includes critical safety rules prohibiting dangerous operations like `rm -rf` on project directories. Tests must run in isolated temp directories. </essential_principles> <intake> What would you like to do? 1. **Set up a new Ralph loop** - Initialize Ralph structure in a directory 2. **Understand Ralph concepts** - Learn about the technique and how it works 3. **Customize existing loop** - Modify prompts or configuration 4. **Troubleshoot Ralph** - Debug loop issues or improve performance Wait for response before proceeding. </intake> <routing> | Response | Workflow | |----------|----------| | 1, "set up", "setup", "new", "initialize", "create" | `workflows/setup-new-loop.md` | | 2, "understand", "learn", "concepts", "explain", "how" | `workflows/understand-ralph.md` | | 3, "customize", "modify", "change", "update", "edit" | `workflows/customize-loop.md` | | 4, "troubleshoot", "debug", "fix", "problem", "issue" | `workflows/troubleshoot-loop.md` | | Other | Clarify intent, then select appropriate workflow | After reading the workflow, follow it exactly. </routing> <reference_index> ## Domain Knowledge All in `references/`: **Core Concepts:** ralph-fundamentals.md - Three phases, two prompts, one loop **Structure:** project-structure.md - Required files and directory layout **Prompts:** prompt-design.md - Planning vs building mode instructions **Backpressure:** validation-strategy.md - Tests, lints, builds as steering **Best Practices:** operational-learnings.md - AGENTS.md guidance and evolution </reference_index> <workflows_index> | Workflow | Purpose | |----------|---------| | setup-new-loop.md | Initialize Ralph structure in a directory | | understand-ralph.md | Learn Ralph concepts and philosophy | | customize-loop.md | Modify prompts or loop configuration | | troubleshoot-loop.md | Debug loop issues and improve performance | </workflows_index> <success_criteria> Skill is successful when: - User understands which workflow they need - Appropriate workflow loaded based on intent - All required references loaded by workflow - User can set up and run Ralph loops independently </success_criteria>
Related Skills
build-macos-apps
Build professional native macOS apps in Swift with SwiftUI and AppKit. Full lifecycle - build, debug, test, optimize, ship. CLI-only, no Xcode.
build-iphone-apps
Build professional native iPhone apps in Swift with SwiftUI and UIKit. Full lifecycle - build, debug, test, optimize, ship. CLI-only, no Xcode. Targets iOS 26 with iOS 18 compatibility.
debug-like-expert
Deep analysis debugging mode for complex issues. Activates methodical investigation protocol with evidence gathering, hypothesis testing, and rigorous verification. Use when standard troubleshooting fails or when issues require systematic root cause analysis.
create-subagents
Expert guidance for creating, building, and using Claude Code subagents and the Task tool. Use when working with subagents, setting up agent configurations, understanding how agents work, or using the Task tool to launch specialized agents.
create-slash-commands
Expert guidance for creating Claude Code slash commands. Use when working with slash commands, creating custom commands, understanding command structure, or learning YAML configuration.
create-plans
Create hierarchical project plans optimized for solo agentic development. Use when planning projects, phases, or tasks that Claude will execute. Produces Claude-executable plans with verification criteria, not enterprise documentation. Handles briefs, roadmaps, phase plans, and context handoffs.
create-meta-prompts
Create optimized prompts for Claude-to-Claude pipelines with research, planning, and execution stages. Use when building prompts that produce outputs for other prompts to consume, or when running multi-stage workflows (research -> plan -> implement).
create-mcp-servers
Create Model Context Protocol (MCP) servers that expose tools, resources, and prompts to Claude. Use when building custom integrations, APIs, data sources, or any server that Claude should interact with via the MCP protocol. Supports both TypeScript and Python implementations.
create-hooks
Expert guidance for creating, configuring, and using Claude Code hooks. Use when working with hooks, setting up event listeners, validating commands, automating workflows, adding notifications, or understanding hook types (PreToolUse, PostToolUse, Stop, SessionStart, UserPromptSubmit, etc).
create-agent-skills
Expert guidance for creating, writing, building, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices.
Enterprise Submodule Setup
Use this skill when making changes to the enterprise submodule (`.source/`) or enterprise packages (`enterprise/packages/*`), or when the enterprise submodule needs to be initialized/updated.
odoo-hr-payroll-setup
Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries.