用途
Spec Completion Review 用于验证某个 spec 中所有任务的合并实现是否满足该 spec 的需求。它明确只做规格符合性确认,不进行代码质量审查——代码质量由 impl-review 负责。该技能由 /flow-next:spec-completion-review 触发。
主要能力
- 以 spec 为单位,检查所有任务合并后的实现是否覆盖 spec 需求。
- 支持三种审查后端:
- rp — RepoPrompt(macOS GUI),由 builder 自动选择上下文,为主后端。
- codex — Codex CLI(跨平台),使用 OpenAI 模型(默认 gpt-5.5),可通过 FLOW_CODEX_MODEL / FLOW_CODEX_EFFORT 环境变量或 --spec codex:gpt-5.4:xhigh 指定。
- copilot — GitHub Copilot CLI(跨平台),通过 Copilot 订阅支持 Claude Opus/Sonnet/Haiku 4.5 与 GPT-5.2 系列,可通过 FLOW_COPILOT_MODEL / FLOW_COPILOT_EFFORT 环境变量或 --spec copilot:claude-opus-4.5:xhigh 指定。
- 后端选择优先级(先匹配者胜出):
- --review=rp|codex|copilot|none 参数
- FLOW_REVIEW_BACKEND 环境变量(裸后端名或 spec 形式)
- .flow/config.json 中的 review.backend
- 均无配置则报错,不自动检测
- spec 语法为 backend[:model[:effort]],FLOW_REVIEW_BACKEND 与 .flow/config.json 的 review.backend 均接受该形式。每个 spec 的 default_review(通过 flowctl spec set-backend 设置)会覆盖环境变量。
- 内置 flowctl(非全局安装),需使用:FLOWCTL="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/flowctl"。
使用方式
输入格式:<spec-id> [--review=rp|codex|copilot|none]
- Spec ID 为必填,例如 fn-1 或 fn-22-53k。
- --review 为可选的后端覆盖参数。
工作流步骤:
- 解析参数:从 $ARGUMENTS 中提取匹配 fn-* 的第一个位置参数作为 SPEC_ID,提取 --review=<backend> 作为后端覆盖,其余参数作为关注点。
- 检测后端:按上述优先级确定后端。若为 none,需告知用户并干净退出,不得静默跳过审查。
- 执行审查:
- Codex 后端:使用 $FLOWCTL codex completion-review "$SPEC_ID" --receipt "$RECEIPT_PATH",输出包含 VERDICT=SHIP|NEEDS_WORK。
- Copilot 后端:使用 $FLOWCTL copilot completion-review "$SPEC_ID" --receipt "$RECEIPT_PATH",输出包含 VERDICT=SHIP|NEEDS_WORK。
- RepoPrompt 后端:必须先阅读并执行 workflow.md 中的 RepoPrompt Backend Workflow 部分,涵盖收集上下文(spec、任务、变更文件)、原子化 setup(setup-review,设置 $W 和 $T)、增强选择并构建审查提示、发送审查并解析判定。
- 修复循环(内部,不退出到 Ralph):若判定为 NEEDS_WORK,自动解析问题、修复代码并运行测试/检查、提交修复(重新审查前必须提交),然后重新审查,直到获得 SHIP。此循环中不得使用 AskUserQuestion 请求用户确认。
重新审查的会话连续性:
- Codex:重新运行 flowctl codex completion-review,--receipt 启用上下文。
- Copilot:重新运行 flowctl copilot completion-review,--receipt 启用上下文;仅当先前 receipt 的 mode == "copilot" 时才会恢复会话。
- RP:使用 $FLOWCTL rp chat-send --window "$W" --tab "$T" --message-file /tmp/re-review.md,且不得加 --new-chat;仅首次审查使用 --new-chat。
适用场景
- 在 flow-next 工作流中,当某个 spec 的所有任务实现完成后,需要确认整体实现是否满足 spec 需求时使用。
- 需要跨平台或指定特定模型/推理强度进行规格符合性审查时,可通过后端与 spec 语法灵活选择。
限制与关键规则
- 该技能只确认规格符合性,不评估代码质量。
- 禁止自宣 SHIP 而无实际后端判定;禁止在审查中途混用后端;禁止静默跳过审查。
- 对 rp 后端:不得自行审查代码,必须等待 RepoPrompt 实际响应,不得模拟或跳过;必须使用 setup-review;不得给 chat-send 加 --json(会抑制审查响应);重新审查必须留在同一 chat。
- 对 codex 后端:仅使用 $FLOWCTL codex completion-review;重新审查时传 --receipt 以保持会话连续性;从命令输出解析判定。
- 对 copilot 后端:仅使用 $FLOWCTL copilot completion-review;重新审查时传 --receipt;模型与推理强度按优先级解析(--spec 标志、每 spec 的 default_review、FLOW_REVIEW_BACKEND spec、FLOW_COPILOT_MODEL / FLOW_COPILOT_EFFORT 环境变量、注册表默认值)。
- 对所有后端:若设置了 REVIEW_RECEIPT_PATH,在 SHIP 判定后写入 receipt(RP 在修复循环后手动写入;codex 通过 --receipt 自动写入);任何失败均输出 <promise>RETRY</promise> 并停止。
- 若后端为 none,必须告知用户并干净退出。
- 关于收费、价格、平台支持范围等未在资料中明确说明的信息,暂未提供。