-
buo4 技术教程组 用户
别再 vibe coding 了:Matt Pocock 开源 27 个 Agent 技能,把工程纪律装进你的 AI 编程助手

用 AI 编程助手写代码的,多少都遇到过这种时刻:
你随口说了一句"帮我加个导出功能",Agent 斗志昂扬地干了十分钟,交付回来一看——方向错了,字段名不对,交互逻辑完全是另一套东西。你憋着火说"重做",它又还给你一版新的错的。几个回合下来,这事你自己写早写完了。
这还不算最惨的。更隐蔽的是慢性病:代码能跑,但你不敢改。每次让 Agent 动刀,架构就往泥球的方向滑一格。Agent 写代码的速度是人类的好几倍,软件腐化的速度也是。
社区里不是没人想解决这事。GSD、BMAD、Spec-Kit 这类框架都号称能"规范"Agent 开发,但它们的路线是 own the process——把整个流程接管过去。控制权交出去了,流程本身有 bug 的时候,你连修都修不动。
Matt Pocock 给出了另一条路:不接管流程,给你一把一把小的、可改的、可组合的技能。这就是 mattpocock/skills。
这个项目是什么
一句话:这是 Matt Pocock 本人每天在用的 Agent 技能合集,目标是"do real engineering - not vibe coding"。
作者是 TypeScript 圈的老炮,Total TypeScript 和 AI Hero 的创作者。他把自己 .agents 目录原样公开:27 个技能,全部是一个个 SKILL.md 指令文件,没有安装脚本、没有黑盒框架,每个文件你都能从头读到尾。
项目采用 MIT 协议开源,支持 Claude Code、Codex、GitHub Copilot、Gemini CLI,以及 Cursor、OpenCode、Devin、Windsurf、Amp 等任何兼容 skills 的 Agent。模型无关,Agent 也无关。
它治的不是"模型不够聪明",而是四个具体的失败模式。

