快速开始
npx skills add mattpocock/skills --skill=grill-with-docsnpx skills update grill-with-docs功能说明
grill-with-docs 会对你提出的计划或设计方案进行不间断的追问,一次只问一个问题,直到你和智能体达成共识——并且它会在这个过程中将词汇和决策记录下来。
这种"拷问式"追问会留下书面记录。普通的访谈能让你理清思路,但会话结束后就烟消云散了;而这个工具会在每个术语达成共识的瞬间将其写入 CONTEXT.md 术语表,并将那些不可逆的硬性决策记录为 ADR(架构决策记录)。双方达成的共识会留存下来,而不是只停留在你的脑海里。
何时使用
你通过输入 /grill-with-docs 来调用它——智能体不会主动使用它。
在变更的起始阶段使用它,此时计划还很模糊,领域语言尚未确定,你希望在编写任何代码之前对这两者进行压力测试。如果你只需要访谈而不需要生成文档,请使用 grilling;如果计划已经清晰,你只需要确定或记录术语,请使用 domain-modeling。如果变更规模太大,无法在一次会话中完全理清,且路线仍然模糊——比如一个全新的项目或大型功能开发——请先从上游的 wayfinder 开始:它会将整个工作绘制成决策地图,然后在路径清晰后交回给主流程。
前置条件
这个技能是有状态的——它在拷问过程中会向你的代码仓库写入文件。已确定的术语会写入根目录下的 CONTEXT.md 术语表中(如果存在 CONTEXT-MAP.md 标记了多上下文仓库,则写入对应上下文的 CONTEXT.md),而真正难以逆转的决策会作为 ADR 存入 docs/adr/ 目录下。这些文件都是延迟创建的——在第一个术语或决策确定之前不会创建任何文件——所以你不需要预先搭建任何东西,但你需要确保所在位置可以安全地写入这些文件。
拷问流程
其核心机制是拷问:沿着决策树一步步追问,一次只问一个问题,先解决决策之间的依赖关系再继续往下走,每个问题都会给出一个建议答案。凡是代码库能回答的问题,都会通过读取代码库来回答,而不是向你提问。
这个变体之所以成为一个独立的技能,在于答案的去向。在拷问进行的过程中,模糊的语言会被精炼为规范术语,并实时写入术语表——而不是在最后批量写入。术语表始终保持纯粹:只包含词汇,不包含实现细节,也不包含规格说明。ADR 只在以下情况下才会被谨慎提出:决策难以逆转、脱离上下文会令人费解、且涉及真正的权衡取舍。大多数会话最终会产生一个更加精炼的术语表,而很少或没有 ADR——这正是预期的形态。
成功的标志
- 它一次只问一个问题并等待回答,而不是抛出一份问卷。
- 术语在确定的瞬间就被写入
CONTEXT.md,使用的是项目自己的语言。
- 它能通过读取代码库来回答自己能回答的问题。
- ADR 保持稀少——你不会被要求对可逆的选择进行走过场式的确认。
在整个流程中的位置
grill-with-docs 是主构建链的起始步骤:
grill-with-docs → to-spec → to-tickets → implement → code-review它首先执行,在任何规格说明被写下来之前率先执行:它产生双方共识和已确定的词汇,然后 to-spec 可以利用这些成果合成规格说明,而无需重新对你进行访谈。与之相近的技能包括 grilling(不带文档生成的访谈)和 domain-modeling(它驱动的术语表和 ADR 机制)。当你不确定哪个技能或流程适合时,可以找 ask-matt 帮你导航。