乐于分享
好东西不私藏

AI写代码总翻车?7万星Skills项目教AI"真工程"

AI写代码总翻车?7万星Skills项目教AI"真工程"
你有没有这种感觉——让AI写代码,第一眼看还行,越用越不对劲?

改个bug改出三个新bug,让它重构一下直接给你整出一坨屎山,想让它写测试?它给你mock了一堆根本没意义的东西。

不是AI不行,是你没教它怎么"工程化"。

今天分享一个GitHub上7.3万星的项目——mattpocock/skills,它不是什么框架,不是什么库,就是一套给Claude Code用的"工程素养训练手册"。作者是TypeScript圈子的大佬Matt Pocock,人家不是教你vibe coding,是教你真工程


四大翻车现场,你中了几个?

Matt总结了AI编程助手的四大死法:

  1. 不听话——你想要A,它给你B,对齐失败
  2. 太啰嗦——废话一箩筐,token烧得飞起
  3. 代码不work——写完了跑不通,反馈循环断裂
  4. 越写越烂——架构一塌糊涂,技术债越堆越高

这四个问题,Skills项目一个一个给你解决了。


先装上再说

一行命令搞定:

npx skills@latest add mattpocock/skills

然后选你要的skill,装完之后在Claude Code里跑一下 /setup-matt-pocock-skills,它会问你三个问题:用什么Issue追踪器(GitHub/Linear/本地markdown)、要不要标签体系、项目是单语境还是多语境。

三步走完,你的项目就具备了所有skill的"运行环境"。


五个最值得用的Skill

装了14个skill,哪些最值得上手?我挑了5个最实用的。

1. /diagnose —— 不再乱改bug

你是不是经常这样:报了个bug,让AI看,AI瞎猜一通,改了五个文件,bug没修好,还整出新问题?

diagnose的思路是:先建反馈循环,再谈修bug。

它分六步走:

  • 建反馈循环——写一个能2秒内复现问题的测试/脚本,这是"debugging超能力"
  • 确认复现——确保你看到的和用户说的一样
  • 生成假设——列出3-5个可能原因,排优先级
  • 插桩验证——一次只验证一个变量,日志带唯一前缀[DEBUG-a4f2]
  • 先写回归测试再修——没找到合适的测试接缝?那本身就是发现
  • 复盘——修完之后问"什么能防止这个bug再次出现"

核心洞察:第一步建循环是技术活,剩下都是体力活。 有了2秒的确定性反馈循环,没有找不到的bug。

2. /tdd —— 让AI真正写好测试

AI写测试最大的坑是什么?mock一堆内部实现,测试全通过,上线全崩。

tdd skill的核心原则:测试行为,不测实现。 通过公共接口测,不mock自己的模块,只mock系统边界(数据库、外部API)。

另一个关键:垂直切片,不是水平分层。 别先把所有测试写完再写实现,而是一个测试→一个实现→循环。像tracer bullet一样,一发一发打。

❌ 错误:写10个测试 → 写全部实现 → 跑测试✅ 正确:写1个测试 → 写实现让它过 → 写下1个测试 → 循环

3. /grill-with-docs —— 最强Skill,没有之一

这个skill做两件事:疯狂追问你 + 同时维护共享语言。

它会在你的项目根目录创建/维护一个CONTEXT.md,里面定义术语、关系、歧义标记。你说的每个模糊概念,它都会逼你精确化——"你说的'服务'是指微服务还是后台任务?"

一旦术语定下来,写进CONTEXT.md,后续所有对话都用同一套语言。再也不用每次跟AI解释一遍"我们说的XX其实是YY"。

需要做架构决策时,它还会提醒你写ADR(Architecture Decision Record)——但只有同时满足三个条件才会建议:难以回滚、不写会让人困惑、确实有权衡取舍。不会动不动就让你写文档。

4. /to-prd + /to-issues —— 从想法到可执行任务

聊了一个小时,想法很多,怎么落地?

/to-prd 把对话提炼成产品需求文档——问题陈述、解决方案、用户故事、实现决策、测试决策、范围外事项,结构清晰。

/to-issues 再把PRD拆成一个个GitHub Issue——每个Issue都是一条垂直切片,从UI到数据库穿透所有层,独立可验收。还会标注这个Issue是HITL(需要人参与)还是AFK(AI可以独立完成),按依赖顺序排列。

从"我有个想法"到"这里有一排排好队的Issue",一条龙。

5. /caveman —— 省token神器

激活之后,AI的所有回复变成超压缩模式——砍掉冠词、客套话、犹豫词,只留干货。token用量降约75%。

普通模式:I think the best approach would be to refactor the authentication module first...Caveman:Refactor auth module first. Circular dep in UserService.

遇到安全警告、不可逆操作等关键时刻,会自动退出压缩模式说人话。说"stop caveman"恢复正常。


三个底层设计思想

光会用不够,理解设计思想才能举一反三。

第一,Skill本质是精心设计的Prompt,不是代码。 14个skill里只有3个有可执行脚本,其余全是SKILL.md里的结构化提示词。这意味着你可以自己写——项目里就有/write-a-skill教你。

第二,CONTEXT.md + ADR是持久记忆层。 Skills在运行时读取它们、运行中更新它们。你用得越多,共享语言越丰富,AI越"懂你"。

第三,"深模块"哲学。 来自《软件设计哲学》这本书——接口要小,实现要深。所有涉及架构的skill都在推动你往这个方向走:删掉浅模块,建立深模块,让每个模块的接口面积尽可能小。


一句话总结

这个项目不是教你让AI写更多代码,是教你让AI写更好的代码

它的核心不是什么高深技术,而是把软件工程几十年的最佳实践——DDD、极限编程、红绿重构——用Prompt的方式"教"给AI,让AI从"vibe coding"变成"工程化协作"。

如果你在用Claude Code、Codex或其他AI编程助手,这个项目值得花半小时装上试试。