失败模式一:Agent 没听懂你要什么
README 开篇引了《程序员修炼之道》里那句话:"没有人确切知道自己想要什么。"
最常见的失败是错位。你以为 Agent 懂了,等它交付才发现它理解的是另一回事。AI 时代的沟通鸿沟,一点没比人类同事之间更窄。
作者的解法是 grilling session(拷问会话)——不是你去伺候提示词,而是让 Agent 反过来拷问你,把设计树的每个分支都问透,再动手。
对应两个技能:
/grill-me:通用拷问,适合任何计划或设计,把每个分支都逼到有答案为止/grill-with-docs:拷问 + 建资产,边问边帮你打磨领域模型,顺手更新 GLOSSARY.md 和 ADR
作者原话,这是他最受欢迎的技能,每次想改动之前都会用。
失败模式二:Agent 满嘴黑话,用 20 个词说 1 个词的事
这个问题更隐性。Agent 空降进一个项目,术语全靠猜,于是输出一堆似是而非的通用说法。你以为它懂了,其实它在用二十个词绕开一个本该精确的概念。
作者的解法是共享语言:一份文档,帮 Agent 解码项目里的行话。README 里给了个很直观的例子——
- 改造前:"当某一节课在某个章节的某门课程里被'落实'时(即在文件系统里获得一个位置),会出问题"
- 改造后:"materialization cascade 出了问题"
这种简洁是复利的,一个会话一个会话地兑现。README 还点出三个附加收益:变量、函数、文件命名会自然统一;代码库对 Agent 更好导航;Agent 思考消耗的 token 也更少。
这个机制就内置在 /grill-with-docs 里。作者直言"这可能是整个仓库里最酷的技巧"。
失败模式三:代码能生成,但跑不起来
对齐了需求,Agent 还是产出垃圾?该看反馈回路了。没有"代码实际跑起来什么样"的反馈,Agent 就是盲飞。
解法是老生常谈但在 Agent 时代尤其要命的三件套:静态类型、浏览器访问、自动化测试。核心是红-绿-重构——Agent 先写一个失败的测试,再修到通过,一次只做一个垂直切片。
对应两个技能:
/tdd:把 TDD 循环固化下来,给 Agent 关于"什么是好测试、什么是坏测试"的大量指引/diagnosing-bugs:硬骨头 bug 的分阶段门控诊断——先造一个会因为这个 bug 变红的反馈回路,再最小化、提假设、插桩、修复、回归测试,一步一个门,不许瞎改
失败模式四:泥球
Agent 把编码速度拉高一个数量级的同时,也把软件熵增拉高了一个数量级。多数 Agent 构建的应用复杂到难以改动,这就是"泥球"。
作者的解法是"每天关心代码设计",并且把这做进了技能的每一层:
/to-spec:在生成 spec 之前,先拷问你正在动哪些模块/improve-codebase-architecture:扫描代码库里的"深化机会",输出一份可视化 HTML 报告,然后陪你把选中的那个深挖下去
注意作者的措辞:这是 survey,不是 rescue。老代码库它能找到真正的候选点,但它不会替你理清那团泥。作者建议每隔几天跑一次,当体检用。
容易被忽略的设计取舍
1. 技能文件本身就是产品,框架不是。 没有 CLI、没有守护进程、没有配置文件 schema。每个技能一个 SKILL.md,删掉不想要的、改写不顺手的,完全随你。对比那些"接管全流程"的框架,这里控制权始终在工程师手里。
2. 双调用轴:谁有权触发这个技能。 27 个技能按两个维度分层。user-invoked 只能你手动输入触发,职责是编排;model-invoked 你和 Agent 都能触发,Agent 觉得任务合适会自动伸手,持有的是可复用的纪律。规矩很硬:user-invoked 可以调 model-invoked,但绝不能调另一个 user-invoked——编排层不嵌套编排层。
3. 两种安装路径是刻意分开的,别混装。 插件路线自动更新,但是只读托管;npx skills 路线把文件拷进项目,随便魔改,但更新靠自己。README 特意提醒:每个 Agent 只选一种,混装会让每个技能出现两遍。
4. 有些事不该交给 Agent,就明说。 /wizard 会生成一个交互式 bash 向导,专门处理"只有人能干"的步骤——provisioning 基础设施、配置凭证或 CI secrets、在不熟悉的第三方后台里点下一步。它不试图自动化人类,而是把机器能做的部分自动化,然后举手示意你上场。
安装与上手
Claude Code(自动更新):
claude plugin install mattpocock-skills@claude-plugins-official
Codex(启动时自动更新):
codex plugin marketplace add mattpocock/skills
codex plugin add mattpocock-skills@mattpocock
GitHub Copilot:
copilot plugin marketplace add mattpocock/skills
copilot plugin install mattpocock-skills@mattpocock
Gemini CLI(手动更新):
gemini skills install https://github.com/mattpocock/skills.git --path skills/engineering
gemini skills install https://github.com/mattpocock/skills.git --path skills/productivity
其他 Agent,比如 Cursor、OpenCode(可编辑文件,手动更新):
npx skills@latest add mattpocock/skills -a cursor
装完别急着用,先在仓库里跑一次初始化:
/setup-matt-pocock-skills
它会问三件事:用哪个 issue 跟踪器(GitHub、GitLab、本地文件都行)、triage 时打什么标签、文档放哪。一次配置,后面 /triage、/to-tickets 这些技能才知道往哪儿落。
作者暗示的日常节奏:每次改动前先 /grill-me;实现走 /implement(它会在约定好的接缝处驱动 /tdd,提交前自动 /code-review);每隔几天跑一次 /improve-codebase-architecture 做架构体检。
适用人群
每天和 Agent 结对写真实代码的工程师。 这是核心画像。技能治的是失败模式,不是替你思考——设计判断仍然是人的事,CONTEXT.md 也需要你持续维护,荒废的共享语言会失效。
苦于 Agent 输出不稳定的 Tech Lead。 /code-review 的双轴审查(规范符合度 + spec 忠实度)由两个并行子 Agent 执行,互不污染,适合把团队的 review 标准固化下来。
想给团队立规矩的负责人。 技能文件可以融合自家规范后随仓库分发,比一篇躺在 wiki 里的《AI 使用规范》可执行得多。
跨会话工作的 Agent 重度用户。 /handoff 把当前会话压缩成移交文档,下一个 Agent 接着干——上下文不再是一次性耗材。
结尾
这个仓库最值得学的其实不是某个具体技能,而是它的姿态:不造框架,只沉淀习惯。
在所有人都在做"更强大的 Agent"的时候,Matt Pocock 把几十年的工程基本功——先对齐再动手、测试先行、每天关心设计——压缩成 27 个可粘贴、可改写的小文件。它们不性感,但每一个都在还债:还 Agent 高速产出代码背后那笔架构利息。
如果你也受够了"生成一时爽,重构火葬场",去翻翻这个仓库。哪怕最后你不用它,那些 SKILL.md 也值得逐字读一遍——顺便说一句,这正是学习"怎么给 Agent 写指令"最好的教材。
相关链接:
- 项目仓库:https://github.com/mattpocock/skills
- 技能目录站:https://skills.sh/mattpocock/skills
- 作者站点(AI Hero):https://www.aihero.dev/