Matt Pocock 的「真工程师」技能箱——小而可组合 · 不做 vibe coding · 直击四个失败模式
MIT License
Shell
.agents 直出
Total TypeScript 作者
mattpocock/skills 是 Total TypeScript 作者 Matt Pocock 公开的 agent skills 合集,slogan 是「Skills for Real Engineers. Straight from my .agents directory.」。它明确反对 vibe coding,主张技能要小、易改、可组合、跨模型通用,并直击 AI 编程的四个经典失败模式。仓库体量惊人(meta.json 显示 257,322 Stars、21,681 Forks),提供 Claude Code 插件与 skills.sh 两种安装哲学。本文覆盖它是什么、四个失败模式、两类触发方式、技能全景、安装路径,以及与流程派的取舍。
一、它是什么
(一)一句话定位
mattpocock/skills 的自我介绍只有一句话:「My agent skills that I use every day to do real engineering – not vibe coding.」中文大意是「我每天用来做真工程、而不是 vibe coding 的 agent 技能」。作者 Matt Pocock 是 Total TypeScript 的创始人,在 TypeScript 教学圈影响很大,这个仓库就是把他自己 .agents 目录里的技能直接公开出来,主页挂在 aihero.dev/skills,并附带一个约 6 万开发者的 newsletter。
(二)作者的工程观:不做 vibe coding
README 的开场白很有态度:真实应用开发很难,GSD、BMAD、Spec-Kit 这类方法试图通过「接管流程」来帮忙,但代价是夺走你的控制权,还让流程本身的 bug 难以修复。Matt 的替代方案是:技能要小、易适配、可组合,且与任何模型兼容,扎根于数十年的工程经验,「Hack around with them. Make them your own. Enjoy.」——这不是一套要你全盘照搬的流程,而是一盒可以随意拆改的乐高。
二、四个失败模式与对应技能
README 用最多的篇幅讲「Why These Skills Exist」:他建这些技能,是为了修正在 Claude Code、Codex 等 agent 上反复看到的四个失败模式,每个模式配一句经典工程名言与一组解法。
(一)没做对 → grilling 审问
第一个模式是错位:你以为 agent 懂你,结果它做出来的完全不是你要的。引语来自《程序员修炼之道》:「No-one knows exactly what they want」。解法是一次「grilling session」——让 agent 反过来追问你需求的细节。对应技能是 /grill-me(非代码场景)与 /grill-with-docs(多了好东西)。README 称这是他最受欢迎的技能,建议每次动手前都先用它对齐。
(二)太啰嗦 → 共享语言
第二个模式是 verbosity:agent 被丢进项目里自己猜术语,于是「1 个词能说清的,它用 20 个词」。解法是建立一份共享语言文档,帮 agent 解码项目黑话。这内建在 /grill-with-docs 里——它边审问边帮你构建领域模型、更新 CONTEXT.md 与 ADR。README 给的例子很妙:BEFORE 写「section 里 lesson 被 real 化」,AFTER 一句「materialization cascade(物化级联)」就够,这种凝练在每次会话里都回本。
(三)代码跑不通 → 反馈循环
第三个模式是代码不 work。对齐了需求,agent 仍可能产出垃圾——因为它对你的代码实际能否运行毫无反馈。解法是常规的反馈循环:静态类型、浏览器访问、自动化测试,其中红-绿-重构的测试循环尤为关键。对应技能是 /tdd(鼓励红绿重构、教 agent 什么是好测试)与 /diagnosing-bugs(把排错最佳实践包成一个分阶段门禁的循环)。
(四)大泥球 → 设计
第四个模式是「Ball Of Mud」:agent 加速写码的同时,也加速软件熵增,代码库以空前速度变复杂。解法是一种激进的新思路——真正关心代码设计。这内建在每层技能里:/to-spec 在动手前先考你碰哪些模块、再生成 spec;/improve-codebase-architecture 扫描代码库找「加深」机会并呈上候选,README 提醒它「是一次调查,不是救援」——对真正老旧的项目它会找到真候选,但不会替你解开那团泥。
三、两类触发方式:user-invoked 与 model-invoked
README 的 Reference 一节按「谁能调用」把技能切成两类,这是理解整套设计的关键轴。user-invoked(用户触发)只有你打字时才能到达,比如 /grill-me,职责是「编排」;model-invoked(模型触发)你可以用,agent 在任务匹配时也能自动抓取,承载可复用的纪律。规则是:用户触发技能可以调用模型触发技能,但绝不调用另一个用户触发技能——这就避免了「编排套编排」的无限递归,让整张技能图保持清晰分层。
举一个具体的例子:你打 /grill-me 启动一次审问,审问过程中它内部去调用 model-invoked 的 grilling 原语——但你绝不会从 /grill-me 里又直接唤起另一个 /grill-me。这条规则看似细微,却是整套技能「可组合却不失控」的地基:每个用户触发技能都是清晰的入口,背后接的是可复用、可被 agent 自动触发的纪律,而非另一扇需要你重新决策的门。
四、技能全景:Engineering + Productivity
(一)Engineering 工程技能
这是 Matt 每天写代码用的部分。User-invoked 有:ask-matt(在用户触发技能上做路由的路由器)、grill-with-docs、triage(让 issue 走完一套 triage 状态机)、improve-codebase-architecture、setup-matt-pocock-skills、to-spec、to-tickets(把计划拆成带阻塞边的 tracer-bullet 工单)、implement(按 spec / 工单施工,驱动 /tdd、收尾 /code-review)、wayfinder(把超大块工作规划成决策工单地图)。Model-invoked 有:prototype、diagnosing-bugs、research(跑后台 agent 产出带引用的 Markdown)、tdd、domain-modeling、codebase-design、code-review(双轴评审:标准 + spec,并行子 agent)、resolving-merge-conflicts、wizard(生成交互式 bash 向导)。
(二)Productivity 生产力技能
通用工作流工具,不限于代码。User-invoked 有:grill-me、handoff(把对话压成交接文档)、teach(多会话教用户新技能)、to-questionnaire、wait-what(消息没看懂时让 agent 用你的 CONTEXT.md 词汇重讲)。Model-invoked 有:grilling(grill-me 等背后的可复用访谈原语)、writing-for-agents(写技能、AGENTS.md / CLAUDE.md 等给 agent 看的文档)。可以看到,Productivity 侧很多是对 Engineering 侧「审问」能力的提炼与复用。这种跨组的复用,正是「小而可组合」哲学的体现:一个 grilling 原语,既服务代码审问,也服务通用访谈,被不同入口按需调用,却只维护一份逻辑。
五、怎么装进去
(一)Claude Code 插件
README 给的「30 秒安装」是两条路、两种哲学。Claude Code 插件把整套技能作为受管、只读的包安装,作者一发版你就更新——本质是「订阅」而非「fork」:
claude plugins install mattpocock-skills
# 或在会话内
/plugin install mattpocock-skills
它在 Claude Code 官方市场里,无需先添加,更新自动到达。
(二)skills.sh / npx
对 Codex 等其它 agent,或想要可编辑副本的人,用:
npx skills@latest add mattpocock/skills
安装器让你挑要哪些技能、装到哪些 agent 上,记得把 setup-matt-pocock-skills 选上。这条路的哲学是「复制可改的文件到项目里,你能 hack 它们」;想拉最新改动就 npx skills update,不会在背后偷偷改你东西。README 特别提醒:两种都装会每个技能出现两次,二选一即可。
(三)/setup-matt-pocock-skills
无论哪条路,装完在每个仓库里跑一次 /setup-matt-pocock-skills:它会问你用什么 issue tracker(GitHub、Linear 或本地文件)、triage 时打什么标签、生成的文档存哪。这一步把这些工程技能绑定到你的工作流上。
六、与流程派的取舍
整篇 README 都在和 GSD、BMAD、Spec-Kit 这类「拥有流程」的方法划清界限。Matt 的立场是:流程派为了帮你,接管了过程,却让你失去控制权、且流程自身的 bug 难修;他的小技能则把控制权留在你手里,用时才调、可随意改。这不是「更懒」,而是更相信工程师的判断——技能是辅助而非拐杖。对已经厌倦被重型方法论绑架、又想在 AI 时代守住工程基本功的人,这套「小而组合」的取向很对味。
README 结尾的 Summary 一句话收束:「Software engineering fundamentals matter more than ever.」在 AI 写码越来越快的今天,Matt 反而把基本功——对齐、共享语言、反馈循环、设计——重新摆到台前。这跟业界「让 agent 全自动跑完整个流程」的叙事形成鲜明对照,也解释了为什么这个仓库能吸引 257k 的关注:太多人被重型流程绑架,却又渴望把控制权拿回来。Matt 给的答案不是「更重的流程」,而是「更小、更可被你改的技能」。
七、常见问题 FAQ
Q1:必须绑定 Claude Code 吗?
不必。Claude Code 走插件,Codex 等其它 agent 走 npx skills add,且技能设计与任何模型兼容。
Q2:两套安装都装会怎样?
README 明确说每个技能会出现两次,建议二选一:想省心订阅更新选插件,想改着玩选 skills.sh。
Q3:用户触发技能能调另一个用户触发技能吗?
不能。规则是用户触发技能只调模型触发技能,避免编排嵌套编排的混乱。
Q4:这些技能适合新手吗?
更适合有真实工程经验、想守住基本功的人;新手能从中偷师红绿重构、领域建模等纪律,但前提是愿意动手。
八、总结
mattpocock/skills 的吸引力,来自一种稀缺的姿态:在人人追逐「让 AI 替我写更多」的 vibe coding 浪潮里,它反手把软件工程的基本功——对齐、共享语言、反馈循环、设计——重新摆回台面,并做成一组可组合、可改、跨模型的技能。257k 的 Stars 说明,被重型流程绑架、又渴望拿回控制权的工程师,远比想象中多。如果你认同「小技能、真工程」,这个从 Matt 个人 .agents 目录直接端出来的合集,值得 clone 或订阅一份。

该仓库采用 MIT 许可,可自由使用与修改;但技能本质是作者个人工程实践的提炼,请在你的项目里结合实际充分测试后再依赖,关键流程勿盲目交给 agent 自动执行,并注意 issue tracker 等配置中可能含有的内部信息。
在撰写本文的过程中,我主要参考了以下来源:GitHub 仓库 mattpocock/skills 的 README 与 meta.json(Stars 257,322、Forks 21,681、Open Issues 480、Shell、MIT、创建于 2026-02-03、主页 aihero.dev/skills)。文中数据以官方公开信息为准,可能随版本更新而变化。
本文由 AI 辅助整理,基于 GitHub 项目 mattpocock/skills 的公开 README 与 meta.json 撰写;文中数据与技能名来自该仓库。内容仅用于技术介绍,请结合自身工作流与合规要求使用。

AI智汇具 - AI工具推荐与技能教程_好用的AI工具大全






