关于 ralph-review
ralph-review 是用于检查 Ralph 计划及 bd 任务图缺陷的 Agent 技能。它先验证图结构,再将审查任务交给子 Agent。
主要功能
- 01验证 Epic 与子任务结构
- 02检查循环和就绪任务
- 03比对父级与标签集合
- 04依据源文档审查计划
- 05报告高、中级问题
适用场景
- 01运行前检查 Ralph 计划
- 02查找缺失或孤立的任务
- 03核对任务依赖和描述
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jimweller/ clanker-skills --skill ralph-review安装后在 Claude Code 中输入/ralph-review确认已加载。
详细介绍
STARTER_CHARACTER = 🔍
Ralph 审查
派遣子 Agent 审查 ralph 计划和 bd 图中的缺陷。
派遣
启动器会验证 bd 图、捕获图状态,然后调用子 Agent。
1. 验证 bd 图
推导 slug 并定位运行 epic:
PROJECT_ROOT=$(git rev-parse --show-toplevel)
SLUG=$(git branch --show-current | tr '/' '-')
EPIC=$(bd list -t epic -l "ralph:${SLUG}" --json | jq -r '[.[] | select(.status=="open")] | .[0].id // empty')
运行结构检查。每项失败都属于 HIGH 级问题:
- 恰好有一个带有标签
ralph:${SLUG}的未关闭 epic bd dep cycles未报告任何循环- Epic 至少有一个子项(
bd list --parent "$EPIC") - 至少有一个就绪任务(
bd ready --parent "$EPIC") - 每个子项都有描述
- 父项集合(
bd list --parent "$EPIC")等于标签集合(bd list --label "ralph:${SLUG}",不包括 epic)
检查是否存在孤立节点(MEDIUM 级)。
如有任何 HIGH 级问题,直接报告并停止。图必须结构正确,才能进行审查。
2. 捕获图状态
bd list --parent "$EPIC" --json
bd ready --parent "$EPIC" --json
bd list --label "ralph:${SLUG}" --json
3. 调用子 Agent
使用下方的审查提示词派遣子 Agent。替换 <PROJECT_ROOT>、<SLUG>、<EPIC>、图验证结果和捕获的图状态。
在图验证结果前加上前缀,逐字转发子 Agent 的回复。
审查提示词
你是计划审查员。阅读计划,根据图状态评估计划,并检查缺陷。
来源
阅读 <PROJECT_ROOT>/.llmtmp/ralph-plan.md。然后找到 ## Inputs 部分并解析 plan documents: 行。按逗号拆分、去除空白,然后阅读每个路径。这些是计划文档:规划者参考的前瞻性意图文档(PRD、设计说明)。计划必须忠实呈现这些文档。如果计划遗漏、违背计划文档中的要求,或引用了过时的要求,请标记该计划。
Ralph 循环的工作方式
Ralph 循环是一种自主的迭代执行机制。两种模式共用相同的产物:
- 会话内(ralph-loop 插件):Stop 钩子会将提示词重新提供给同一个 Claude 会话。
- 外部(scripts/ralph.sh):bash while 循环会在每次迭代中启动一个全新的
claude --print。
机制:
- bd 图就是状态机。每次运行都组织在一个独立的运行 epic 下;并发工作树通过
--parent过滤保持隔离。 - 运行 epic 带有标签
ralph:<slug>。每个子任务同时带有--parent <epic>和相同的标签。这两种信号相互独立,用于检测孤立项。 - 计划的“Run Identity”部分记录了字面 slug 和 epic ID。Agent 每次迭代都会从计划中读取它们。
- 每次迭代处理一个任务。Agent 读取
bd ready --parent <epic> --json,选取第一个结果,执行其描述中的内容,关闭任务,然后停止。 - 就绪队列为空时,Agent 会关闭 epic 并输出哨兵。
- 每项操作都是一个 bd 任务(创建分支、BEGIN 标签、代码、文档、END 标签),并且都以运行 epic 为父项。
- 每个 bead 都在其描述中包含完整指令:文件、验证命令、提交消息。
- 运行范围内的约定写在 ralph-plan.md 中,而非每项描述中。
- 环境是前置条件。凭据、工具链和运行时依赖由操作人员负责。
可接受的模式(不要标记):将多个任务合并为一组、部分完成、将 ralph:<slug> 标签用作运行标识(而非工作流派发)。
什么算作一项发现
发现是作者应在执行前修复的缺陷、缺口或风险。符合规范是基本要求,不属于发现。严重程度仅分为 HIGH 或 MEDIUM。严重程度更低的问题不予列出。
HIGH:ralph:<slug> 存在零个或多个未关闭的 epic;描述为空;图中存在环;epic 下没有子项;存在子项但没有就绪任务;父项/标签设置不匹配;每项任务的工作流在 bd close 后仍继续,而不是停止;每项任务的工作流未在 sentinel 之前关闭 epic;缺少 Run Identity 章节;缺少含 plan documents: 行的 Inputs 章节;计划与计划文档相矛盾;Approach 中的文字声明了依赖边并未强制执行的顺序。
MEDIUM:描述未提及验证命令或提交消息;多任务图中存在孤立任务;触及 README.md/CLAUDE.md/.llmdocs/ 的任务由作者直接编辑,而不是运行文档技能(/docs、$docs)。
评估领域
仅检查以下缺陷模式。只报告发现的缺陷,不报告其他内容。
- 目标清晰度 - 目标含糊;仅凭计划,使用全新上下文的迭代无法判断是否成功
- 任务拆分 - 粒度不当;任务无法独立完成;任务缺失或冗余;标题以技术命名;缺少足够的描述细节,导致冷启动的工作者无法执行
- 排序与依赖关系 - 边不正确;
bd ready的顺序会产生错误结果;隐式依赖缺少显式边;存在环;存在孤立节点 - 计划完整性 - 缺少约定/工具/命令;构建/测试/代码检查命令不准确;每项任务的工作流不明确;缺少 Run Identity;工作流缺少 epic 范围限定;缺少 epic 关闭步骤;缺少 STOP 指令;缺少
ralph/分支和 BEGIN/END 标记;内联编辑而非委派给文档技能 - 风险与缺口 - 自主执行可能失败;任务需要人工判断;任务会导致仓库处于损坏状态
- 可行性 - 单次迭代无法实际完成的任务;超出全新上下文自主执行能力的任务
输出格式
# Ralph Loop Review
## Goal Clarity
## Task Decomposition
## Sequencing and Dependencies
## Plan Completeness
## Risk and Gaps
## Feasibility
## Summary
发现格式:- **[high]** 标题。描述。 或 - **[medium]** 标题。描述。
必须包含所有章节标题。每个章节下只列缺陷。某章节没有缺陷时,写“无发现。”
总结:总体评估和最重要的 3 条建议。
引用任务 ID 和章节名称。仅输出评审内容。