--- name: ralph description: Autonomous PRD implementation loop — turns GitHub issues into shipped code using TDD, code review gates, and Docker sandbox isolation. The execution engine for the grill-me → write-a-prd → prd-to-issues → ralph pipeline. --- # 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 | `/grill-me` | Stress-test your idea with relentless questions before building | | 2 | `/write-a-prd` | Turn the idea into an engineering spec (PRD) as a GitHub issue | | 3 | `/prd-to-issues` | Break the PRD into vertical-slice sub-issues with dependencies | | 4 | `/ralph` | Implement each sub-issue autonomously with TDD + code review | Steps 1-3 use skills from [Matt Pocock](https://github.com/mattpocock/skills). 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](https://claude.ai/code) CLI - [GitHub CLI](https://cli.github.com/) (`gh`) — authenticated - [Docker Desktop](https://www.docker.com/products/docker-desktop/) with Sandbox support (AFK mode only) - Git ## Usage ### `/ralph ` — Human-in-the-loop (start here) ```bash ./ralph/ralph-once.sh 42 ``` 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 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: 1. Parse arguments: first is the PRD issue number (required), second is mode (`once` or `afk`, default `once`), third is max iterations for afk mode (default 20) 2. If no issue number is provided, ask for it 3. Verify `ralph/` directory exists at the project root. If not, guide the user through setup (copy scripts from `.agents/skills/ralph/`) 4. For `once` mode (default): ```bash ./ralph/ralph-once.sh ``` 5. For `afk` mode: ```bash ./ralph/afk-ralph.sh ``` 6. Report the result when complete ## How It Works 1. Scripts fetch the PRD issue and all sub-issues via `gh` CLI 2. Sub-issues are found by searching for `Parent PRD #` in their body 3. Each iteration: Claude picks one open, unblocked sub-issue and implements it using TDD 4. Tests must pass before every commit (auto-detected from project config) 5. After committing, a code review gate checks for bugs, logic errors, security issues, and architecture violations 6. Claude closes the sub-issue on GitHub with a comment linking the commit 7. Loop continues until all sub-issues are closed ## Sub-Issue Format Sub-issues created by `/prd-to-issues` 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 `/ralph` (once mode).** Validate the first iteration before going AFK. - **Keep sub-issues small.** One logical change per sub-issue prevents context rot. - **Use `/grill-me` first.** The more you think before coding, the better RALPH performs. - **Use blocked-by.** Declare dependencies so RALPH works in the right order.