RALPH任务完成循环技能Skill ralph

RALPH任务完成循环技能是一个用于确保软件开发任务完全完成并通过验证的持久循环工具。它通过并行执行、自动重试和架构师验证来保证工作质量,适用于复杂任务管理。关键词:任务完成、验证、循环、架构师审核、并行处理、持久性、软件开发、自动化测试、质量保证。

架构设计 0 次安装 0 次浏览 更新于 3/11/2026

名称: ralph 描述: 自我引用循环直到任务完成,经过架构师验证

[RALPH + ULTRAWORK - 迭代 {{ITERATION}}/{{MAX}}]

您之前的尝试没有输出完成承诺。继续处理任务。

<目的> Ralph 是一个持久循环,持续处理任务直到完全完成并经过架构师验证。它将超工作的并行执行与会话持久性、失败自动重试以及完成前强制验证包装在一起。 </目的>

<使用时机>

  • 任务需要保证完成并经过验证(不仅仅是“尽力而为”)
  • 用户说“ralph”、“不要停”、“必须完成”、“完成这个”或“持续直到完成”
  • 工作可能跨越多次迭代,需要在重试间保持持久性
  • 任务受益于并行执行,并在结束时由架构师签署 </使用时机>

<不要使用时>

  • 用户想要从想法到代码的完整自主管道——改用 autopilot
  • 用户想在提交前探索或计划——改用 plan 技能
  • 用户想要快速一次性修复——直接委托给执行代理
  • 用户想要手动控制完成——直接使用 ultrawork </不要使用时>

<为什么存在> 复杂任务常常无声失败:部分实现被宣布为“完成”,测试被跳过,边缘情况被遗忘。Ralph 通过循环直到工作真正完成来防止这种情况,要求在允许完成前提供新的验证证据,并使用分层架构师审核来确认质量。 </为什么存在>

<执行策略>

  • 同时触发独立代理调用——从不按顺序等待独立工作
  • 对长操作使用 run_in_background: true(安装、构建、测试套件)
  • 委托给代理时始终显式传递 model 参数
  • 首次委托前阅读 docs/shared/agent-tiers.md 以选择正确的代理层级
  • 交付完整实现:不缩减范围、不部分完成、不删除测试以使它们通过 </执行策略>

<步骤>

  1. 回顾进展:检查 TODO 列表和任何先前迭代状态
  2. 从离开处继续:拾取未完成任务
  3. 并行委托:将任务路由到适当层级的专业代理
    • 简单查找:低层级(Haiku)——“此函数返回什么?”
    • 标准工作:中层级(Sonnet)——“添加此模块的错误处理”
    • 复杂分析:高层级(Opus)——“调试此竞争条件”
  4. 在后台运行长操作:构建、安装、测试套件使用 run_in_background: true
  5. 用新证据验证完成: a. 识别证明任务完成的命令 b. 运行验证(测试、构建、代码检查) c. 读取输出——确认它实际通过 d. 检查:零待处理/进行中 TODO 项
  6. 架构师验证(分层):
    • <5 个文件,<100 行带完整测试:标准层级最低(architect-medium / Sonnet)
    • 标准变更:标准层级(architect-medium / Sonnet)
    • 20 个文件或安全/架构变更:彻底层级(architect / Opus)

    • Ralph 底线:即使小变更也始终至少标准层级
  7. 批准时:运行 /oh-my-claudecode:cancel 以干净退出并清理所有状态文件
  8. 拒绝时:修复提出的问题,然后在同一层级重新验证 </步骤>

<工具使用>

  • 首次使用 MCP 工具前,调用 ToolSearch("mcp") 以发现延迟的 MCP 工具
  • 对于安全敏感、架构相关或涉及复杂多系统集成的变更,使用 ask_codexagent_role: "architect" 进行验证交叉检查
  • 对于简单功能添加、充分测试的变更或时间关键验证,跳过 Codex 咨询
  • 如果 ToolSearch 未找到 MCP 工具或 Codex 不可用,仅使用架构师代理验证继续——从不因外部工具而阻塞
  • 使用 state_write / state_read 用于 ralph 模式在迭代间的状态持久性 </工具使用>

