Appearance
让Agent写个功能,改了一遍又一遍越改越乱。问题不在Agent,在你和Agent之间的"语言障碍"。Total TypeScript作者Matt Pocock昨天做了件狠事——把自己每天用的16个Skill全开源了,38,314颗星,GitHub趋势榜第一。
为什么你的Agent总是"翻车"
Matt把Agent失败归到4个根因,每个根因配一套Skill:
根因1:Agent没真正理解你想要什么
《Pragmatic Programmer》里有句话:"没人真正知道自己想要什么"。
你给Agent的需求,往往是一句模糊的话。Agent怎么可能知道你真正的意图?
解决方案:/grill-me 和 /grill-with-docs
这两个Skill是仓库里最受欢迎的。它们的逻辑是:让Agent反过来拷问你。
Agent: "这个功能的目标用户是谁?"
你: "企业开发者"
Agent: "企业开发者有什么特点?需要什么权限?"
你: "..."把决策树每一个分支都问到底,直到Agent真正理解你的需求。Matt建议:每次开新任务前都跑一遍。
根因2:Agent太啰嗦
Eric Evans的DDD理论说:开发者和领域专家说不同的语言,浪费的全是token和耐心。
你说"课程章节里某节课被赋予文件系统位置时出问题了",Agent需要理解半天。但如果有共享语言,一句话就够了。
解决方案:CONTEXT.md
这是Matt这套Skill里最值得抄的一个想法。每次grill完,Agent会把关键术语沉淀到项目根的CONTEXT.md:
markdown
## 术语表
materialization cascade - 课程章节被赋予文件系统位置的过程
vertical slice - 按功能垂直切分的独立模块
ADR - 架构决策记录,存放在 docs/adr/下次会话,Agent读完这个文件就直接用"行话"说话。
效果:
- Token消耗降低
- 变量名、函数名按共享语言命名
- 整个代码库导航成本降低
根因3:代码跑不通
Kent Beck的XP强调:反馈循环。
大多数人用Claude Code最痛的是:Agent改了一遍又一遍还是不对。
解决方案:/tdd 和 /diagnose
/tdd- 强制红绿重构,不跑通不许停/diagnose- 系统化调试:复现→缩小范围→假设→插桩→修→加回归测试
根因4:代码变成屎山
Matt的原话:"Agent在加速写代码的同时也在加速软件熵增"。
解决方案:三件套
/to-prd- 写PRD前先盘清楚动了哪些模块/zoom-out- 强制Agent把代码放回整个系统看/improve-codebase-architecture- 定期救已经烂了的代码库
Matt自己的频率是"每几天跑一次"。
16个Skill全解析
Matt的Skill分四类:
Engineering(9个)- 日常代码工作
| Skill | 用途 | 推荐度 |
|---|---|---|
| /grill-with-docs | 带文档拷问,理解需求 | ⭐⭐⭐⭐⭐ |
| /tdd | 强制红绿重构 | ⭐⭐⭐⭐⭐ |
| /diagnose | 系统化调试 | ⭐⭐⭐⭐⭐ |
| /zoom-out | 全局视角看代码 | ⭐⭐⭐⭐ |
| /to-prd | 写PRD前先盘模块 | ⭐⭐⭐⭐ |
| /to-issues | 计划拆成GitHub issue | ⭐⭐⭐⭐ |
| /triage | 状态机管理issue流转 | ⭐⭐⭐ |
| /improve-codebase-architecture | 定期救屎山 | ⭐⭐⭐ |
| /setup-matt-pocock-skills | 前置依赖 | ⭐⭐⭐ |
Productivity(3个)- 通用工作流
| Skill | 用途 | 亮点 |
|---|---|---|
| /caveman | 穴居人模式输出 | Token降75%,准确度不变 |
| /grill-me | 非代码版拷问 | 理解任何需求 |
| /write-a-skill | 写新Skill | 元编程 |
caveman是个有意思的:把Agent输出强行压缩到"穴居人模式",砍掉所有填充语,token消耗降75%但技术准确度不变。
Misc(4个)- 偶尔用
| Skill | 用途 |
|---|---|
| /git-guardrails-claude-code | 拦截危险git命令 |
| /setup-pre-commit | 配Husky + lint-staged |
| /migrate-to-shoehorn | TS测试断言替换 |
| /scaffold-exercises | 搭练习题目录 |
为什么BMAD不香了
Matt在README里直接点名BMAD、Spec-Kit、GSD。
| 维度 | BMAD/Spec-Kit | Matt Pocock Skills |
|---|---|---|
| 哲学 | 我接管整个流程 | 我给你工具,你自己组合 |
| 控制权 | 框架说了算 | 你说了算 |
| 耦合度 | 强耦合,必须按顺序走 | 零耦合,想用哪个用哪个 |
| 调试难度 | 流程出bug很难定位 | 单点工具,问题清晰 |
| 适合人群 | 不太懂工程的人按部就班 | 已经知道自己在做什么的人 |
Matt的观点:"这些方法试图通过接管整个流程来帮你,但代价是夺走你的控制权,让流程里的bug极难修复。"
BMAD像跟团游,什么都安排好,但你不能改路线。Matt Pocock像给你一套登山装备,你想去哪自己去。
这套Skill的真正价值
1. 不是新发明,是常识重包装
Matt引用的全是经典:
- Pragmatic Programmer - 小步迭代
- DDD - 共享语言
- Kent Beck XP - 反馈循环
- Ousterhout - 深度模块
他不教你新东西,它把你已经知道是对的东西,做成Agent也能照着做的小工具。
2. 工程师审美
看命名就知道了:
- /grill-me - 拷问我
- /zoom-out - 拉远看
- /diagnose - 诊断
没有一句"范式""革命""颠覆"。
3. 从真实生产代码出发
Matt不是Skill圈的人,他是TypeScript圈的顶流:
- Total TypeScript课程作者
- TypeScript官方文档站长
- 邮件列表60,000+工程师订阅
实战建议
安装
bash
npx skills@latest add mattpocock/skills执行完会让你勾选要装的Skill和目标Agent(Claude Code、Codex、Cursor都支持)。
记得勾上/setup-matt-pocock-skills,它是Engineering类Skill的前置依赖。
第一次用
建议先跑/grill-with-docs,把当前正在做的功能丢给它,让它拷问你20分钟。
结束后看看生成的CONTEXT.md长什么样,基本就理解了Matt这套的核心。
配套:ADR
每次有重大决策,Agent会自动生成一个ADR(Architectural Decision Record)存到docs/adr/。
这样下次Agent看到一段奇怪代码,不会又跑回来问你"为什么这么写",它会先去翻ADR。
适合谁
✅ 适合
- 已经写过几年代码
- 用过一段时间Claude Code
- 被Agent的"vibe coding"坑过
- 知道工程基本功比模型聪明更重要
❌ 不适合
- 刚开始用AI写代码
- 需要一个完整流程帮你从0到1
那种人去用BMAD更快。
立即行动
- 打开GitHub:mattpocock/skills
- 跑
npx skills@latest add mattpocock/skills - 先试/grill-with-docs,理解CONTEXT.md的威力
Matt Pocock这套Skill之所以能火,是因为它解决的是真实痛点,而不是造一个新框架。
它给你的不是"银弹",而是一套更顺手的工具。
