Matt Pocock把自己日常用AI写代码的方法整理成一套开源技能文件,在GitHub上已经突破20万星。它不是框架,也不是提示词合集,而是一组能让Claude Code、Codex等工具按工程规范干活的Skill, Matt Pocock的Skills 仓库介绍
GitHub上有个挺魔幻的项目——仓库里几乎全是Markdown文本文件,不到半年就冲到了20多万星。作者Matt Pocock搞TypeScript教育出身,做过Vercel和Stately的工程师,YouTube上有大几十万粉丝,newsletter订阅也攒了差不多六万人。他把自己电脑里.agents目录下的工作方法直接开源了。
这套东西的Slogan是「Skills for Real Engineers」,态度很明确:不是给"氛围编程"用的,是给正经做工程的人准备的。说白了,它提供的是一套AI编程的标准操作流程。
你可能用过Claude Code的CLAUDE.md,往里面塞一堆注意事项或者从网上抄来的通用提示词,效果也就那样。Matt做的事是把真实的软件工程方法论——测试驱动开发、代码评审、领域建模这些——一个个浓缩成Skill文件。装好之后,你在AI工具里敲/grill-me、/tdd这样的斜杠命令,AI就会按对应的工程方法来干活,而不是想到哪写到哪。 现在仓库里已经有35个Skill,按版本分成了user-invoked(你手动触发)和model-invoked(AI自己判断要不要用)两大类。工程类的有测试驱动开发、Bug诊断、代码架构改进这些;生产力类的有头脑风暴、上下文交接,甚至还有一个让AI教你学东西的。有些还在beta阶段,有些已经被移除了——/caveman和/zoom-out在v1.0.1里就被砍掉了。
装起来花不了半分钟。打开终端敲一行命令:
跑完之后挑你想要的Skill,再选装到哪个AI工具里。如果你用Claude Code,更省事儿,直接在插件市场装mattpocock-skills,自动更新,不用自己管。
建议一定带上/setup-matt-pocock-skills这个初始化Skill。装完后运行一次,它会问你几个问题——Issue用GitHub、Linear还是本地Markdown管?文档放哪个目录?标签怎么命名?配置完这些信息会被写到docs/agents/下面,以后其他Skill直接读这些文件。
grill-me:让AI反过来拷问你的需求
整个仓库里最火的是/grill-me。它的作用是让AI反过来对你进行"灵魂拷问",在写代码之前把需求和设计盘清楚。
核心内容加起来只有三句话,效果相当狠。针对你的计划或设计,一个问题一个问题地追问,直到达成共识。沿着决策树的每个分支走下去,逐个解决依赖。每个问题要给出推荐答案。每次只问一个,等你回答完再问下一个。能通过查看环境找到的事实,AI直接去查;但决策必须你来拍板。
有用户第一次用的时候,AI一口气问了38个问题。问完之后,很多之前根本没想到的设计细节都被逼着想清楚了。这跟"小黄鸭调试法"有点像——以前那只鸭子不会说话,现在AI能刁难你了。而且强制一次只问一个问题,避免了抛出一堆问题让你不知所措,整个对话更像一场真正的需求评审。
如果你做的是有代码仓库的项目,可以用升级版的/grill-with-docs。它在拷问你的同时,会把讨论中确定下来的术语和决策记录到CONTEXT.md和架构决策记录文件里,给项目建一份专属术语表。
你肯定遇到过这种情况:每次跟AI描述项目里某个操作,都要写一大段解释,因为AI不了解你们内部的叫法。Matt的做法是在CONTEXT.md里提前定义好术语。比如他自己有个课程管理项目,"把课程章节中的某节课创建到文件系统"这个操作,他定义了一个词叫"物化级联"。之后跟AI沟通只需要说这个词,AI就知道他在说什么。术语积累得越多,AI对项目的理解越精准,沟通也越来越高效。
tdd:测试驱动,一次只切一片
再说/tdd。你可能让AI用测试驱动方式开发过,结果它一口气先把所有测试写完,再写所有代码。看起来很高效,实际上很坑——写测试的时候代码还不存在,AI只能靠想象设计测试结构。等真正写代码时,实际API跟想象的完全不一样,一堆测试推倒重写。
/tdd强制AI用"垂直切片"的方式工作:先写一个测试让它失败,然后只写刚好能让这个测试通过的代码,通过之后再写下一个。经典的红绿重构循环,一次只走一小步。
它还有几条硬规矩。比如只在预先商定的"接缝"处测试——接缝就是代码的公开接口,像函数的入参和返回值。写测试之前,AI会先跟你确认在哪些接缝处写。它还列出了AI写测试时容易犯的反模式,最典型的叫"同义反复测试",就是把被测代码的逻辑在测试里重新写一遍,比如expect(add(a, b)).toBe(a + b),这种测试永远能过,毫无意义。正确的做法是用独立数据源做期望值。
diagnosing-bugs:修Bug之前,先让它稳定复现
遇到Bug的时候,很多人的第一反应是看代码、猜原因、试着改。AI也一样,让它修Bug经常越改越乱。Matt认为根源在于AI跳过了最关键的一步:先建立一个能稳定重现Bug的反馈循环。
/diagnosing-bugs把Debug过程拆成六个阶段,第一步也是核心就是"建立反馈循环"。简单来说,就是一条能稳定重现Bug的命令——可以是一个会失败的测试用例、一个curl请求、甚至一个Playwright脚本,只要能一键运行并且明确告诉你Bug触没触发就行。在这步完成之前,AI不允许跳到猜原因的阶段。如果AI还没搞定重现命令就开始分析代码,Skill会直接打断它。有了稳定重现之后,再最小化场景、提出假设逐一验证、修复并写回归测试。
teach:AI当你的私人教师
/teach这个Skill挺有意思,它不只是让AI给你讲个知识那么简单,背后有一套完整的教学方法论。你告诉AI想学什么东西之后,它会先问你为什么想学。然后把学习目标记录到MISSION.md,接着搜索高质量资源整理成RESOURCES.md,最后给你设计课程,每堂课是一个HTML文件保存在lessons/目录下。
它还会区分"流畅度"和"存储强度"。流畅度是你当场能回忆起来的感觉,但不代表真记住了;存储强度才是长期记忆。所以它会刻意设计有一定难度的练习,用间隔重复和交错练习来加深记忆。还有个"最近发展区"的概念——AI会根据你之前的学习记录判断现在的水平,设计刚好超出能力一点点的内容,不会太简单无聊,也不会太难放弃。
所有学习过程都保存在当前目录,下次打开同一个目录继续学,AI能接着上次进度来。
wayfinder:大项目拆成决策地图
/wayfinder专门解决一个问题:项目大到一个AI对话装不下的时候怎么办?
AI的思考质量会随着上下文变长而下降,Matt把AI表现最好的范围叫"智能区间",大概在12万tokens以内。/wayfinder的做法是把大需求拆成一张"决策地图",AI先跟你一起把最终目标定义清楚,然后在Issue管理工具里创建地图,列出需要做的一系列决策,每个决策是一个独立Issue,自动标注哪些可以先做、哪些要等前置完成。
每次你开一个新对话处理一个决策,上下文都是干净的。这很像企业开发里的模块化。里面还有个"战争迷雾"的设计,就像游戏里没探索过的区域——你现在能看到的决策只是一部分,随着前面决策逐步完成,后面的才逐渐清晰。这样可以避免一开始就过度规划那些还想不清楚的事情。不过这个Skill门槛比较高,更适合有一定工程经验的开发者。
improve-codebase-architecture:定期给代码做体检
代码量大了以后,Matt建议每隔几天跑一遍/improve-codebase-architecture,相当于给代码做体检。它会深度扫描代码库,生成一个可视化的HTML报告,用Tailwind美化样式、用Mermaid画架构图。每个优化建议是一张卡片,写着涉及文件、当前问题、改进方案、改进前后对比,还会标注推荐程度。你选一个感兴趣的,它就启动一轮新的grilling对话来讨论具体怎么改。
这个Skill的核心理念来自《A Philosophy of Software Design》。好的模块就像微波炉,按几个按钮就能加热食物,内部原理完全不用管——这叫"深模块",接口简单,实现复杂。但如果一个模块用起来跟自己写一个差不多费劲,那就是"浅模块"了。这个Skill要找的就是代码库里那些"浅"模块,帮你把它们变成"深"模块。
handoff:跨对话不丢上下文
/handoff解决的是跨对话协作问题。你在一个对话里讨论了很多内容,积累了大量上下文,但要开新对话的时候,之前所有讨论就全丢了。手动复制粘贴麻烦,还容易遗漏。
/handoff会在当前对话结束前,让AI把核心内容压缩成一份交接文档,保存成Markdown文件。下次开新对话的时候,让AI读一下这个文件,就能接着上次进度继续工作。交接文档还会标注建议在新对话中使用哪些Skill,并且自动去除敏感信息比如API密钥。
除了上面这些,仓库里还有不少实用的Skill。/ask-matt相当于一个路由器,你不知道该用哪个Skill的时候问它就行。/git-guardrails-claude-code会给危险git操作加道闸,防止手滑把不该推的东西送到远程。/setup-pre-commit帮你把Husky跑起来,提交前自动过一遍格式检查和类型校验。/to-spec能把对话整理成规范的技术规格书,/to-tickets再拆成粒度合适的任务单直接写进Issue追踪器。 这套东西的本质不是提示词技巧,而是把存在了二十多年的软件工程方法论封装成了AI能执行的格式。以前得靠团队协作和代码评审来落地,现在通过几个Skill文件就能让AI按规矩干活。如果你已经习惯用AI辅助编程,又对代码质量有要求,值得花半分钟装上去试试。