-grill-with-docs,superpowers的对手来了
公众号名称:AI编程实验室
作者名称:鲁工
发布时间:2026-07-07 19:20
大家好,我是鲁工。
最近有一套Skills在X上很火,其中知名度高一点的包括grill-with-docs、to-prd等等。我也在第一时间安装体验了下。
这套Skills的作者叫Matt Pocock,写前端的朋友对Pocock这个名字应该不陌生,Total TypeScript就是他做的,TS圈里排得上号的佬。这两年他转去做AI Hero,专门研究怎么用好coding agent,newsletter攒了有6万左右的订阅。他的Skills这个仓库今年2月才建,现在已经有15.4万star了。仓库名就叫 skills,副标题也很直白,Skills for Real Engineers,给真正做工程的人用的skills。

仓库地址:
https://github.com/mattpocock/skills

Matt老哥在README里开篇就说GSD、BMAD、Spec-Kit这类框架想帮你管住开发流程,代价是拿走你的控制权,而且流程本身出了bug,开发者很难排查。
这段没点名说superpowers,但熟悉这个生态的都知道,superpowers 就是流程接管这一派最出名的作品,写这篇时24.7万star。半年前我专门写过它:
Superpowers,一款强大的软件开发工作流skills
那篇里我把它的强制流程当优点讲,装上之后Claude Code会被约束在固定流程里,先讨论需求再写计划再动手。Matt这套等于在说,这恰恰是毛病所在。所以这篇除了介绍仓库本身,顺带说了一下路线之争。
先看这套skills长什么样。正式推荐的一共是21个,分engineering和productivity两组,工程主流程是一条五步的链路:/grill-with-docs把想法磨清楚,/to-prd把对话合成一份PRD(产品需求文档),/to-issues把PRD切成互相独立的issue,每个issue单开一个新会话跑 /implement,写完用/code-review收尾。

grill字面是烤肉的烤,引申义是连环拷问,/grill-with-docs这个skill的玩法是反过来让agent审问开发者。
它一次只问一个问题,每个问题附上自己的推荐答案。代码里能查到的事实它自己去查,只有需要拍板的决策才拿来问你,问到整棵设计树没有悬而未决的分支为止。
Matt说这是整个仓库最受欢迎的skill。而它底层的grilling源文件,连头带尾一共12行。

12行是什么概念,拿superpowers对照一下就有数了。superpowers一共14个skill,合计3300多行,光test-driven-development就有371行,教你写skill的writing-skills更是689行,里面大量篇幅在列红旗表,把agent可能找的每种借口写出来逐条反驳,比如agent心想这只是个简单问题,表里立刻顶回去:简单问题也是任务,要先查skill。
同一件事,两边的假设完全相反。superpowers假设模型会偷懒、会给自己找理由,所以要把每条退路堵死;Matt的skills假设模型本来就大概率做对,skill只负责在关键处给一个最小的锚点。他这21个skill合计才1321行,TDD(测试驱动开发,先写一个失败的测试再写实现)只有36行,篇幅全花在三个测试反模式上,剩下的全都交给模型自己。
孰优孰劣先不下结论,接着看第二个我觉得有意思的设计,CONTEXT.md。
Matt观察到agent在项目里说话啰嗦,用20个词讲1个词能讲完的事,根源是它不掌握这个项目的黑话。他的解法是让/grill-with-docs在拷问你的过程中顺手编一本项目词典,存成CONTEXT.md。README里给了他自己项目的例子,改造前要说,课程某章节里的一节课被落实、在文件系统里分到位置时出了问题;改造后一句materialization cascade出问题了,这就完了。
一个词顶一句话,agent少烧token,变量和文件命名还需要跟着统一。这招其实是把领域驱动设计里ubiquitous language(通用语言,团队和代码说同一套词)的老概念搬给了agent,README里引用直接标到Eric Evans那本书上。整个仓库都是这个路数,TDD引 Kent Beck,模块设计引Ousterhout 的深模块理论,等于把几本经典软件工程书压缩成agent能执行的形态。
第三个设计是个有意隐藏。装好后我敲/skills 一看,列表里只有8个,第一反应是漏掉了。查了一圈才发现是故意的:21个里有13个在配置里写了disable-model-invocation: true,模型永远不会自动调用它们,描述也不进模型的上下文,只有你手敲斜杠命令才会唤起。代价就是你得自己记住这13个命令。记不住也有兜底,敲/ask-matt,这是个专门的路由skill,告诉你当前情境该走哪条流。
superpowers在触发这件事上是另一个极端。它靠hook(会话启动时自动执行的钩子)往每个会话开头注入一段指令,原话的意思是,哪怕有1%的可能某个skill 适用,你也必须调用它,没有商量余地。一边零打扰等你来调,一边从会话第一秒就上强度,用哪个舒服,取决于你想让agent替你做多少决定。这个真的挺烦的,有时候我执行毫不相关的任务,也会触发superpowers某个不熟悉的skill。
Matt的skills安装就一条命令:
npx skills@latest add mattpocock/skills
装完还有一步,在每个要用工程流的代码仓库里跑一次/setup-matt-pocock-skills,配置issue放在哪(GitHub、GitLab或本地markdown文件三选一)和triage分诊标签,主流程的几个skill都依赖这份配置。
装完之后我起了一个实际项目来把整条链从头跑了一轮:一个练英式口语的iOS app,从一句想法到编译上真机,走的就是上面那五步。
/grill-with-docs比我预想的要细致。一次一个问题,每个带推荐答案,从产出物到底是什么,一路问到90天后怎么判断这产品成了,一共16个决策,每个都等我拍板才走下一步。

