mattpocock/skills:用UL语言解决你与AI之间沟通不畅!


用DDD统一通用语言解决你与AI之间黑话术语的隔阂,四种skills解决AI编程听不懂话、废话多、代码烂、项目乱四大痛点,三十秒快速上手指南。

GitHub大神开源AI开发工具包mattpocock/skills:解决四大编程痛点,三十秒快速上手!

每天写代码写得头秃,AI帮倒忙更让人抓狂。我最近发现了个好东西,是工程师Matt Pocock开源的一套开发技能工具,就藏在他的GitHub仓库里。这哥们是真写代码的,不是那种只会吹牛说AI能取代程序员的人。

这套工具解决了我四个最头疼的问题:AI听不懂人话、AI废话太多、AI写的代码跑不动、项目越写越乱成一锅粥。没用这套工具前,我每天跟AI吵架的时间比写代码还长。用了之后,效率直接起飞。

这篇文章我就手把手教你安装和使用这套工具,全程大白话,没有专业术语装逼。我会从最核心的安装步骤开始说,然后给你详细介绍每个技能是干啥用的。读完你就能立刻上手,让你的AI助手从猪队友变成神助攻。

三十秒快速安装

打开你的电脑终端,复制粘贴这行命令,回车运行。这个命令会自动下载安装程序,全程不用你操心。

bash
npx skills@latest add mattpocock/skills

运行后会出现一个选择菜单,问你要装哪些技能,还有要装到哪个AI编程助手上面。这里注意了,一定要选中那个叫“setup-matt-pocock-skills”的选项,这个是核心配置工具。

装完之后,在你的AI编程助手里输入斜杠命令“/setup-matt-pocock-skills”,然后回车。AI会问你三个问题,分别是选哪个问题追踪系统、给任务贴什么标签、文档存哪里。随便选就行,后面都能改。

搞定收工,你现在已经装好了全套工具。接下来我详细告诉你每个技能怎么用。

解决AI听不懂人话的问题

没有人能一开始就完全搞明白自己想要啥!这是大卫托马斯和安德鲁亨特在《程序员修炼之道》这本书里说的。

问题在哪儿呢。软件开发里最常见的失败原因就是双方没对齐。你觉得那个程序员知道你想要啥,结果你看到他做出来的东西才发现,他根本就没理解你的意思。

到了AI时代这个毛病一模一样。你跟AI之间有个沟通鸿沟。解决这个鸿沟的办法就是来个拷问环节,让AI追着你问一堆细节问题,搞清楚你到底要做啥。

你有没有遇到过这种情况,你跟AI说了半天要做什么,它点头如捣蒜,结果写出来的东西完全不是你要的。这不是你的问题,也不是AI故意气你,而是你们俩之间存在一个沟通黑洞。

解决方案就是下面这两个命令:

/grill-me,这个用在跟代码没啥关系的事情上。

/grill-with-docs,跟上面那个一样,但是加了一些好东西,后面会说到。

这两个是最受欢迎的技能。它们帮你在动手之前先跟AI把需求对齐,让你把这次改动想透彻。每次你要改东西的时候都用它俩。

grill这个词是烧烤的意思,在这里指的就是像烤串一样把问题烤透烤熟。启动这个技能后,AI会疯狂追问你各种细节,直到它完全理解你的真实需求。

举个例子,你说帮我把登录功能优化一下。普通AI直接开始改代码,但用了grill技能后,AI会追着你问:你要优化什么东西,是登录速度还是安全性还是用户体验,你现在遇到的具体问题是什么,你希望改完以后达到什么效果,有没有什么限制条件。这些问题会让你把自己的需求想得更清楚。

grill-with-docs比grill-me更高级,它不仅会追问你,还会把你和AI达成共识的那些术语和规则写到项目文档里。这样下次你再跟AI说同一个功能,它就不用重新猜你的意思了,直接看文档就懂了。