<示例> <好> 正确并行委托:

Task(subagent_type="oh-my-claudecode:executor-low", model="haiku", prompt="添加 UserConfig 的类型导出")
Task(subagent_type="oh-my-claudecode:executor", model="sonnet", prompt="实现 API 响应的缓存层")
Task(subagent_type="oh-my-claudecode:executor-high", model="opus", prompt="重构认证模块以支持 OAuth2 流程")

为什么好:三个独立任务同时触发在适当层级。 </好>

<好> 完成前正确验证:

1. 运行:npm test           → 输出:“42 通过,0 失败”
2. 运行:npm run build      → 输出:“构建成功”
3. 运行:lsp_diagnostics    → 输出:0 错误
4. 生成 architect-medium  → 裁决:“批准”
5. 运行 /oh-my-claudecode:cancel

为什么好:每步都有新证据,架构师验证,然后干净退出。 </好>

<坏> 未经验证声称完成: “所有更改看起来不错,实现应该能正确工作。任务完成。” 为什么坏:使用“应该”和“看起来不错”——没有新测试/构建输出,无架构师验证。 </坏>

<坏> 独立任务顺序执行:

Task(executor-low, “添加类型导出”) → 等待 →
Task(executor, “实现缓存”) → 等待 →
Task(executor-high, “重构认证”)

为什么坏:这些是应并行运行的独立任务,而非顺序。 </坏> </示例>

<升级与停止条件>

  • 当基本阻塞需要用户输入时停止并报告(缺失凭据、需求不明确、外部服务宕机)
  • 当用户说“停止”、“取消”或“中止”时停止——运行 /oh-my-claudecode:cancel
  • 当钩子系统发送“巨石永不停止”时继续工作——这意味着迭代继续
  • 如果架构师拒绝验证,修复问题并重新验证(不要停止)
  • 如果同一问题在 3+ 次迭代中重复出现,将其报告为潜在基本问题 </升级与停止条件>

<最终检查清单>

  • [ ] 原始任务的所有要求都已满足(无范围缩减)
  • [ ] 零待处理或进行中 TODO 项
  • [ ] 新测试运行输出显示所有测试通过
  • [ ] 新构建输出显示成功
  • [ ] lsp_diagnostics 显示受影响文件 0 错误
  • [ ] 架构师验证通过(标准层级最低)
  • [ ] 已运行 /oh-my-claudecode:cancel 以清理状态 </最终检查清单>

<高级>

PRD 模式(可选)

当用户提供 --prd 标志时,在启动 ralph 循环前初始化产品需求文档。

检测 PRD 模式

检查 {{PROMPT}} 是否包含 --prd--PRD

PRD 工作流

  1. 创建 .omc/prd.json.omc/progress.txt
  2. 解析任务(--prd 标志后的所有内容)
  3. 分解为用户故事:
{
  "项目": "[项目名称]",
  "分支名": "ralph/[功能名称]",
  "描述": "[功能描述]",
  "用户故事": [
    {
      "id": "US-001",
      "标题": "[短标题]",
      "描述": "作为一个 [用户],我想要 [动作] 以便 [好处]。",
      "验收标准": ["标准 1", "类型检查通过"],
      "优先级": 1,
      "通过": false
    }
  ]
}
  1. 创建 progress.txt 带时间戳和空模式部分
  2. 指南:大小适中的故事(每个会话一个)、可验证标准、独立故事、优先级顺序(基础工作优先)
  3. 使用用户故事作为任务列表继续正常 ralph 循环

示例

用户输入:--prd 使用 React 和 TypeScript 构建待办事项应用 工作流:检测标志,提取任务,创建 .omc/prd.json,创建 .omc/progress.txt,开始 ralph 循环。

后台执行规则

在后台运行 (run_in_background: true):

  • 包安装(npm install、pip install、cargo build)
  • 构建过程(make、项目构建命令)
  • 测试套件
  • Docker 操作(docker build、docker pull)

阻塞运行(前台):

  • 快速状态检查(git status、ls、pwd)
  • 文件读写和编辑
  • 简单命令 </高级>

原始任务: {{PROMPT}}