问完的副产品就是那本项目词典。CONTEXT.md攒出17个词条,顺手落了4份ADR。体感最好的是上场链这种自家黑话,后面的issue、测试名、周报设计里这三个字一出现,指什么从没歧义过。

中间我多嘴问了句要不要先调研,它开了三个后台research代理并行去查,学习科学那份把三十篇文献逐条核验了来源。报告回来还翻了两个决策的案:CarPlay压根没有语音对话类目,二期只能做音频播放。调研建议的模型被我改成DeepSeek之后,它把为什么不听调研的原样写进了ADR。决策是我的,理由留了档。
到/to-prd 出了个小插曲。我让agent自己调这个skill,被顶回来了,disable-model-invocation拦着的,必须我亲手敲斜杠命令。前半篇还在夸这个设计克制,被拦那一下才真正会意。

PRD落成issue #1,36条用户故事,动笔前它先跟我确认了测试接缝,整个app只开一条主缝。/to-issues再切成7片曳光弹,依赖关系用GitHub原生的sub-issue和blocking边连好。

然后是那个36行的TDD skill带着跑红绿循环,22个测试,13个Swift的、9个代理契约的。没觉得被推着走,更像旁边坐了个不废话的结对编程搭子。一轮下来,Vercel上的代理实测首字节一秒上下,app对iOS 26.5 SDK一次编译通过。
真机上第一句我说的是Hello, can you tell me something about KobeBryant?,端上转写一字不差,标点都给我补上了。中间被vercel.app的网络卡了一道,给代理绑了自有域名才直连走通。说完大概隔三秒,Ryan的英式发音就从扬声器里出来了。

回头说跟superpowers怎么选。实测两套可以共存,Matt这套大部分命令不参与自动触发,superpowers的hook只强推它自己那14个,相互之间其实不冲突。喜欢把任务丢给agent自己跑几个小时的,superpowers的subagent-driven-development就是为这个设计的;跑完这一轮我可以给个更实在的说法,如果你的项目值得每个决策都过自己的手,这套的手感是真舒服,16次拍板都是我下的。
两套我都留着,后续打算反过来用superpowers 跑同一条链,看看被流程管着和自己握方向盘,交付质量和效果上的差异如何。
如果觉得有用,点个赞或者在看,也方便更多朋友看到。
感谢您阅读我的文章。我是鲁工,九年AI算法老兵,AI全栈开发者,深耕AI编程赛道与AI科研赛道。
>/ 作者:鲁工
内容效果不满意?点此反馈