我是怎么用grill-me的,Matt pocock技能库使用经验分享。

NukaColaM 2026-06-03 13:37 1

这段时间用mattpocock/skills搞了几个给自己用的小玩意,分享一点经验。


啥最好用


grill-me/grill-with-docs


王者grill-me/grill-with-docs再次上线。这技能强就强在“达成共识”四个字,如果你的需求太宽泛,是真的会问到你神志不清的。我试过几次前面一些问题都还是会认真看,后面就摆烂直接开启Yes工程师模式了。

但王者也需要注意一些点,grill-with-docs会记录文档,很好的设计,但文档在完成任务之后应该删掉,因为可能会与后续的需求产生冲突。我在WinTProxy(自己搞的一个Win平台透明代理)的重构就遇到了与文档冲突的问题。我想要用ndisapi取代WinDivert做数据包的捕获和改写以支持WSL和HyperV的二层NAT,但原有架构是多个Worker在三层做数据包的处理,当时留了个docs/adr文档,然后切换ndisapi就遭殃了,它工作在二层,然后NAT又会经过几个网卡,然后就重复捕获了好几次。


to-issues


这个技能的其中一个思想是很值得参考的,垂直切片。这要求任务划分是从端到端的划分,而不是层间划分。一个任务需要处理完一个需求从后端到前端的全部实现,有效反馈对于AGENTS来说是提效的一个重点。


diagnose


很好用的debug技能,上面那个问题最后就是用它找的,当然也算是我懒,主要是trace级别日志太多了,也懒得看。不过这个技能本身规范了一整套流程,有点啰嗦的。后来我自己改了一套更个人化的技能库,对这个技能就是砍掉了后面的修改和测试,只报告原因就行了,把修改和测试交给to-issues和tdd。


tdd


另一个王者,AGENTS时代大概tdd是最合适的了,要是再配上rust。什么叫做写完就结项?准确来说不是这个技能是王者,是测试驱动这种思想是王者。


啥我不用


这里列几个我不用的技能,不过mattpocock的技能库里面的engineering基本都很有用就是了。顺带一提,我自己魔改就是engineering剔除了triage,魔改了包括zoom-out在内的其他技能,然后加上了handoff做session交接。


前置配置的Issue tracker


并不是说不好用,只是我认为做本地的文档会方便一点。但Matt pocock原来设计就是维护github上的项目的,所以并没有什么毛病,也就开头配置时候多个选择而已。


triage


这是搭配上面的Issue tracker用的,你如果是本地文档,你大概率不会用这个。因为你不可能先写个文档描述issue,然后再丢目录里面去排序吧!真的有人这样做吗?


zoom-out


这玩意就一句话,直接写提示词都行,没有什么工作流程之类的,所以本质上只是方便一点。魔改的话可以让它做些数据流图啊之类的,更清晰一点。


一般咋用


grill-with-docs → prototype(optional) → to-prd → to-issues → tdd


improve-codebase-architecture → prototype(optional) → to-prd → to-issues → tdd


diagnose → tdd


这里面的prototype一般要新开一个session去完成,前后用handoff交接。

这个to-prd → to-issues很多时候是形影不离的,一开始我认为这两个就该合并,但后来实际开发中发现,有时候不会去写prd的,一个明确的需求就直接拆分任务了。这两个技能拆分是有道理的。


为啥用这


superpowers、trellis等这些其实都用过,有个共同的特点就是流程控制比较强,或者说比较重,穷鬼最喜欢省token了。




示例


举一个简单的例子来走完grill-with-docs → to-prd → to-issues → tdd这一套流程。这里先说明一下,我用的不是原版的matt pocock的技能,我是在他的基础上自己修改了一套,主要是强化了文档的交接等,所以截图中的链路是这样的:clarify → spec → slice → tdd。


grill-with-docs


我自己做了一个简单的翻译小工具TinyTrans,它现在的托盘菜单长这样。我认为它很丑,我想改掉。



于是,我直接来一句经典甲方语录。

“I want to optimize the right-click menu; it looks very ugly right now. Clarify it.”



然后,就开始拷问你了。这里因为是演示,所以我全程一路Accept,全部同意了它的建议。



然后它就问了几个问题。其实这个需求提得很变态,正常来说你稍微有点自己的想法,就会拷问得更多的。


to-prd


一旦拷问完成了,这意味着你和LLM就“达成共识”了,这是前文提到的很重要的一点,也是我认为的grill系列技能的核心。但这个时候,你跟LLM的共识是在当前对话形成的,这其实很有必要形成文档,所以接下来就是形成prd。

接下来的操作我就很傻瓜了,我全程跟着LLM的提示走。

这里也说明了一下,我自己魔改了技能强化了下一步推荐,原版没有这么强的关联性,能力强的模型比如GPT-5.5是能做到,但我自己实测下来,D老师的下一步推荐在原版上不是那么好使。





然后,这里有的佬友就要问啦,哎呀,我这个spec或者prd要不要自己审查一遍啊?

我建议你审!但是我不审,因为我懒。

另外还有一个原因,还是那四个字“达成共识”,本质上这个spec或prd就是你跟LLM对话的总结,我反正是达不到LLM的总结能力的。 ^-^


to-issues


当你审查完了prd,就要开始拆分任务或者原版中的issue了。



