
什么是 grill-with-docs?
grill-with-docs 是 TypeScript 大神 Matt Pocock 开发的另一个 AI 技能,和 grill-me 是“亲兄弟”。
grill-me 做的事情是:AI 通过持续提问,帮你在动手之前把所有模糊的地方想清楚。但 grill-me 有一个“缺点”——它不写任何文件。拷问结束,对话一关,刚才理清楚的思路就只停留在你的脑子里,下次打开一个新的 AI 会话,一切又要重来。
grill-with-docs 解决了这个问题。它运行的是和 grill-me 完全一样的拷问流程——一次一个问题,给出推荐答案,等你回答完再问下一个。但区别在于:每敲定一个术语,它就写进 CONTEXT.md;每做一个难以逆转的决策,它就生成一条 ADR(架构决策记录) 。
截至 2026 年 8 月,grill-with-docs 在 skills.sh 技能排行榜上以超过 58 万次的安装量排名第六。
主要功能
1. 有状态的拷问——会留“纸面记录”
grill-with-docs 的核心定位是 stateful(有状态的) 。其他拷问类技能只存在于对话会话中,会话结束就消失了;grill-with-docs 会把拷问过程中达成的共识写进代码仓库的实体文件里。
术语一旦敲定,立刻写入 CONTEXT.md 词汇表;决策一旦通过三道门槛,立刻生成一条 ADR。所有成果都保存在仓库里,下一次打开 AI 会话,这些文件还在。
2. 基于现有领域模型的压力测试
grill-with-docs 不会从零开始拷问你。它会先探索你的代码库,读取已有的 CONTEXT.md 词汇表、docs/adr/ 架构决策记录,以及项目中的实际代码。
你在规划中使用的任何术语,如果和词汇表里已有的定义冲突,AI 会立刻指出:“你的词汇表将‘取消’定义为 X,但你似乎指的是 Y——到底是哪个?”
你在陈述某个功能的工作方式时,AI 会去检查代码是否一致。如果发现矛盾,它会直接暴露出来:“你的代码取消了整个订单,但你刚才说部分取消是可能的——哪个是正确的?”
3. 一次只问一个问题
和 grill-me 一样,grill-with-docs 严格遵守“一次只问一个问题”的原则。等用户回答完,再问下一个。一次性抛出十几个问题只会让人不知所措。
每个问题 AI 都会先给出自己的推荐答案。你不需要面对空白的输入框发呆,只需要对 AI 的建议说“同意”或“不同意,应该是这样”。
4. 能查代码的绝不问你
如果某个问题可以通过查看代码库或现有文档找到答案,AI 会自己去查,而不是问你。你只需要回答那些需要人类做决策的事情。
5. 文档内联更新,不批量处理
grill-with-docs 最鲜明的特征之一:文档是“内联更新”的,而不是等到拷问结束再批量生成。术语一敲定,立刻写进 CONTEXT.md;决策一通过三道门槛,立刻生成 ADR。不攒、不等、不拖。
6. ADR 只给真正重要的决策
grill-with-docs 不会为每一个小决定都生成 ADR。它有三道门槛:
难以逆转——以后改主意的成本是有意义的
没有上下文时令人惊讶——未来的读者会想知道“他们当时为什么这样做?”
真正权衡的结果——存在真正的替代方案,你出于特定原因选择了一个
三个条件全部满足,才生成 ADR。大多数会话产生的是一份更清晰的词汇表,几乎没有 ADR——这才是它设计的初衷。
如何安装 grill-with-docs
安装命令
在终端中执行以下命令:
npx skills add mattpocock/skills --skill grill-with-docs
备选安装方式
你也可以通过完整 URL 安装:
npx skills add https://github.com/mattpocock/skills --skill grill-with-docs
重要提醒
安装 grill-with-docs 本身是不够的。 这个技能的 SKILL.md 只有一行,它本身不包含拷问逻辑,而是把工作委托给另外两个技能:
grilling—— 提供拷问流程domain-modeling—— 提供文档写入能力
所以你需要确保这两个依赖技能也可用。最简单的方式是直接安装完整的 Matt Pocock 技能包:
npx skills add mattpocock/skills这会一次性安装所有技能,包括 grill-me、grill-with-docs 及其所有依赖。
验证安装
安装完成后,通过以下命令确认:
npx skills list
如何使用
安装后,在你的 AI 编程助手(Cursor、Claude Code、Codex 等)中输入斜杠命令:
/grill-with-docs 我想做一个XXX
然后 AI 就会开始拷问你,并在拷问过程中把共识写进代码仓库。
注意:grill-with-docs 不会主动调用自己,必须由你手动通过 /grill-with-docs 触发。
应用场景
场景一:在代码仓库中启动一个新功能
你有一个现有的代码仓库,现在要加一个新功能。需求还比较模糊,领域术语还没定下来,架构方向也不确定。用 /grill-with-docs,AI 会基于你现有的代码和文档来拷问你,并在过程中把所有敲定的术语和决策记录到仓库里。
场景二:跨模块重构
你要改一个数据模型或 API 的形态,影响范围跨越多个模块。这种重构最怕的就是“以为想清楚了,做着做着发现漏了什么”。grill-with-docs 会帮你把每个决策点都过一遍,确保没有隐藏的坑。
场景三:现有项目缺少领域文档
一个老项目,代码在,但没有人维护过 CONTEXT.md 或 ADR。你想理解这个项目的领域模型,但没有文档可读。用 /grill-with-docs,AI 会通过拷问你(以及阅读代码)来帮你们一起把文档补齐。
场景四:团队知识沉淀
不止是你自己用。grill-with-docs 生成的 CONTEXT.md 和 ADR 是实体文件,可以提交到代码仓库,团队成员都能看到。一个人用 grill-with-docs 理清的需求和决策,整个团队都能受益。
使用案例
案例一:从“想做个功能”到“有了词汇表和 ADR”
一位开发者在现有的电商仓库中想加一个“部分退款”功能。他输入 /grill-with-docs 我想加一个部分退款功能。
AI 先读取了仓库中已有的 CONTEXT.md,发现“退款”已经被定义为“整单全额退款”。于是第一轮拷问就是:“你的词汇表将‘退款’定义为整单全额退款,但你说的是‘部分退款’——这是一个新的概念,还是你要修改现有的定义?”
经过几轮问答,团队敲定了“部分退款”的定义,AI 立即更新了 CONTEXT.md。后续又讨论了退款审批流程、与支付系统的交互方式等决策,其中“是否允许部分退款后修改订单状态”这个决策通过了三道门槛,AI 生成了一条 ADR 保存在 docs/adr/ 中。
整个流程结束后,不仅需求理清了,仓库里还多了两份永久文档。下一次任何人打开这个仓库的 AI 会话,这些文档都在。
案例二:术语不一致的发现与统一
一个团队在规划一个“用户账户合并”功能。产品文档里用的是“合并”,代码里用的是“关联”,词汇表里写的是“绑定”——同一个概念,三个名字。
用 grill-with-docs 拷问时,AI 发现了这个术语冲突,直接指出来:“你的词汇表将‘绑定’定义为 X,代码中‘关联’函数做的是 Y,而你的方案里说的是‘合并’——这三者是同一个概念还是不同的概念?”
团队这才意识到术语不统一的问题。经过讨论,统一为“合并”,AI 更新了 CONTEXT.md,并建议在代码中做相应的重命名。
案例三:与代码矛盾的方案被及时发现
一位开发者在规划一个“批量删除订单”功能时,对 AI 说:“用户可以批量选择订单并删除,删除后订单状态变为‘已取消’。”
AI 去读了一下代码,发现现有的 Order.cancel()
方法会触发一系列副作用——发送通知、更新库存、记录审计日志。而“批量删除”显然不应该触发这些。AI
直接指出:“你的代码中取消订单会触发通知和库存更新,但你刚才说批量删除只是改状态——这两个操作是一回事吗?如果不是,你应该创建一个新的‘批量删除’流程,而不是复用取消逻辑。”
这个矛盾如果在写代码之前没发现,等代码写了一半再来改,成本就高多了。
案例四:Vercel 社区的真实案例
在 Vercel 社区中,有团队分享了他们使用 grill-with-docs 的真实经历:用它来创建了一个组件库,“规则直接活在代码里” 。这不是写一份文档然后指望大家去看,而是把设计决策、术语定义、架构原则全部以 CONTEXT.md 和 ADR 的形式保存在仓库中,与代码同源、同步、同库。
grill-with-docs 与 grill-me 的区别
| 维度 | grill-me | grill-with-docs |
|---|---|---|
| 有无状态 | 无状态(stateless),不写任何文件 | 有状态(stateful),写文件到仓库 |
| 输出 | 只存在于对话中 | CONTEXT.md + ADRs |
| 适用场景 | 通用场景(生活、工作、创意项目) | 有代码库的场景 |
| 会话结束后 | 成果只在你脑子里 | 成果在仓库里,可提交、可共享 |
社区用户的实际反馈是:“最大的不同就是 grill-with-docs 会在你敲定决策后把要点写进文档,解决了 grill-me 不会同步写文档容易丢上下文的问题。实际用下来个人感觉后者体验确实更好。简而言之对于大部分的开发环境,grill-with-docs 可以替掉 grill-me。”
总结
grill-with-docs 解决的是一个非常实际的问题:AI 帮你理清了思路,但思路只存在于对话里。下次打开一个新的 AI 会话,一切又要重来。
grill-with-docs 的本质,就是把 grill-me 的拷问成果固化到代码仓库里。术语写进 CONTEXT.md,决策写进 ADR。拷问结束,仓库里多了两份文档——下一次任何人打开这个项目的 AI 会话,这些文档都在。
拷问流程不变:和 grill-me 一样,一次一个问题,带推荐答案
成果会落地:术语和决策写进仓库文件,可提交、可共享
基于现有代码:AI 会先读你的代码和文档,再提问
生态验证:58 万+安装量,全榜第六
如果你在代码仓库里工作,并且希望 AI 帮你理清需求的同时还能留下文档,grill-with-docs 应该是你首选的拷问技能。


◯ 评论 0