📌 项目地址mattpocock/skills | ⭐ 91,051 颗星 | 🔧 Shell | 📜 未标注

我用Claude Code和GitHub Copilot超过一年,反复遇到三个问题。

问题一:代理做了,但不是我要的。

我说“把推送逻辑从短信改成邮件”。它直接开工。改完发现:短信的日志格式没迁移、回退机制丢了、依赖接口改了但调用方没更新。

问题不在代码,在提示词只写了表面需求。我心里想的边界条件、异常处理、模块依赖——共有80%的信息没写进提示词。代理不会去猜。

问题二:代理和我用两套术语。

项目里文档写了“DataNode”和“ComputeNode”是不同概念。代理问“数据节点怎么处理”,我分不清它指哪个。每次纠正,时间全耗在沟通磨损上。

问题三:代理分不清优先级。

仓库几十个issue,标签有bugfeaturerefactor。代理把所有问题同等拎出来,我还是要手动排顺序。

这三个问题的共通点:代理做工程的方式,和你做工程的方式不一样。

Matt Pocock做了个项目叫mattpocock/skills,91051个star,6万人订阅了他的更新通知。他不是教你写更好的提示词,而是把他的工程经验编译成一组可复用的指令文件,直接装进你的代理里。

三个核心单元:grill-me, triage, grill-with-docs

安装命令:

npx skills@latest add mattpocock/skills

跑完后在代理里执行/setup-matt-pocock-skills,它会问三件事:你用哪个issue跟踪器(GitHub、Linear或本地文件)、triage用哪些标签、文档存在哪个目录。配完就能用。

核心指的是三个文件:/grill-me/triage/grill-with-docs

/grill-me:先把你问清楚

README引用了《程序员修炼之道》的话:“没有人确切知道自己想要什么。”

/grill-me的机制很简单:你发出指令后,代理停止执行,开始反问。比如你让改通知模块,它会问:

  • “这条改动会影响哪些现有通道?”
  • “需要保留回退机制吗?”
  • “日志格式要改吗?”
  • “依赖接口改了,调用方需要通知吗?”

你回答完所有问题,代理才开始写代码。问题列表不是随机生成的,是Matt根据多年工程经验预编译的模板。

我试过一个案例:改一个通知模块,需求是把短信通道换成邮件。不用/grill-me时,代理10分钟改完,运行报错——它没考虑短信有专用错误日志格式,邮件用的格式不同。用了/grill-me,代理先问了“现有通道之间的互相调用关系”,我发现自己都没完全想清楚这个。回答完再改,一次通过。

/triage:按标签排完优先级再动手

仓库几十个issue,让代理“看看问题列表”,它把bugfeaturechore全拎出来,你还是要自己排序。

/triage的做法:安装时配置好标签分类。跑这个指令时,代理先读取每个issue的标题和标签,然后按紧急顺序列出处理方案。

我试过一个有22个open issue的仓库。代理先挨个问我“这个bug严重性高还是中”,确认后列出从高到低的处理顺序。没问的我不需要管。比我自己翻列表省了大概10分钟。

关键洞察:代理不会自己判断优先级。 你必须教它。而/triage把这件事变成了一个简单问答流程。

/grill-with-docs:让代理说你的话

/grill-me只能解决“你没说清楚”的问题,但解决不了“你俩用的词不是一回事”的问题。

/grill-with-docs在执行反问逻辑之前,先加载项目里的词汇表、架构文档、API文档。代理提问时自动用文档里的术语,不会自己造词。

我试的第二个项目有30多页API文档。不用这个skill,代理问“这个用户的信息存在哪”,我分不清它指Customer还是User。用了之后,代理问“Customer的shipment数据应该更新哪个表”,一看就知道它读对了文档。

局限性:如果你的代理上下文窗口太小,加载全部文档可能塞爆。老模型或API限制严格的代理不适合。

安装方式:Copy还是Subscribe

README提供了两种安装方式,背后是两种哲学。

通过skills.sh安装:

npx skills@latest add mattpocock/skills

这套方式把指令文件复制到你的项目里。你可以直接修改和调整。比如你觉得/grill-me的问题列表不够全,可以直接编辑,加几条你关心的问题。复制到项目里意味着你拥有所有权。

作为Claude Code插件安装:

claude plugin marketplace add mattpocock/skills
claude plugin install mattpocock-skills@mattpocock

插件是只读的,会跟随作者的更新自动升级。你只用跑一次/setup-matt-pocock-skills

README自己说得很清楚:“skills.sh copies the skills into your project so you can hack on them and make them your own. The plugin keeps them as a read-only, always-current bundle you don’t edit。”

一个可以Hack,一个可以订阅。选哪个取决于你想不想维护代码。

Matt在README里还提了一句:“Using Codex or another agent? The skills.sh installer already installs these skills into Codex and other Agent-Skills-standard harnesses today. A native Codex plugin is on the roadmap。”目前官方还没做Codex原生插件,但skills.sh的方式已经能用。

91051星说明了什么

这个数字告诉我:很多人都有同感——跟AI沟通,比跟人沟通更容易误解。

但真正有价值的不是这个工具本身,而是它背后的工程思维:把你的工作方法论,编译成代理能执行的指令集。

你可以直接在提示词里写“先问我10个细节问题,全部回答完再写”。效果接近。但这个仓库省去每次手写的麻烦,而且把提问模板中隐含的经验——优先问边界条件、异常处理、术语定义——也打包好了。

如果你在用编码代理,装一个/grill-me。下次改代码前,让它先把你问清楚。

这篇文章对你有帮助吗?

发表回复