Ralph autonomous agent for iterative development with multi-PRD parallel support. Commands: '/ralph-ryan:prd' (create PRD), '/ralph-ryan:prep' (prepare), '/ralph-ryan:run' (execute), '/ralph-ryan:status' (overview). Triggers on: ralph prd, ralph prep, ralph run, ralph go, ralph status.
View on GitHubwquguru/exoshell
ralph-ryan
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/wquguru/exoshell/blob/main/plugins/ralph-ryan/skills/ralph-ryan/SKILL.md -a claude-code --skill ralph-ryanInstallation paths:
.claude/skills/ralph-ryan/# Ralph Agent
Autonomous coding agent that implements user stories iteratively with **multi-PRD parallel development** support.
---
## Routing
Based on user intent, load the corresponding instruction file:
| Intent | Keywords | Action |
|--------|----------|--------|
| **PRD** | prd, create, generate, plan | Read `{baseDir}/prd.md` |
| **Prep** | prep, prepare, convert, setup | Read `{baseDir}/prep.md` |
| **Run** | run, execute, go, start | Read `{baseDir}/run.md` |
| **Status** | status, list, overview | Read `{baseDir}/status.md` |
---
## Directory Structure (Multi-PRD)
```
.claude/ralph-ryan/
├── prd-06-risk-management/ # PRD 子目录
│ ├── prd.md # PRD 文档
│ ├── prd.json # 结构化数据
│ └── progress.txt # 进度日志
├── prd-07-model-governance/
│ ├── prd.md
│ ├── prd.json
│ └── progress.txt
└── ...
.claude/ralph-ryan-archived/ # 已完成的 PRD
└── 2026-01-29-prd-06-risk-management/
```
**命名规范**: `prd-<slug>` 或 `<descriptive-name>`,使用 kebab-case
---
## Shared Configuration
| Item | Path |
|------|------|
| Working directory | `.claude/ralph-ryan/` |
| PRD 子目录 | `.claude/ralph-ryan/<prd-slug>/` |
| PRD markdown | `.claude/ralph-ryan/<prd-slug>/prd.md` |
| PRD JSON | `.claude/ralph-ryan/<prd-slug>/prd.json` |
| Progress log | `.claude/ralph-ryan/<prd-slug>/progress.txt` |
| Loop state | `.claude/ralph-ryan/<prd-slug>/ralph-loop.local.md` |
| Archived runs | `.claude/ralph-ryan-archived/<date>-<prd-slug>/` |
### prd.json Branch Fields
| Field | Description |
|-------|-------------|
| `branchName` | Target branch for execution |
| `baseBranch` | Base branch for creation (only if creating new branch) |
**Branch strategy (set during prep):**
- **Use current**: `branchName` = current branch, no `baseBranch`
- **New from current**: `branchName` = `ralph/<prd-slug>`, `baseBranch` = current branch
- **New from main**: `branchName` = `ralph/<prd-slug>`, `baseBranch` = `main`
---
## Quick Refer