用途
plan-review 是一个阶段门(Phase gate)技能,作用于 PLAN 检查点。其核心目标是在进入 Build(构建)阶段之前,确保计划已经通过评审小组的批准。规则明确要求:必须从所有评审者处获得 APPROVE,才能继续推进到 Build。
主要能力
- 自动定位计划文件:默认查找 ai-workspace/plans/ 目录下最新的非 .done.md 文件。
- 提取计划信息:读取计划中的“Files to Modify”部分与完整正文,并评估计划范围(改动文件数量、正文行数)。
- 自动组建评审小组:调用 /assemble-panel,依据计划中的文件类型与关键词返回合适的代理组合;并记录选中了哪些代理及原因。
- 代理覆盖控制:支持通过 --include 强制添加代理,通过 --exclude 移除代理;technical-editor 不可被排除。
- 并行派发评审:使用 Agent 工具在单条消息中以多个 Agent 调用并行派发所有被选中的代理。
- 结论收集与汇总:每个代理返回 APPROVE / REVISE / DROP,并按 P0/P1/P2 标记发现;技能将其汇总为评审结论表。
- 门禁逻辑与评审循环:调用 /assemble-panel 获取策略代数(gate=P2、cap=3),并处理 RETAIN、EXPAND、CONVERGE 与 ESCALATE_RECURRING。
使用方式
-
准备计划文件,默认路径为 ai-workspace/plans/ 下最新的非 .done.md 文件。
-
可选地使用 --include <agent> 强制加入某代理,或 --exclude <agent> 移除某代理(technical-editor 除外)。
-
技能查找计划文件:
ls -t "$(git rev-parse --show-toplevel)/ai-workspace/plans/"*.md | grep -v '.done.md' | head -1
-
若无计划文件,报错:“No plan file in ai-workspace/plans/. Write a plan first.”;若计划文件为 .done.md,报错:“This plan is already finalized.”
-
技能读取计划并提取“Files to Modify”部分、正文与计划范围,然后调用 /assemble-panel(scope = 计划文件)组建评审小组,并应用 --include/--exclude 覆盖。
-
在 Codex/Cursor 环境中,直接读取 .claude/skills/assemble-panel/SKILL.md 并内联应用 scope/keyword 映射。
-
若 /assemble-panel 不可用,回退到 [technical-editor, code-reviewer],gate=P2,cap=3。
-
并行派发所有被选中的代理,每个代理接收:计划文件内容、其具体评审职责,并被要求返回 APPROVE / REVISE / DROP 及按 P0/P1/P2 标记的发现。
-
收集结论并汇总为表格:
Plan Review Summary
Agent Verdict P0 P1 P2 Key Finding -
每轮之后按以下门禁逻辑判断:
- 全部 APPROVE 且无超出门禁的发现 → “Proceed to Build”。
- 仍有超出门禁的发现 → 修复后依据 assemble-panel 的 RETAIN + EXPAND 规则重新评审。
- 达到上限仍有未解决发现 → 升级给人工。
- 若 /assemble-panel 不可用,回退规则为:保留所有存在超门禁发现的评审者,在第 3 轮或全部干净时退出。
评审小组边界
- 最小:仅 technical-editor(1 个代理,适用于简单计划)。
- 典型:technical-editor + code-reviewer + architect-reviewer(3 个)。
- 最大:全部代理(罕见,适用于大型跨领域计划)。
适用场景
适用于在编码构建前对计划文件进行多角色评审,确保计划在进入实现阶段前达到质量门禁要求。适合需要结构化、可重复评审流程的开发工作流,尤其是需要覆盖技术编辑、代码审查、架构审查等多个视角的计划。
限制
- 默认仅在 ai-workspace/plans/ 目录下查找计划文件。
- technical-editor 不可被排除。
- 依赖 /assemble-panel 提供策略代数与小组治理;当其不可用时只能使用回退配置。
- 达到评审上限(cap=3)仍存在未解决发现时,需升级给人工处理。
- 关于具体代理数量上限、可用代理完整列表、以及在不同环境下的行为差异,资料中未提供更多细节。