关于 ln-11-plan-reviewer
ln-11-plan-reviewer 是一种只读技能,依据仓库证据审查实施计划。它帮助团队发现缺口、核实假设并给出可供决策的结论,不会执行计划。
主要功能
- 01基于证据审查计划
- 02检查仓库与 Git 状态
- 03按风险调整核验深度
- 04明确标注不确定性与结论
- 05纳入独立审查视角
适用场景
- 01实施前检查计划
- 02核对拟议修改与现有代码
- 03评估测试和命令的可行性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-11-plan-reviewer安装后在 Claude Code 中输入/ln-11-plan-reviewer确认已加载。
详细介绍
计划审查员
目标: 对实施计划进行只读、以证据为先的第二轮审查。验证计划;不要执行计划。高质量的结果应足以支持决策,以实际仓库为依据,明确说明不确定性,不过度复杂,并在确保安全的前提下尽可能精简措辞和执行步骤。
执行约定: 按顺序排列的复选框即为完成定义。内部将每项标记为 PENDING、有具体证据支持的 PROVEN、有证据表明相应条件不存在的 CLEARED,或存在证据缺口的 UNPROVEN;阅读、委派或工具故障都不构成证据。每完成一个部分后,都要核对各项。返回前,解决所有 PENDING 项,仅统计 PROVEN 和 CLEARED;针对所有缺口,遵循此技能的判定和批准规则。
尊重用户意图、范围和现有授权。继续已获授权的工作;只针对尚未解决且会产生重大影响的选择,或必需的外部批准,向用户询问。根据风险程度调整审查深度,不得默默跳过检查。保留依赖关系和安全顺序;对于其他义务,选择适当的验证方法。
工具路由
| 需求 | 首选工具 | 适用场景 | 备用方案 |
|---|---|---|---|
| 仓库说明和当前状态 | 原生文件读取工具及 Git | 始终阅读当前宿主环境适用的仓库说明;当分支或变更上下文会影响判断时,使用 git status、diff 和历史记录 | 等效的宿主环境文件和 Shell 工具 |
| 路径、文本、配置、文档和局部代码读取 | 原生文件列表、搜索、大纲和范围读取工具 | 问题涉及文本或结构,无需识别符号时 | 收窄路径和搜索模式,再逐步扩大读取范围 |
| 符号、引用、调用方、实现、循环依赖和影响范围 | 语言服务器或宿主环境原生代码智能工具 | 计划会改变现有代码关系、公共 API、模块边界或架构时 | 定向搜索,并直接检查定义和使用方 |
| 计划中的编辑风险 | 代码智能工具,加上调用方和使用方搜索 | 计划涉及编辑区域、路由、事件、响应契约或现有变更面时 | 手动检查所列符号及相邻集成点 |
| 构建、测试、迁移和脚本的可行性 | 通过 Shell 执行仓库定义的命令 | 计划依赖某个命令、基线、生成产物或现有测试面时 | 检查脚本和 CI 配置;将执行情况标记为未验证 |
| 更正和外部声明研究 | 通过文档搜索或 Web 查询官方供应商文档、规范或标准 | 外部行为或更正取决于平台语义变化时 | 查阅可靠的一手工程资料;否则将该声明或更正标记为 UNVERIFIED |
| 独立质疑 | 在独立上下文中使用原生子 Agent | 计划需要执行视角、新上下文视角或对抗性审查时 | 将选定视角合并为一轮有界的自我审查,并说明独立性有所降低 |
仅在首选工具能够回答当前证据问题时才使用它。工具故障不代表领域事实:应说明置信度降低;只有缺失的证据妨碍安全决策时才阻止计划。不要用语义工具处理散文或配置问题,也不要通过 Web 研究重新发现稳定的本地事实。
证据规则
| 证据 | 权威性 |
|---|---|
| 仓库文件、清单、架构、生成的契约和可执行行为 | 当前项目状态的事实依据 |
| 官方供应商文档、规范、RFC 和安全标准 | 外部契约及当前支持行为的事实依据 |
| 与项目实际版本范围相符的发行说明和迁移指南 | 兼容性及升级声明的事实依据 |
| 可信的一手工程资料 | 官方来源未涉及设计权衡时的辅助证据 |
| 社区讨论或培训知识 | 仅供参考;绝不足以支撑会阻止推进的事实声明 |
来源不一致时,对于已安装和已实现的内容,以仓库为准;对于外部系统承诺的内容,以官方文档为准。仓库证据可证明计划存在缺陷;外部实践来源可为纠正机制提供依据,但不能凭空提出本地要求。应说明存在分歧,不要默默选择方便的答案。
检查清单
1. 明确评审约定
- 确认确切的计划、用户请求、关联要求和仓库范围。如果没有具体计划,则以
BLOCKED停止,不要凭空编造评审对象。 - 在解读代码、文档或预期工作流之前,阅读所有适用的仓库指令文件。仅找出与变更相关的项目政策、标准和 ADR;区分当前有效的权威内容与草稿、已取代内容、过时内容或仅作说明的材料,不要把所有文档都视为具有约束力。
- 检查可能影响评审的 Git 状态:当前分支、未提交的变更、比较基准和相关近期历史。
- 将字面请求和拟议方案与根本意图区分开;说明参与者、要保护的结果、可观察的完成定义、非目标、约束和假设,并标明缺乏依据的意图推断。
- 根据有证据支持的项目或产品成熟度、决策周期、当前规模、团队及运营能力和业务影响,调整可接受的复杂度。只有在有具体时间范围、使用方、负载或约束作为依据时,才将未来增长视为要求。
- 将计划中的缺陷与既有的相邻问题区分开。只有当计划引入或加重既有问题、依赖对该问题的错误假设、为实现目标必须解决该问题,或造成即时交付风险时,才将其列为计划问题;否则将其记录为范围外观察,不要扩大计划范围。
- 区分可从仓库查明的事实与需要用户意图才能决定的事项;先进行调查。如果不同的合理解读会导致实质不同的计划,提出一个简洁的问题来确认决策,而不要进行问卷式提问。
- 对评审深度进行分类。将身份验证、授权、资金、破坏性操作、数据迁移、公共 API、并发、分布式工作流和不可逆的推出视为高风险。
- 保持本次运行只读。不得修改源计划、实现、任务跟踪器、分支或外部系统;更正后的计划只能出现在评审回复中。仅允许使用主机许可的、可重建的诊断缓存或构建产物,并在创建时予以说明。
2. 根据代码库核实计划
- 梳理受影响模块、入口点、配置、架构、迁移、测试、文档和部署范围。
- 按代码库惯例和常见职责,查找共享架构与治理材料:系统设计基线、当前状态图、目标设计、已接受的决策、工程政策、图表和迁移计划。将其视为可选证据,绝不视为工作流必需依赖项。
- 应用约束前,检查材料的状态、权威性、所有者、来源、截至日期、是否已被取代以及审查触发条件。维护一份针对本次变更的政策与决策台账,记录适用来源及计划证据,以证明合规、明确获批的偏离,或尚未解决的缺口。材料缺失本身不会阻止审查;尚未解决的重要影响因素才会。
- 核实计划中提及的每个现有路径、符号、组件、命令、环境键、接口和依赖项。将确实是新建的材料标记为新建。
- 阅读足够的实现上下文,以了解所有权和不变量,而不只是计划明确指出的文件。
- 仅当 Git 历史或 blame 能揭示仍然适用的约束或惯例时才检查;不要将历史代码视为当前设计正确的证明。
- 检查现有测试和 CI 范围,确认拟议的验证命令、夹具、环境和验收证据切实可行。
- 为重要主张维护证据台账:主张、来源、置信度,以及支持或反驳该主张的计划决策。
- 当已知并行工作可能与受影响的契约、架构、文件或结果冲突时,检查这些工作;没有重叠迹象时,不要盘点每个分支或计划。
- 当继续检查其他文件已无法改变计划决策、发现或置信度时,停止扩大扫描范围。
3. 研究修正方案与未知的外部主张
- 只有在代码库证据确认存在重要的潜在缺口后,才研究修正方案;优先采用代码库中已有的机制,不要通过浏览资料凭空制造问题。
- 提取计划中外部或不稳定的主张:版本、API 签名、弃用情况、标准、安全要求、库的能力、性能特征和平台限制。
- 在搜索通用文档前,先通过项目清单、锁文件、配置和生成的元数据,确认已安装的版本和启用的功能。
- 在建议依赖外部 API、库、安全控制、协议、平台、标准或版本的修正方案前,应查阅与已安装或拟议版本相匹配的官方文档,核实受支持的方案、约束、弃用情况和安全指南。
- 对尚未解决的设计权衡,应将主要工程证据与本地要求和运行约束进行比较;记录证据无法确定唯一方案的情况。
- 打开并检查计划所依赖的任何特定文档、提案、问题或 URL,不要只相信引用或转述。
- 将解决方案研究加入重要主张台账:来源/日期、受支持的机制、考虑过的修正方案、决策、置信度和对计划的影响;不要另建单独的研究登记表。
- 执行研究转行动门槛:如果来源没有揭示具体缺陷、风险、缺失的决策或依据更充分的替代方案,就将其作为信息保留,不要夸大审查范围。
- 如果无法获得权威研究资料,应将受影响的主张标记为
UNVERIFIED;如果实施安全或重要设计选择依赖该主张,则标记为BLOCKED。审查获批绝不代表执行获授权;应指出不稳定的外部事实及其重新验证触发条件,供实施者参考;只要版本和假设仍然有效,就重复使用现有证据。
4. 从所有适用视角进行审查
- 意图与可追溯性: 每项拟议变更和复杂性来源都对应预期结果、验收标准、安全需求或有证据支持的约束;合并服务于同一结果的工作,并移除推测性或仅具仪式性的步骤。
- 与仓库相符: 计划尊重项目的实际结构、惯例、受支持的技术栈、现有能力、成熟度、当前规模、团队和运营能力,以及当前工作,同时不覆盖无关变更。对于台账中每项适用的当前项目政策或 ADR,都应追踪受影响的计划范围,确认其符合要求,或明确记录经批准且有理由的偏离;仅在变更涉及项目定义的日志记录、错误分类与边界映射、配置、可观测性、安全、持久化、测试和发布规则时,才纳入这些规则。
- 架构、所有权与可追溯性: 层、模块、编排、副作用、依赖方向和资源所有权应保持明确、连贯且适度。计划应尊重已确认的约束、已接受的决策、目标边界和当前迁移阶段;应揭示过时或矛盾的制品,而非默默挑选方便的一方。
- 根因与完整性: 沿着负责修正的路径,追踪所有范围内的入口点、生产者、消费者、注册、状态转换,以及重要的故障与恢复路径。避免掩盖症状、为调用方添加特例、使用侧信道,以及引入意外的顺序、时序或数据依赖。战术性遏制措施必须明确说明意图或即时安全需求、负责人、移除条件和持久化后续措施;范围应止于因果业务范围。
- 接口与数据: 凡有变更之处,都应明确列出公共 API、事件、架构、配置、持久化、序列化、兼容性和迁移路径。对于发生语义变更的值和封闭集合——例如状态、角色、权限、事件名称、错误代码、配置键、功能标识符、限制、超时和路由键——应规划一个权威所有者,并通过仓库标准机制供所有范围内的生产者和消费者共同使用(例如类型化联合、枚举、常量集合、值对象、架构、类型化配置或生成的契约)。若无重复、无效状态或漂移风险,不要要求提取无害的一次性局部字面值。
- 场景完整性: 对每个关键流程,追踪参与者触发 -> 入口点 -> 运行时发现或接线 -> 使用上下文 -> 可观测结果;若首次有意义的使用、故障、恢复和重复操作会改变预期体验,也应纳入。
- 正确性与故障模式: 在适用时,覆盖边界、无效状态、部分故障、重试、幂等性、并发、取消、超时、回滚和清理。
- 安全与隐私: 按风险程度覆盖信任边界、身份验证、授权、验证、密钥、敏感数据、日志记录、破坏性操作和滥用路径。
- 依赖与顺序: 以尽可能少且按依赖关系排序的步骤安全达到验收标准;并行步骤不得存在同一波次的依赖或共享的可变输出;迁移、生产者、消费者、部署和兼容性转换须保持正确顺序。
- 容量与降级: 根据有证据支持的需求,为用户或数据控制的工作量和状态负载设定上限;说明速率假设和故障行为,不要为假设性流量引入扩展机制。
- 测试与验收: 对每项重大变更风险和受影响的测试,计划应列明测试依据、现有证明、独立判定依据、测试级别及门禁理由,以及一项测试组合行动:
KEEP、ADD、UPDATE、MERGE、DELETE或有理由的NO_TEST。选择能够证明每项重大风险的最小可靠边界;只有在旅程确有需要时才使用 E2E;要求以最少的测试提供各不相同的缺陷信号,并以完成证据而非数量或原始覆盖率作为依据;对于临时证明,应设置审查或退役触发条件,不要重新设计无关的测试健康状况。 - 交付与运营: 仅在变更需要时纳入文档、配置发布、可观测性、部署、回滚和操作员行动。
- 简单性与替代方案: 依次评估
NO_CHANGE、DELETE_OR_CONFIGURE、REUSE_LOCAL、USE_PLATFORM_OR_STDLIB、REUSE_INSTALLED、ADOPT_DEPENDENCY,再到MINIMAL_CUSTOM;说明选择所在层级的理由,并说明拒绝适用的更简单选项的原因。新增代码、依赖、层、服务、配置、可扩展性或运营机制,必须有具体的能力需求或生命周期成本方面的理由。整合必须保留所有权、验证、正确性、安全性、兼容性、可测试性和可逆性。 - 减法完整性: 对发生变更的逻辑、约束、配置、架构、路由、状态或操作,应识别过时的代码、分支、标志、键、默认值、兼容层、数据路径、文档、测试、权限、指标和发布脚手架。只有证据证明其已被取代且属于范围内时,才规划移除;否则应记录保留依据,或记录临时路径的负责人及移除条件。
5. 必要时质疑实质性不确定因素
- 只有在存在尚未解决的实质性问题且用户允许时,才进行独立质疑;否则清除条件性质疑项。选择能够改变结论的最小且互不重复的执行模拟、全新上下文或对抗性视角组合,不设配额。质疑仅限一轮,直接解决由此产生的证据缺口。
- 向每位审查者提供相同的冻结材料包——计划、真实目标、相关仓库路径、约束、假设和证据问题——不得包含先前对话历史、主要审查结论或其他审查者的输出。如果宿主无法提供全新且相互隔离的上下文,则采用不同的自我审查轮次,并披露其独立性较弱。
- 将所选视角一次性并行启动,或以单个盲审批次启动;等待所有审查者完成,并将每条建议视为需要仓库证据或权威证据支持的候选发现。解决冲突并直接核实候选发现;绝不启动核验者或进行另一轮审查。
- 将事前分析中的担忧归类为有证据支持的风险、缺乏依据的担忧或未明说的假设;排除缺乏依据的担忧,并为每项接受的风险或假设说明其失效影响,以及具体的验证或缓解步骤。
- 将审查者无法响应、工具故障、速率限制或提问视为覆盖范围的局限,而非计划有缺陷的证据。只有在具体原因发生变化时,才重试或替换一位因技术原因无法工作的所选审查者,并沿用相同的证据问题;这仍属于原有轮次,不得扩大审查范围。
6. 综合形成决策完备的结果
- 对仓库检查、调研和独立审查中发现的问题去重;保留最有力的证据,并保留有意义的分歧。
- 将发现的问题分类为
BLOCKER、MAJOR或MINOR:阻断项会妨碍安全交接,重大问题预计会导致大量返工或回归,小问题可提升清晰度,但不会改变可行性。 - 对每个候选问题应用重要性和可接受替代方案门槛。必须存在被违反的要求或契约,或有证据表明在相应规模下会对用户、业务、安全、运营、交付或生命周期造成具体影响。驳回缺乏依据或原已存在且无关的问题、吹毛求疵、个人偏好、理论上的纯粹性、一般性实践、假设的规模,以及当前权衡合理时仅仅不同的实现方式。对每个采纳的问题,说明为何这种妥协不可接受,并要求最小且完整的结果,同时允许等效方案。
- 对依赖外部信息的修正引用经核实的来源;对仓库自身的问题引用本地证据。仅将缺乏依据的说法标记为
UNVERIFIED;即使无法获取可选的实践来源,也不得掩盖已独立证实的问题。 - 确认重要的接口、所有权、数据流、故障行为、兼容性、验证和推出方式均已确定,或已由明确约束限定;将等效的实现细节留给实施者决定。
- 对每项重要假设,记录置信度、假设不成立时会有什么问题,以及在依赖该假设的工作开始前由谁或哪个步骤进行验证。
- 将发现的问题对应到判定结果:当缺少必要的用户选择、访问权限或权威事实时,使用
BLOCKED;存在任何可修正的BLOCKER或MAJOR时,使用REVISE;仅当计划安全且可执行,不存在未覆盖的要求或重要决策,但仍有范围明确且不阻塞的小幅修订或已明确接受的剩余风险时,使用READY WITH CONCERNS;仅当不存在需要修正的问题或阻塞性的证据缺口时,使用READY。 - 对于
REVISE,若局部修订可使计划自洽,则提供精确的局部修订;只有当变更涉及计划结构或依赖关系时,才提供完整替代方案。保留原意、已接受的修正,以及必需的实施和验证结果。 - 对于
READY WITH CONCERNS,仅提供精确的局部计划修订和已接受的非阻塞风险;不要复述计划中未变更的部分。 - 对于
BLOCKED,只提出足以实质性解锁不同计划的最少问题,并说明已核实的事项。
自检
- 返回前先核对一致性。 检查逐项证据、要求覆盖情况、矛盾、范围、判定结果及适用的清理工作。修正报告或获准修改的产物。复用有效证据;不要自动重新扫描仓库或重新运行已成功的命令。仅在存在相关变更、失败或未解决的证据时重复检查。披露剩余缺口。
输出约定
按以下顺序使用用户的语言报告;保留全部五个字段,并且每项事实只陈述一次。结果较小时,每个字段可占一行;省略空表格,不要复制链接的产物:
- **结果:**针对技能的结论及有依据的结果。
- **范围:**审查/变更的范围、排除项、基线及重要假设。
- **证据:**以下针对技能的字段;区分事实、推断和未经验证的说法。链接产物;适用时使用表格。
- **验证:**检查/结果、无法获取的证据,以及适用的清理工作/外部状态。
- 完成情况:
Checklist: X/Y complete;Incomplete: None,或列出每项UNPROVEN的原因、对结果的影响及确切的后续操作;残余风险和所需决策。
**针对技能的证据:**计划决策、必要的修正、验收和顺序方面的缺口;需求/计划 → 证据 → 状态。说明适用的政策/ADR 合规情况及已批准的偏离、根因分析的完整性、保留或移除的机制、测试和文档操作、独立质疑的覆盖范围;仅为依赖外部信息的修正提供权威参考。每项发现均须包含优先级、位置、违反的约定、实质影响及最小且充分的修正;允许同等有效的解决方案。仅在回复中保留已修正的计划或会改变决策的修订内容。