
如果你用 AI 写代码超过三个月多半经历过这种时刻Agen快速的生成了几百行代码看起来像那么回事跑起来才发现它根本没理解你想要什么。你把描述改了三遍加了五条补充说明它还是跑偏。Matt Pocock 把这个问题拆成了四个具体的失败模式然后给每种模式写了一个小技能来解决。Matt 是前端圈最知名的 TypeScript 讲师之一他的 Total TypeScript 课程是领域内标杆级的教学产品。但他最近半年最活跃的项目不是课程而是一套叫 Skills for Real Engineers 的 AI 编程技能库。仓库名字取得直接 — 不是 Vibe Coding是 Real Engineering。先看一组数字。仓库 290 次提交MIT 协议16.5 万 Star刚刚发布了 v1.1.0。但比数字更重要的是设计哲学 — 他在 README 里直接点名了 GSD、BMAD、Spec-Kit 这几个流行的全流程框架“它们试图帮你控制整个开发流程但同时也剥夺了你的控制权流程中的 bug 还很难解决。”他走了一条相反的路线技能要小、要可组合、要兼容任何模型。仓库里有 21 个技能分成工程类和生产力类两组每组再按谁来调用拆成用户调用和模型自动调用两种。整件事的起点是一段来自《程序员修炼之道》的引文“没有人确切知道自己想要什么。” — 这是他在 README 里回答这些技能为什么存在的开场白。第一个要解决的是对齐偏差。Agent 没做你想要的东西因为你自己也没想清楚。他的方案是/grill-me— 这是整个仓库里最受欢迎的技能。Agent 会反过来向你提问一层层追问直到你脑子里的模糊想法被逼成清晰的决策树。如果要写代码用/grill-with-docs更合适它做完盘问之后还会帮你构建项目领域模型更新 CONTEXT.md 和架构决策记录。第二个问题是 Agent 太啰嗦。你在代码里用userProfile当变量名Agent 每次都要写the user’s personal profile information stored in the database。原因很简单Agent 没你的领域词汇表。他的解是领域建模 — 让 Agent 主动维护一份 CONTEXT.md把通用的描述压缩成精准的行话。他用自己另一个仓库举例把 “There’s a problem when a lesson inside a section of a course is made ‘real’” 压缩成 “There’s a problem with the materialization cascade”。这不仅省 Token代码里变量和函数命名也会随之变一致。第三个是反馈循环缺失。代码写出来了但它不工作。这里没有魔法 — 就是红-绿-重构 TDD 循环。但 Matt 把/tdd写成了一个可以嵌入任何项目的技能附带大量关于好测试和烂测试的具体指导。还有一个/diagnosing-bugs技能把调试过程封装成一个五步循环复现、最小化、假设、插桩、修复、回归测试。第四个问题最深刻Agent 加速了软件熵增。写得越快代码越乱。这是泥球问题 — 功能堆叠上去了但架构在持续腐化。他的应对是/improve-codebase-architecture会扫描整个代码库寻找优化机会生成可视化 HTML 报告。他建议每隔几天跑一次。从/to-spec写规格到/to-tickets拆任务到/implement驱动 TDD 循环再到/code-review双轴审查标准合规 规格忠实度他画出了一条完整的 Agent 驱动的工程管线。安装非常简单只有一条命令npx skillslatest add mattpocock/skills然后选择你要的技能和目标 Coding Agent运行/setup-matt-pocock-skills完成初始化。支持目前主流的 70 多个 Agent 客户端。说到竞品和它最可比的是 obra/superpowers — 今天也上了 Trending排第四。两者都是 AI 编程技能框架但哲学差异很明显。superpowers 走的是完整方法论路线强调你不该做任何决策让流程帮你做。Matt 的路线是给你一套可拆卸的工具你自己决定怎么用。superpowers 有 25 万 Star、628 次提交Matt 的仓库 16.5 万 Star、290 次提交规模更轻。如果你喜欢框架替你管理流程superpowers 更合适。如果你想要一套可以魔改的零件Matt 这套更对路。这套技能有明显的前提条件它们来自 Matt 个人的 .claude 目录反映的是一个资深开发者的个人工作流偏好。如果你不习惯 TDD、不用 Issue Tracker 做项目管理、代码库不维护 CONTEXT.md直接用这套技能可能会觉得流程太重。还有一个实际门槛 — 仓库只支持英文。CONTRIBUTING.md 明确声明不接受文档和技能翻译理由是翻译副本会随内容演变而落后长期维护成本高。对于中文使用者来说这意味着不仅技能文本是英文的Agent 执行盘问和代码审查时输出也是英文的。如果你的日常工作语言是中文Agent 来回切换语言会增加 Token 消耗和沟通摩擦。README 里的坑不算多但有一个容易被忽略的设计约束用户调用的技能不能调用另一个用户调用的技能只能调用模型自动调用的技能。这个约束保证了技能链不会失控膨胀。另外setup-matt-pocock-skills必须在每个新仓库运行一次配置 Issue TrackerGitHub/Linear/本地文件、分类标签和文档保存路径之后才能使用其他工程技能。谁适合用这套技能如果你已经在用 Claude Code、Codex 或 Cursor 做日常开发但感觉 Agent 的输出质量不够稳定每次都要反复修改同一段描述才能让它理解你的意图 — 这套技能最能帮到你。它不替代你的判断而是帮你和 Agent 建立一套更高效的协作语言。谁不适合如果你刚开始接触 AI 编程还在摸索怎么用自然语言描述需求先用好 Agent 的基础功能会更实际。如果你追求一句话生成整个应用的一键式体验这些需要你参与对话、做决策的技能会让你觉得啰嗦。Matt Pocock 做的事情本质上是在给 AI 编程的最后一公里补课。模型很强但强在生成不在理解。把理解的过程交还给人和 Agent 之间的对话用结构化的技能把对话打磨成可复用的模式 — 这才是 Real Engineering 和 Vibe Coding 的真正分野。项目地址https://github.com/mattpocock/skills 竞品地址 - obra/superpowershttps://github.com/obra/superpowers