关于 plan-interrogate
plan-interrogate 是一项在开始实现前厘清计划中未决事项的技能。它按依赖顺序逐项提问,并生成决策清单;还可整理项目术语和决策记录。
主要功能
- 01复述并确认计划
- 02梳理决策及其依赖
- 03每次提出一个聚焦问题
- 04检查现有代码与文档
- 05生成已解决的决策清单
适用场景
- 01编码前明确计划
- 02解决相互依赖的设计选择
- 03记录项目专属术语
- 04记录有争议或影响长远的决策
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ rohitg00/ pro-workflow --skill plan-interrogate安装后在 Claude Code 中输入/plan-interrogate确认已加载。
详细介绍
plan-interrogate
在编写任何代码之前,解决所有未决事项,推动计划从草案走向定案。
方法
- 用一段话重述计划。请用户确认这就是要审查的计划。重述有误时,不要继续。
- 提取决策树。每个分支点都成为一个节点。将每个节点标记为 open(未决)或 resolved(已解决)。已解决的节点需附带来源标签:
user(用户已回答)、inferred(代码库或现有约束已确定)。 - 按依赖顺序解决问题。一个节点依赖的所有节点都已解决时,该节点才可处理。
- 对每个可处理的未决节点,只问一个问题。问题要简洁,尽可能采用二选一或少量选项的形式。
- 每个问题都要附上一个推荐答案和一句理由。用户可以确认、选择其他选项或提出异议。
- 提问前,先检查代码库、之前的提交或现有文档中是否已有答案。如果有,就跳过提问,并将节点标记为已解决,来源写作
inferred: <path>。 - 只有在没有未决节点时才能结束。将已解决的决策树以扁平列表形式输出:
Decision - Choice - Source (user | inferred: <path>)。
反模式
- 一次问多个问题。用户会失去上下文,你也无法逐个针对回答作出反应。
- 未经探索就提问。如果花十五秒查看就能找到答案,那就先查看。
- 提问时不给建议。没有立场的问题只是调查问卷,会把设计工作推给用户。
- 跳过未解决的节点继续推进。如果依赖项尚未确定,后续问题就问得太早。
输出
这次审查会产出三项成果,而不只是答案。主动提出是否要编写每一项;不要强行要求。
-
决策清单(始终需要)。将已解决的决策树整理为扁平列表:
Decision - Choice - Source (user | inferred: <path>)。 -
CONTEXT.md(审查中出现项目专属术语时)。创建一份简短的共用词汇文件:列出你和用户需要明确的每个领域术语,并用项目自身的措辞为其写一行定义。这样可以避免 Agent 在下次会话中用二十个词表达一个词的意思,并确保代码中的命名一致。每行一个术语:term - what it means here。提示后续会话参考此文件。再次运行时,应将新术语合并到现有内容中,而不是覆盖原有内容。 -
决策记录(仅用于有争议或难以撤销的节点)。每项未来读者可能会质疑的决策都写一份简短记录:说明背景、所选方案、排除的替代方案及理由。将记录保存在
docs/decisions/NNNN-slug.md。先读取该目录,并从现有记录中的最大编号开始编号,以免记录编号冲突。跳过显而易见的选择——为琐碎选择写记录只会制造噪音。
输出约定
决策清单应便于用户粘贴到计划文档中。不要写概述性文字。不要含糊其辞。如果用户拒绝决定某个节点,就将其标记为 DEFERRED,并注明用户给出的理由——这与未决不同。编写 CONTEXT.md 或决策记录时,应使用项目自身的语言,而不是通用模板。