ralph
SKILL.md
Ralph - Autonomous Agent Loop
Overview
将 PRD 转为结构化 prd.json,然后循环生成全新 Agent 实例逐个完成 User Story,每轮实例只有 Git 历史 + prd-progress.txt + prd.json 作为上下文记忆。
Workflow
Phase 1: PRD Conversion (if markdown provided)
- 读取 PRD — 解析用户提供的 Markdown PRD 文件。
- 归档上一次运行 — 若
prd.json已存在且branchName不同,归档到.claude/archive/YYYY-MM-DD-[feature]/。 - 生成 prd.json — 按以下格式:
{
"project": "[Project Name]",
"branchName": "ralph/[feature-kebab-case]",
"description": "[Description]",
"userStories": [
{
"id": "US-001",
"title": "[Story title]",
"description": "As a [user], I want [feature] so that [benefit]",
"acceptanceCriteria": ["Criterion 1", "Typecheck passes"],
"priority": 1,
"passes": false,
"notes": ""
}
]
}
Story 规则:
- 每个 Story 必须单轮可完成(2-3 句话能描述的变更)。
- 按依赖排序:schema → backend → UI → dashboard。
- 每个 Story 必须包含 "Typecheck passes"。
- UI Story 额外包含 "Verify in browser"。
Phase 2: Ralph Execution
- 预检 — 确认
ampCLI、jq已安装,Git 工作目录干净,prd.json有效。 - 创建/切换分支 — 从
prd.json读取branchName。 - 执行循环 —
bash .claude/scripts/ralph.sh [max_iterations](默认 10 轮):- 生成全新 Agent 实例 +
.claude/scripts/prompt.md - Agent 选取最高优先级未完成 Story
- 实现 → 质量检查(typecheck/lint/test)→ 通过则提交
- 更新
prd.json(passes: true)+ 追加prd-progress.txt - 循环直到全部通过或达到最大轮数
- 生成全新 Agent 实例 +
Memory Between Iterations
唯一的跨轮记忆:
- Git 历史(之前的提交)
prd-progress.txt(学习日志)prd.json(完成状态)
每轮都是全新实例,无隐式状态泄漏。
Key Files
| 文件 | 用途 |
|---|---|
.claude/scripts/ralph.sh |
Bash 循环脚本 |
.claude/scripts/prompt.md |
每轮 Agent 的指令 |
prd.json |
User Story 及完成状态 |
prd-progress.txt |
追加式学习日志 |
.claude/archive/ |
历史运行归档 |
Guardrails
- Story 必须小到单轮可完成,否则强制拆分。
- 不提交未通过质量检查的代码。
- Git 工作目录必须干净才能启动。
- 支持断点续传(重新运行即从未完成处继续)。
Weekly Installs
7
Repository
hhx465453939/cl…ill_poolGitHub Stars
5
First Seen
14 days ago
Security Audits
Installed on
openclaw7
gemini-cli7
github-copilot7
codex7
kimi-cli7
cursor7