这里唯一需要注意的就是,你需要看一下是不是做了垂直切片。当然啊,这个事情还是具体问题具体分析。横向切片也不是完全不能接受的。


tdd


这里就没什么好说了,去干别的事,让LLM这个牛马跑就是了。它自己会RED/GREEN这种方式去鞭策自己的,过不了就自己打回重做了。狠狠地抽陀螺! ^-^





最后的成品是这样的。额,D老师的品味一言难尽。 ^-^


写在最后


我认为现在的工作流构建什么的始终都是过渡产品。人总是懒惰的,等后续LLM的继续发展,这部分工作肯定是越来越少,希望这个过渡期短一点吧。

最新回复 (19)
  • HavenLiew 06-03 15:11
    1

    好文拜读了,感谢佬。


    佬若有空的话,能不能举个项目例子再详细讲讲呢?

  • NukaColaM 楼主 06-03 16:31
    2

    这几天有空我用自己搞的这些玩意举例写一下吧。

  • HavenLiew 06-03 16:35
    3

    太好了佬,静待拜读大佬的文章~~

  • NukaColaM 楼主 06-04 17:37
    4

    嘿,简单地写了一个完整的工作流。用了一个很简单的小玩意做的示例,纯粹是演示。后续有时间我也许会把WinTProxy那个的重构流程重新跑一遍写个例子吧。算是挖个坑。 ^-^

  • msputup 06-04 18:18
    5

    笑死我了,达成共识了,和我改的好像,那个to-issues,我改回to-plan了,然后我建议,有时候确实还是需要审一下plan,我让gpt5.5去实现,他没有读prd,然后plan没有明确写明go实现,他先看了go version不存在,直接转头node实现了。

    prototype其实matt不推荐在grillme直接使用,而是先handoff,然后让另外一个session去实现,最后handoff回来,这是可抛弃的,不污染主线,我觉得直接fork就可以。而不用来回handoff。

    对了,还有一个闭环,review也可以加上

  • superTomato 06-04 18:26
    6

    难得看到有工作流说明的,之前看一堆工作流,愣是不知道咋用

  • NukaColaM 楼主 06-04 18:51
    7

    文中其实也提了,建议审prd或者spec的,有时候确实会抽风的。

    proto我用的少,根本原因是懒得proto,直接干。

    handoff的意义是形成proto过程中可取之处和不可取之处的总结性文档,这个层面上我认为其实蛮有必要的。handoff这个,我待会改改正文。

    至于review,懒 ^-^

  • HavenLiew 06-04 19:33
    8

    刚看完,感觉有不少启发。


    我再琢磨下,想想。。


    感谢大佬~~~~

  • ReReRe 06-04 20:22
    9

    看完了,还是很有启发的,谢谢佬。

  • skyrime 06-04 20:52
    10

    感谢佬的分享。

    对于复杂一点的项目我喜欢先/grill-with-docs出一个路线图。然后再/to-prd。我看了/to-prd的内容,他的格式其实还是不太符合国内的格式习惯,我准备改下他的格式。现在比较纠结的就是prd的版本如何管理的问题。

  • NukaColaM 楼主 06-04 21:04
    11

    其实我认为是不需要管理的,因为完成了之后应该删掉。

    文中也说了,后续修改你总会遇到与最开始需求相悖的地方的,你还保留原有文档,反而会污染。

    如果真的要做,写日期就好。

  • Butterl 06-04 21:31
    12

    最近很少有人聊技术感悟了,基本和自己用起来感觉相似,静态工作流太呆了,要泛化特定任务效果不好,要效果好要么过拟合要么token 时间都是10倍,出了问题还得再来。动态工作流感觉能很好的解决这类问题,基于场景动态规划流程,除了现在生成的工作流往往喜欢大力出奇迹

  • NukaColaM 楼主 06-04 21:46
    13

    大力出奇迹这个我觉得也不是什么坏事,人都是懒的。

    不过佬的这个动态规划流程倒是值得探讨的。

  • tiancai0214 06-05 10:58
    14

    grill-with-docs → to-prd → to-issues → tdd



    可以重复grill-with-docs → to-prd → to-issues → tdd的流程吗?

  • tiancai0214 06-05 10:58
    15

    会不会跟之前走这一套的文档有冲突

  • NukaColaM 楼主 06-05 11:01
    16

    新功能点开发就该这么走,不过得自己判断一下有没有必要。

  • NukaColaM 楼主 06-05 11:03
    17

    文中有提到过,建议删除掉之前的文档。一旦你新的功能或者改动与旧需求冲突,是会产生污染的。这个文档管理确实是个需要注意地方,只是我个人建议搞完就删除。

  • tiancai0214 06-05 12:02
    18

    谢谢佬友 ,如果是上一个需求的衔接后续,这种情况的话,建议还是grill-with-docs → to-prd → to-issues → tdd的方式是吗。 我觉得有时候其实只是需要一个执行对齐文档?这种情况走这么长流程是不是有点不太好。我现在的方式是用/triage 生成一个agent brief去跟这种情况的开发。

  • NukaColaM 楼主 06-05 12:14
    19

    看你需求的大小,衔接后续我姑且理解为是个小变更,那实际上没必要走流程。你用triage也挺不错的,就是你需要手动写入一些变更文档。

    如果让我来做这个事情,我可能就直接执行了,最后让更新一下原来的文档,补充这一点上去就好。

* 帖子来源Linux.do
返回