解决AI废话太多的问题

有了通用语言UL之后,程序员之间的对话还有代码的表达方式,都从同一个领域模型里长出来!这是埃里克埃文斯在《领域驱动设计》这本书里说的。

问题在哪儿呢:项目刚开始的时候,程序员和那些业务专家说的话通常不是一码事。

我跟我的AI助手也遇到了同样的问题:AI被丢进一个项目里,一边干活一边猜那些黑话是啥意思。结果本来一个词就能说清楚的事,它用了二十个词。这不是AI有病,而是它不知道你们项目里那些缩写和黑话都是啥意思,只能把每个词都解释一遍。

解决这个问题的方法就是搞一份共享语言文档。这个文档帮AI搞明白项目里那些黑话都是啥意思。

你跟AI聊天的时候,它会把你们之间约定好的术语写到一个叫CONTEXT.md的文件里。比如你告诉它咱项目里说的用户态就是指已经登录的用户状态,AI记住了,以后就不会再问你用户态是啥意思了。

举个例子吧:

这个功能已经做到grill-with-docs里面了。它就是个拷问环节,但能帮你在拷问过程中跟AI建立起一套共享语言,还能把那些很难解释清楚的技术决策写成文档。

这玩意儿有多好用我跟你讲不明白。它可能是这个代码库里最牛的一个技巧了。你自己试试看就知道了。

给你个小提示:共享语言的好处远不止减少废话这么简单。

用这套共享语言来给变量、函数还有文件起名字,它们就会保持一致。因为名字都统一了,AI在代码库里找东西就更方便了。
AI也不用花那么多算力去猜你的意思了,因为它有了一套更精练的语言可以用。

不光减少了AI的废话,还能让你整个项目的变量名、函数名、文件名都保持统一风格。你的代码看起来就像是一个人写的,而不是一堆人和一堆AI拼凑出来的大杂烩。

我还发现了一个额外的好处,AI因为它掌握了一套简洁的项目专用语言,它思考问题的时候需要的算力更少了,回答问题也更快了。这就好比你跟一个老同事配合,不用说太多对方就懂你的意思。

解决AI写的代码跑不动的问题

每次只走一小步,要确保步子走得稳。反馈的速度就是你的速度上限。千万别接太大的任务!这是大卫托马斯和安德鲁亨特在《程序员修炼之道》这本书里说的。

问题在哪儿呢:假设你跟AI已经对齐了要做什么,结果它写出来的还是垃圾,这时候该怎么办呢。
这时候就该看看你的反馈回路了。如果AI不知道它写的代码跑起来是啥效果,那它就是在闭着眼睛瞎写。

解决方案是你需要全套的反馈回路,包括静态类型检查、浏览器访问权限、还有自动化测试。
给AI装上反馈系统,让它知道它写的代码到底能不能跑通。
这套工具里有个叫“/tdd”的技能,用的是测试驱动开发的方法,也就是先写测试再写代码。AI会先写一个肯定会失败的测试,然后慢慢改代码让这个测试通过。

在自动化测试这块,红绿重构循环特别关键,红灯表示测试失败,绿灯表示测试通过。这个循环的意思是AI先写一个跑不通的测试,然后再改代码让这个测试能跑通。这个方法给AI提供了一个稳定的反馈信号,

AI每改一次代码就跑一遍测试,看到绿灯了就知道自己改对了。这比你告诉它哪错了要高效一万倍,因为它自己能验证。

配套使用的还有一个叫“/diagnose”的技能,它把最好的调试方法打包成了一个简单的循环流程。这个技能会强迫AI按照一套严格的流程来找问题,先试着复现bug,然后缩小问题范围,接着猜可能的原因,再添加日志输出验证猜测,找到根因后修复,最后写个测试确保这个bug不会再出现。这套流程说白了就是专业程序员的调试套路,现在让AI学会了。


解决项目越写越乱的问题

