RALPH — Autonomous PRD Implementation
RALPH (Repeated Autonomous Loop for PRD Handling) implements a PRD stored as GitHub issues — autonomously, with TDD, and a code review gate after every iteration.
The Pipeline
This skill is the execution engine for a 4-step coding workflow:
| Step | Command | What It Does |
|---|
| 1 | | Stress-test your idea with relentless questions before building |
| 2 | | Turn the idea into an engineering spec (PRD) as a GitHub issue |
| 3 | | Break the PRD into vertical-slice sub-issues with dependencies |
| 4 | | Implement each sub-issue autonomously with TDD + code review |
Steps 1-3 use skills from
Matt Pocock. Install them:
bash
npx skills@latest add mattpocock/skills -s grill-me
npx skills@latest add mattpocock/skills -s write-a-prd
npx skills@latest add mattpocock/skills -s prd-to-issues
Setup
After installing this skill, copy the RALPH scripts to your project root:
bash
mkdir -p ralph
cp .agents/skills/ralph/afk-ralph.sh ralph/
cp .agents/skills/ralph/ralph-once.sh ralph/
cp .agents/skills/ralph/prompt.md ralph/
cp .agents/skills/ralph/review-prompt.md ralph/
chmod +x ralph/*.sh
Requirements
- Claude Code CLI
- GitHub CLI () — authenticated
- Docker Desktop with Sandbox support (AFK mode only)
- Git
Usage
— Human-in-the-loop (start here)
Implements one sub-issue from PRD #42, then stops for your review. Run again for the next one. Recommended for your first few iterations.
/ralph <issue-number> afk [max-iterations]
— Autonomous
bash
./ralph/afk-ralph.sh 42 20
Runs up to 20 iterations inside a Docker sandbox. Each iteration: implement one sub-issue, run tests, commit, code review, close issue. When all sub-issues are done, pushes the branch and opens a PR.
Instructions
When the user invokes this skill:
- Parse arguments: first is the PRD issue number (required), second is mode ( or , default ), third is max iterations for afk mode (default 20)
- If no issue number is provided, ask for it
- Verify directory exists at the project root. If not, guide the user through setup (copy scripts from )
- For mode (default):
bash
./ralph/ralph-once.sh <issue-number>
- For mode:
bash
./ralph/afk-ralph.sh <issue-number> <max-iterations>
- Report the result when complete
How It Works
- Scripts fetch the PRD issue and all sub-issues via CLI
- Sub-issues are found by searching for in their body
- Each iteration: Claude picks one open, unblocked sub-issue and implements it using TDD
- Tests must pass before every commit (auto-detected from project config)
- After committing, a code review gate checks for bugs, logic errors, security issues, and architecture violations
- Claude closes the sub-issue on GitHub with a comment linking the commit
- Loop continues until all sub-issues are closed
Sub-Issue Format
Sub-issues created by
follow this format:
markdown
## Parent PRD
#42
## What to build
Description of the work...
## Acceptance criteria
- [ ] Criterion 1
- [ ] Criterion 2
## Blocked by
- #43
Tips
- Start with (once mode). Validate the first iteration before going AFK.
- Keep sub-issues small. One logical change per sub-issue prevents context rot.
- Use first. The more you think before coding, the better RALPH performs.
- Use blocked-by. Declare dependencies so RALPH works in the right order.