mcpField
P
plan-review

plan-review

github.com/mathews-tom开发33994 次安装1 天前更新
代码仓库

关于 plan-review

Plan Review Skill 用于在实施前只读审查技术计划、提案和设计文档。它检查风险、假设、缺漏与范围,并输出标注严重程度的发现及结论。

主要功能

  1. 01产品、工程或综合审查视角
  2. 02检查隐含假设
  3. 03梳理故障模式与风险
  4. 04评估范围及实施顺序
  5. 05输出严重程度标记和结论

适用场景

  1. 01编码前审查设计方案
  2. 02发现故障与恢复路径缺漏
  3. 03检查范围及任务依赖关系

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mathews-tom/armory --skill plan-review

安装后在 Claude Code 中输入/plan-review确认已加载。

附带文件evals/cases.yamlreferences/project-detection.md

详细介绍

计划评审技能

目的

对技术计划、提案或设计文档进行结构化的实施前审查。在编写任何代码_之前_,尽早发现风险、不当假设、缺失内容和范围问题——此时纠正成本最低。

此技能为只读,不会修改代码。它会生成一份标注严重程度的评审文档,并给出最终的发布/重新考虑/拒绝结论。

步骤 0 — 选择模式

通过 AskUserQuestion 向用户提出一个问题:

请选择评审视角。(1)产品——范围、用户影响、业务契合度。 (2)工程——架构、故障模式、测试策略、性能。 (3)综合(默认)——整合两种视角。

接受用户的回答并继续。不要再询问其他配置问题。

同时根据计划评估范围大小:

  • 小型变更(单个文件,约 100 行或更少):提交精简的四部分评审——范围、风险、缺失内容、结论。跳过完整的多部分模板。
  • 标准变更:执行以下完整评审流程。

完整评审流程

1. 理解计划

从头到尾阅读计划。用 2–3 句话概述,确认你已理解计划。明确列出:

  • 既定目标——计划声称要实现的目标。
  • 非目标——明确排除在范围之外的内容。
  • 约束条件——计划中提及或暗示的预算、时间线、兼容性、团队规模或技术约束。

如果概述有误,用户可在此处纠正,然后再继续评审,避免后续评审建立在错误理解之上。

2. 质疑假设

提取所有隐含假设。针对每个假设填写:

假设如果不成立?支持证据什么情况会证伪?

需要探查的常见假设类别:

  • 数据的可用性和形态
  • 第三方 API 的稳定性和速率限制
  • 团队对所选工具的熟悉程度
  • 依赖项的性能特征
  • 向后兼容要求
  • 部署环境能力
3. 风险与故障映射

为计划中的每个组件或子系统填写故障模式表:

组件故障模式影响范围恢复策略

此外,还要识别数据流中的隐蔽路径——不属于正常流程,但会在生产环境中执行的副作用、异步回调、事件传播或缓存失效链。

如果计划涉及三个或更多相互交互的组件,请使用 ASCII 图示说明不明显的数据流或故障传播路径。

4. 逐个组件评审(工程视角)

评估每个主要组件的以下方面:

  • 错误处理策略——错误是否分类后通过注册表分发,还是被兜底处理程序静默吞掉?
  • 数据完整性不变量——必须满足哪些不变量?如何保证?违反时会发生什么?
  • 并发与竞态条件——共享状态、锁的顺序、乐观与悲观策略、幂等性保证。
  • 负载下的性能——在当前规模的 10 倍下,预期吞吐量、延迟预算和资源消耗如何?
  • 测试策略是否充分——组件的单元、集成和端到端测试覆盖情况如何?哪些内容无法测试,原因是什么?

本节不依赖特定语言或框架。已知用户所用技术栈时,请参阅 references/project-detection.md,了解针对框架的示例。

仅运行产品视角模式时,跳过本节。

5. 范围与优先级评估(产品视角)
  • 必需项与锦上添花项 — 哪些功能对既定目标至关重要?哪些只是推测性的?
  • 可延后事项 — 哪些内容可以在后续版本中发布,而不会增加风险?
  • 过度设计的迹象 — 是否存在当前需求并不要求的抽象、可配置性或可扩展性?
  • 对用户的影响 — 复杂度是否带来了相称的用户价值?

仅运行工程视角模式时,跳过本节。

6. 集成审查

组件彼此之间以及与外部系统的连接方式:

  • API 契约 — 模块之间的请求/响应结构、版本控制和错误代码。
  • 跨边界状态管理 — 谁负责管理状态?状态如何同步?发生局部故障时会怎样?
  • 迁移与部署顺序 — 哪些组件必须先部署?系统是否会出现不一致的中间状态?
  • 回滚兼容性 — 每个部署步骤都能否独立撤销?哪些数据不可逆?
7. 缺失内容

计划中没有涉及但应当涉及的内容:

  • 监控与可观测性(指标、日志、告警、仪表板)
  • 首次重试之后的错误恢复路径
  • 已说明的正常流程之外的边缘情况
  • 安全考量(身份验证、授权、输入验证、密钥管理)
  • 负载与扩展影响(连接池、队列深度、存储增长)
  • 事件响应运维手册
8. 执行评估

评估提议的实现顺序:

  • 依赖顺序 — 是否先构建前置组件,再构建依赖组件?
  • 并行工作机会 — 哪些任务之间没有依赖,可以同时进行?
  • 风险优先还是价值优先 — 计划是否及早处理风险最高的未知因素,还是将其推迟?
  • 原型候选项 — 哪些组件应先进行快速验证,再决定是否全面实现?
9. 结论

只能给出以下结论之一:

结论含义
发布计划完善。按原计划推进。
修改后发布方案可行,但推进前必须完成下方列出的具体修改。
重新规划存在根本性结构问题,需要重新规划。逐项列出必须修改的内容。
拒绝计划不可行。说明原因,并提出可考虑的替代方向。

用一段话说明结论理由。

精简审查(小型变更)

对于范围较小的变更(单个文件,约 100 行),仅提供以下四个部分:

  1. 范围 — 变更的作用及其边界。
  2. 风险 — 失效模式和影响范围(简要表格)。
  3. 缺失内容 — 即使在此规模下也值得解决的缺口。
  4. 结论 — 发布/修改后发布/重新规划/拒绝。

交互协议

  • 一次只针对一个问题使用 AskUserQuestion。切勿在同一条提示中批量提出多个问题。
  • 对于 HIGH 严重性的问题,应立即指出,并询问是继续还是暂停讨论,然后再进入下一节。
  • 此技能为只读。不得创建、修改或删除任何文件。
  • 在有助于说明故障传播或集成拓扑时,使用 ASCII 图展示数据流和组件关系。

输出格式

结构化审查文档,包含:

  • 与上述顺序一致的编号章节
  • 每条发现都标注严重性:[HIGH]、[MEDIUM]、[LOW]
  • 文末按严重性分组列出所有发现的汇总表
  • 最终结论及理由

评论

支持 Markdown