name: ralphing description: 这个技能应被用于设置或运行 Ralph 自治编码循环,该循环迭代故事、运行测试、提交和记录学习。
Ralphing
Ralph 是一个自治的 AI 编码循环,可以在您睡觉时交付功能。每次迭代都在一个新的上下文窗口中运行,而记忆通过 git 历史和文本文件持久化。
何时使用
当用户希望自主实现多故事功能,或提到“ralph”、“ralphing”或“自治循环”时。
工作流程
步骤 1:获取 PRD
用户提供 PRD 文件,或者您帮助他们创建一个。询问:
- 您已经有 PRD 了吗,还是我们应该一起创建?
- 仓库路径是什么?
- 测试命令是什么?(例如,
bundle exec rake,npm test) - 最大迭代次数是多少?(默认:25)
PRD 格式
# PRD
分支:`<分支名称>`
## 故事
### US-001:<故事标题>
- [ ] <验收标准>
- [ ] <验收标准>
### US-002:<故事标题>
- [ ] <验收标准>
故事指南:
- 小:必须适应一个上下文窗口
- 明确标准:避免模糊(“用户可以登录”),优先具体检查
- 故事顺序 = 优先级(第一个 = 最高)
注意:Ralph 通常在一个 git 工作树中运行。如果已经处于正确的分支(或分离的 HEAD),则跳过分支检出。
步骤 2:启动循环
~/.claude/skills/ralphing/assets/ralph.sh start <repo_path> <prd.md> [max_iterations] [test_cmd]
这会返回一个会话目录(例如,/tmp/ralph/ABC123-...)并在后台运行循环。
步骤 3:监控进度
定期轮询会话状态:
~/.claude/skills/ralphing/assets/ralph.sh status <ralph_dir>
这输出:
status:running、complete或failediteration:当前/最大迭代次数progress.txt的完整内容
持续轮询直到状态为 complete 或 failed。
循环如何工作
start复制 PRD,生成提示,检出分支(如果需要),并产生后台进程- 后台循环:代理实现故事 -> 提交 -> 运行测试
- 如果测试失败,回滚提交并重试(progress.txt 保留)
- 当代理发出
<promise>COMPLETE</promise>或达到最大迭代次数时退出 - 父代理轮询
status以观察进度而不阻塞
资源
assets/ralph.sh- 循环脚本(启动/状态命令)assets/prompt.md- 提示模板(使用<RALPH_DIR>占位符)