用途
Ralph Loop Template 用于从计划文件或当前对话中生成一份可迭代的清单式 PROMPT 文件,供 Ralph Loop 按阶段反复执行。它最终会输出生成的 PROMPT 文件路径,以及一条可直接复制运行的 /ralph-loop 命令。
主要能力
该技能按六个步骤工作:
-
收集计划:若提供了参数,则读取对应文件内容;若没有参数,则依次在项目根目录查找 PLAN.md、plan.md、PLAN-.md、plan-.md、TODO.md、prd.md、PRD.md。找到一个即使用并告知用户;找到多个则列出让用户选择;没有找到则转而使用当前对话中的计划,对话中也没有时要求用户描述计划。
-
识别项目环境:按优先级查找代理/项目配置文件 CLAUDE.md(Claude Code)、.cursorrules(Cursor)、.windsurfrules(Windsurf)、AGENTS.md、COPILOT.md、GEMINI.md。找到后提取验证命令(将 build、test、lint 合并为一条链,如 npm run lint && npm run build && npm test)和关键代码风格规则(最多 3 条填入 {AGENT_RULES})。若未找到配置文件,则从项目结构推断:package.json → npm/yarn 命令;Makefile / Justfile → make/just 命令;Cargo.toml → cargo 命令;pyproject.toml / setup.py → Python 工具链。无法识别时询问用户构建/测试命令。
-
分析计划:提取目标、非目标(防止 Feature Invention)、阶段列表、各阶段关键内容(涉及文件与实现细节)、参考文档/文件路径,以及完成标准。完成标准必须可机械验证(例如命令执行返回退出码 0),不能使用“运行良好”“看起来干净”之类主观标准。
-
阶段拆分:将计划拆分为适合 Ralph Loop 迭代的阶段。一次迭代恰好处理一个阶段;阶段完成后立即结束本轮迭代。每个阶段必须是能独立通过验证的最小单元;过大的拆分、过小的合并。当描述需要 3 句以上时考虑拆分,当只是对单个文件的一行改动时考虑与相邻阶段合并。合适的规模是代理能在单个上下文中实现并验证。max-iterations 计算方式为:阶段数 + 2(+1 用于验证失败时自动重试的缓冲,+1 用于完成最后阶段后输出 promise 的迭代缓冲)。
-
生成 PROMPT 文件:以 references/prompt-template.md 为基础模板、references/iteration-procedure.md 为迭代过程块,在项目根目录创建 PROMPT-{kebab-case-name}.md。占位符映射包括 {goal title}、{project name}、{goal}、{AGENT_RULES}、{non-goals}、{reference doc rows}、{iteration procedure}、{checklist}、{verification command}、{COMPLETION_PROMISE} 等,分别来自分析步骤结果、项目目录名或配置文件、配置规则、阶段拆分结果等;无配置文件时省略 {AGENT_RULES} 整行,无参考文档时省略整个参考文档区块;非目标至少 2 项。注意带花括号的示例文本(如范围内发现记录格式)应原样保留不替换。
-
输出结果:给出生成的 PROMPT 文件路径,并输出如下格式的 /ralph-loop 命令:
/ralph-loop "Read {PROMPT file path} and implement the next unchecked phase. Always read the file first to find the first phase with [ ] items." --max-iterations {number of phases + 2} --completion-promise "{COMPLETION_PROMISE}"
生成规则
清单书写规则:阶段即迭代单元,单个 ### Phase N 块在一次次迭代中处理;子项为阶段内详细任务,每个 Phase 下放 2–5 个 - [ ] 子项,子项应指明要修改的文件与实现细节;验证不是清单项,它在迭代过程的 STEP 4 中自动运行,使用 Step 2 检测到的项目构建/测试命令。
非目标书写规则:除计划明确排除的内容外,还应推断加入计划范围外的重构、未请求的测试/文档/配置变更,以及计划未指定的既有 API 或接口变更。
COMPLETION_PROMISE 生成规则:大写英文、空格分隔,简要概括目标,例如 "HELP OVERLAY COMPLETE"、"AUTH REFACTOR DONE"。
适用场景
适用于已有 PLAN、PRD、TODO 等计划文件或对话中已讨论明确计划,且希望将开发任务按阶段拆分、逐次迭代实现并自动验证的工程场景,尤其是需要 Ralph Loop 自动重试与阶段化推进的工作流。
限制
完成标准必须可机械验证,不接受主观判断;阶段拆分需遵循“一次迭代一个阶段”的约束;max-iterations 由阶段数加 2 得出;缺少计划、配置或验证命令时需要向用户询问。