SuperAPI AI 工具集

flow-next-spec-completion-review

测试与质量

查看项目

更新于 10-16 06:56

技能介绍

用途

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 指定。
  • 后端选择优先级(先匹配者胜出):
    1. --review=rp|codex|copilot|none 参数
    2. FLOW_REVIEW_BACKEND 环境变量(裸后端名或 spec 形式)
    3. .flow/config.json 中的 review.backend
    4. 均无配置则报错,不自动检测
  • 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 为可选的后端覆盖参数。

工作流步骤:

  1. 解析参数:从 $ARGUMENTS 中提取匹配 fn-* 的第一个位置参数作为 SPEC_ID,提取 --review=<backend> 作为后端覆盖,其余参数作为关注点。
  2. 检测后端:按上述优先级确定后端。若为 none,需告知用户并干净退出,不得静默跳过审查。
  3. 执行审查:
    • 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)、增强选择并构建审查提示、发送审查并解析判定。
  4. 修复循环(内部,不退出到 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,必须告知用户并干净退出。
  • 关于收费、价格、平台支持范围等未在资料中明确说明的信息,暂未提供。