关于 vibe-plan-review
Vibe Plan Review 是一项技能,用于在实施开始前与用户共同审查已保存的 Markdown 实施计划。它逐项检查需求一致性、顺序、遗漏、风险和可验证性,并明确限制编辑与写回计划的范围。
主要功能
- 01一次审查一个计划条目
- 02检查一致性、顺序、遗漏、风险和可验证性
- 03在会话或临时文件中保存审查状态
- 04记录符合条件的决定和发现
- 05写回计划前要求单独确认
适用场景
- 01在开始实施前审查计划
- 02发现含糊或无法验证的计划条目
- 03在审查过程中记录决定
- 04将确认的审查结果写回计划
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ adhi-jp/ agent-skills --skill vibe-plan-review安装后在 Claude Code 中输入/vibe-plan-review确认已加载。
附带文件references/durable-records.mdreferences/localized-labels.md
详细介绍
Vibe Plan Review
概述
在实施前,与用户一起审查已保存的 Markdown 实施计划。 在用户逐项决定时,指出不一致、顺序问题、遗漏工作、歧义、风险和 无法验证的事项。在列出的生命周期事件中使用 §Review Binding Output。
效果与写入边界
不得写入超出该阶段声明的效果类别和边界所允许的内容。
- 应用该阶段文本中声明的效果类别;若本包规定了更严格的限制,则以更严格的限制为准。
- 只读:在聊天中报告;不得编辑文件、运行会改变状态的命令,也不得暂存、提交、打标签、推送、更改版本、删除数据或启动服务。只有在用户明确要求生成可保存的产物时,才可写入文件。
- 仅限产物:只能创建或更新该阶段负责的产物,以及文本中声明的支持路径,例如已确认的计划反思或决策记录,并将其保留在工作树中。
- 仅限产物阶段绝不能实施可执行行为、将代码或测试作为实施内容来编辑、生成其他阶段的产物、执行发布工作,或将其产物视为同一轮对话中的实施授权。
- 会改变状态:只能在声明的范围内编辑和运行命令,并以最小的已验证单元进行;除非用户选择,否则不得触碰其他路径、已有更改以及运行时或外部状态。
- 这些限制涵盖 shell 命令(重定向、
sed -i、tee、mv、cp、rm、git checkout --)和文件工具;遇到被拒绝的写入操作时,应报告为边界阻止,绝不能改用其他工具重试。 - 任何不可逆或面向外部的操作都必须单独征得用户同意。
此阶段负责的产物是临时审查状态文件 §Review State Persistence 中所述内容;其支持路径包括目标计划,但只能按照 §Reflection Into The Plan 的规定写入已确认的反思,以及 §Durable Records 下的记录目录。
持久记录
在阶段开始时,检查 docs/decisions/README.md 和
docs/reports/findings/README.md(或仓库现有索引),查找路径、标签或主题与正在审查的计划匹配的条目,并打开适用的条目。在记录已确定的决策、延后某项发现,或应用或更新现有记录之前,先阅读
references/durable-records.md。此阶段按声明的支持路径写入 docs/decisions/ 和
docs/reports/findings/,或仓库现有的记录目录。
提交选择
不得让仅涉及文档的阶段选择提交。
- 将已验证的产物更改保留在工作树中;调用方式、路径位置、跟踪状态、审查或审计通过、反思授权或产物完成,都不会选择任何提交。
- 只有当前用户的明确请求才能选择提交,且范围仅限该阶段负责的产物;提交工作流,或在没有可见工作流时由该阶段本身,必须在审查文件集、传递消息、验证已存储消息以及遵守推送和历史边界的前提下提交该产物。
- 起草期间绝不能暂存、提交、推送、发布、更改版本或改写历史;也绝不能让产物授权实施、推送、发布、版本更改或历史改写。
此阶段绝不执行用户要求的提交:应将其转交给针对已反思计划文件的提交执行流程,绝不能提交临时审查状态文件;清理该文件需另行征得用户同意。
运行时语言
使用与用户相同的语言。在呈现或解读决策、反映决策或进行总结之前,先阅读 references/localized-labels.md;使用其中的标签、数字标识符和语义。非敏感路径、命令、标识符和审查状态路径必须保持原样。
敏感内容处理
在任何文本跨越输出边界前,先遮蔽类似密钥的字面值。
- 输出边界包括聊天、保存的文件、转发给其他 Agent 或后端的内容、日志、引用片段、摘要和工具参数。
- 不得因请求读取、引用、保留或总结内容,就获准复现密钥值。
- 将每个匹配项替换为
[REDACTED:<type>],并选择最具体的类型:private-key:PEM 私钥块;jwt:由三部分组成、类似 JWT 的令牌;url-auth:嵌入在http或httpsURL 中的凭据;apikey:带已知前缀的 API 密钥和访问令牌;env-secret:名称以 key、token、secret、password 或 pwd 结尾的环境变量风格赋值;secret-context:其他位于 key、token、secret、password、bearer 或 session-secret 字样附近的高熵文本。
- 保留非敏感措辞以及验证发现所需的定位信息:路径、行号、符号、命令、字段名称和标识符。
此外,对于疑似凭据但不符合上述任何类型的内容,也要将其遮蔽为
[REDACTED:credential],并保留包含路径和行号的计划条目定位信息。
发现敏感字面值时:
- 如果计划中包含看起来有效的凭据,则将其视为阻碍项:要求用户移除该凭据,并通过安全流程轮换或撤销;绝不可要求用户将其粘贴到对话中。
- 在临时审查文件中,仅记录其遮蔽后的位置、分类、决策状态和所需补救措施。
- 只要计划或审查状态中仍有疑似敏感字面值,就不要将任何内容写回原计划;任何来源的敏感字面值都不得出现在写回的计划中。要求用户清理该内容,或确认它是非敏感的环境变量引用或密钥存储引用,然后重新读取清理后的文件,再进行写回。
- 如果某个值可能是凭据,也可能是非敏感标识符,则将其遮蔽,并询问应使用哪个安全引用方式,不要显示该值。
必需输入
审查一份已确定的 Markdown 实施计划。将其他材料视为上下文;如果尚未确定计划,请要求用户提供。
阶段边界
在计划已存在且尚未开始实施时使用此技能。完成后,报告审查状态,并停留在等待用户下一步决定的节点。
审查绑定输出
在审查开始、恢复、目标变更、写回、完成,以及任何阻碍进一步审查的情况中,显示目标计划、需求来源或置信度有限的无规格状态,以及持久化状态。如果临时审查文件已存在或正在选用,将其确切路径作为持久化状态;如果审查状态保留在对话中,则说明这一点且不提供路径。如果同一会话中的内容没有变化,则无需在每条回复中重复绑定信息。
开始审查
审查第一个条目之前,先读取计划及其中明确引用的需求规格。否则,在 docs/specs/、specs/ 或计划所在目录中查找明显对应同一目标的规格;如果找不到,则继续审查,但需求对齐置信度有限。识别各个条目,并仅按 §审查状态持久化规则选择持久化方式。
如果存在对应的需求规格,则将其作为审查的需求依据。如果需求规格与实施计划冲突,应停止审查,说明冲突,并询问应修正需求规格还是计划。在冲突决定该条目的处理方式期间,不要继续审查条目。
如果计划整体缺少审查所需的信息,应停止审查,说明缺少的内容,并询问如何补全计划。条目内部的缺漏或歧义应作为该条目审查中的发现,而非停止审查或一次审查多个条目的理由。不要臆造缺失的行为、需求、验收标准、测试路径、数据处理方式或用户体验。
源码与代码检查
除非用户要求更多内容,或涉及数据、权限、安全、发布、迁移、外部契约、破坏性写入或广泛的用户体验,否则只阅读当前事项所需的内容。扩大范围前,先说明原因。
事项提取
优先采用明确列出的任务;否则按文件顺序使用最小的可执行标题章节。如果边界不明确,应询问是采用检测到的章节,还是修改计划——绝不默默决定粒度。保持事项标识稳定;任何拆分、合并或重排都必须由用户批准。
逐项审查
一次审查一个事项,检查其是否符合要求、顺序是否合理、工作是否有遗漏、是否存在歧义、风险以及可验证性。以用户的决定为准;AI 的判断不得凌驾于用户决定之上。根据 §Durable Records 记录符合条件的已确定“暂缓”或“修改”决定,不得绕过反思许可。
提供 references/localized-labels.md 中的本地化选项及稳定数字标识符。接受一个明确无歧义的标签或标识符,将其规范化为规范标签,用于存储、计数、摘要和反思;如果选项冲突,则应询问。
审查状态持久化
除非用户要求持久化、需要继续处理或可能丢失上下文,或项目惯例要求,否则将状态保留在对话中;事项数量不能决定是否持久化。需要持久化时,在计划文件旁保存 .<plan-name>.review.md,其中包含目标、需求来源、事项、当前位置、规范决定、阻碍因素和简明的续接上下文。替换或删除现有的不匹配、无法解析、被外部编辑或含义不明确的文件之前,应停止操作,并指出当前目标、推导出的路径和记录的目标;询问用户是要继续、替换还是保留该文件。
将反思结果写入计划
所有事项审查完毕后,展示 §Review Binding Output,并请求用户明确确认是否写入反思结果。在该请求中,说明反思会如何处理 references/localized-labels.md 所定义的四种结果;说明反思后的计划会保留可执行内容和暂缓事项,并省略审查历史注释、逐项判断日志及聊天记录;说明审查已完成但尚未写入反思结果;并说明删除临时审查文件是反思之后的单独问题。一般的审查许可不等于反思许可;只有确认后,删除 才会生效。
对原计划进行任何写入之前,先应用 §Sensitive Content Handling。
成功写入反思结果后,另行询问是否删除临时文件;如果用户要求保留,或文件存在意外更改或归属不明确,则予以保留。验证反思后的计划。
停止条件
遇到计划缺失或无法读取、指定的规范文档缺失或无法读取、计划与规范文档冲突、缺少计划级审查信息、事项边界不明确、审查文件含义不明确、反思时存在尚未解决的敏感字面内容,或工作超出审查和反思计划的范围时,应停止。说明阻碍因素、相关依据及其影响,并指出最接近的用户决策。
完成摘要
总结目标、需求来源或置信度有限的状态、已审查事项、规范决定的数量、阻碍因素或暂缓事项、反思及临时文件状态、未提交的计划更改或待处理的提交请求,并说明尚未开始实施。