每天都要在系统设计上投入精力!这是肯特贝克在《极限编程解析》这本书里说的。

最好的模块都是很深的那种。它们用简单的接口就能提供一大堆功能!这是约翰奥斯特豪特在《软件设计的哲学》这本书里说的。

问题在哪儿呢:大多数用AI写出来的应用都特别复杂,还特别难改。因为AI写代码的速度太快了,它同时也加速了软件的熵增。代码库变复杂的速度快得离谱。

解决方案是一个全新的AI开发思路,你得开始关心代码的设计质量了。
这个思路已经嵌进了这套技能的每一层。
to-prd这个命令会在你写产品需求文档之前追问你要碰哪些模块。
zoom-out这个命令让AI在解释代码的时候把它放到整个系统的大背景里说。
最关键的是improve-codebase-architecture这个命令,它能帮你把一个已经变成屎山的项目救回来。我建议你每隔几天就在整个项目上跑一遍这个命令。

其实说白了,这些技能都是在教AI用正经软件工程的思路来写代码。写测试、做设计、保持架构清晰,这些都是人类程序员几十年来总结出来的最佳实践,现在让AI照着做就行了。

把大任务拆成小任务

你有没有让AI帮你做个完整的功能,它一口气写了两千行代码,结果根本没法用。这是因为AI不擅长一口气处理太复杂的任务,它会在半路上忘记前面在做什么。

解决方案是先把大任务拆成小块,让AI一块一块地做。这套工具里有个叫“/to-issues”的技能,专门干拆任务的活。你把一个功能需求或者产品需求文档丢给它,它会帮你拆成一堆独立的GitHub任务,每个任务都是一个垂直的功能切片。

什么叫垂直切片,就是说每个任务都是完整的一小个功能,而不是把数据库、后端、前端分开做。比如你要做一个用户注册功能,垂直切片就是第一个任务做邮箱密码注册的完整流程,第二个任务做手机号注册的完整流程。这样每完成一个任务,你都能看到一个能跑通的小功能。

拆完之后每个任务都是独立的,你可以让AI一个一个做,也可以分给不同的人同时做。每个任务做完了都能单独测试和上线,不会互相影响。这种做事方法特别适合用AI辅助开发,因为它把复杂度控制在了AI能搞定的范围内。

其他好用小工具

这套工具包里还有一些不太常用但关键时候能救命的技能。比如“/caveman”这个技能,它开启了一种超省字的沟通模式,能把你的指令压缩掉百分之七十五的废话,只保留最核心的技术信息。当你需要跟AI快速沟通的时候特别好用。

“/write-a-skill”这个技能可以让你自己创建新的技能。你要是觉得官方提供的技能不够用,或者你想定制一套自己团队的专用流程,用这个就能自己动手做。它会教你技能文件该怎么组织,说明文档该怎么写。

还有几个我给它们归类到杂物箱的技能,用得不多但不小心就会有奇效。git-guardrails-claude-code这个技能会在你的Git操作前加一道安全检查,防止你手滑敲出git push force这种毁灭性的命令。migrate-to-shoehorn是帮你把测试代码里的类型断言语法转换成更安全的写法。

总结为什么要用这套工具

我试用这套工具之前,每天跟AI吵架的时间比我写代码的时间还长。AI听不懂我的需求,我说东它做西。AI废话连篇,问个简单问题给我写篇论文。AI写的代码全是bug,修一个出来三个。项目越写越乱,加个新功能要改二十个文件。

用了这套工具之后,这些问题全解决了。grill技能让AI在动手之前先把我问明白,tdd技能让AI写的代码能跑能测,共享语言文档让AI说话不再啰嗦,架构优化技能让我的项目保持整洁。

软件工程的基本功比任何时候都重要。mattpocock/skills这套技能就是作者尽最大努力把这些基本功变成了可以重复执行的固定流程,帮你写出你职业生涯里最牛的应用。