需求刚讲完一半,AI 已经把代码写完了。跑起来报错,让它修,它改了三个文件,报错换了个样式。来回四轮,你可能开始怀疑自己描述得不够清楚,下次还是一样。
mattpocock/skills对这个循环给的解释是:模型缺的不是智力,是流程。这个仓库把资深工程师那套“先澄清、再动手、边写边验证”的纪律写成了 Markdown 文件,塞进Agent 里。
仓库的自我定位,英文原文是Skills for Real Engineers. Straight from my .agents directory.。README 第一行还有更直白的一句:My agent skills that I use every day to do real engineering - not vibe coding.我每天用来做正经工程的 Agent 技能,不是用来 vibe coding 的。
它创建于 2026 年 2 月 3 日,八个月涨到近 30 万星。
官方承诺能拆成三条:小而可组合,不像框架那样接管流程;任何模型都能用;把控制权留在你手上。前两条在社区实测里站得住,跨 Claude Code、Codex、Gemini CLI 的安装和调用都有人跑通。第三条代价最高,控制权留下来了,流程纪律就落到你自己头上,“改造成自己能用”的工作量比“一条命令装完”听起来大得多。
01|装上之后AI的工作流程
它一共 27 个技能,engineering 20 个,productivity 7 个。装完之后,AI 不再秒回你的需求,它会先反过来问你。
开工前被追问。你说“我想加一个导出功能”,它按决策树一路问下去:导出给用户还是给内部运营?失败一次要不要重试?文件超过多大走异步?社区流传最广的一次记录是 38 个问题,问完发现将近一半是自己没想过的边界情况。
对话变文档,文档变工单。/to-spec 把这段对话合成 spec 推到 issue tracker,/to-tickets 再把 spec 拆成垂直切片的工单,每张都声明自己被谁阻塞。之后 /implement 或 /implement-spec 接手工单图,能并跑的部分并发交给多个子 Agent。
写码走红绿循环。/tdd 的约束只有一条:一次只写一个测试,写完才动实现代码,全绿了才允许重构。
查 bug 不许靠猜。/diagnosing-bugs 强制走六步:造一个能对这个 bug 变红的反馈回路,把复现场景最小化,提假设,打探针取证,修复,补回归测试。
提交前双轴审查。/code-review 用两个互不打招呼的子 Agent 并行审同一个 diff,一个查是否符合仓库编码规范和坏味道基线,另一个查是否忠实实现了原始 spec。
02|四条失败模式,四个老办法
这套技能的目录直接按 AI 编程的四类失败模式组织,README 里逐条列出失败模式、对应的技能和引用的书。
失败模式 | 对应技能 | 引用的书 |
|---|---|---|
Agent 没做我想要的事 | /grill-me、/grill-with-docs | 《程序员修炼之道》 |
Agent 说话太啰嗦 | /domain-modeling、GLOSSARY.md | 《领域驱动设计》 |
代码跑不起来 | /tdd、/diagnosing-bugs | 《程序员修炼之道》 |
代码库变成一坨泥 | /to-spec、/improve-codebase-architecture、/codebase-design | 《解析极限编程》《软件设计的哲学》 |
技能分成两层,区分标准是谁能调用它。user-invoked 只有你手动敲命令才触发,负责编排整条流程;model-invoked 承载可复用的纪律,你和 Agent 都能调用。规则很硬:user-invoked 可以调用 model-invoked,绝不调用另一个 user-invoked。
/grilling 是被抽出来的共用原语,/grill-me、/triage、/wayfinder、/improve-codebase-architecture 都建在它的上面。
/grill-me是这套技能里被引用最多的一个,社区流传最广的早期正文只有三句话:每次只问一个问题并给出推荐答案;能查文件系统查到的事实不许拿来问;决策权在你手上。
03|从一条命令到一条完整流水线
Claude Code 用户可以通过官方插件市场,安装命令:
claude plugin install mattpocock-skills@claude-plugins-official
npx skills@latest add mattpocock/skills -a claude-code
/setup-matt-pocock-skills
npx skills@latest add mattpocock/skills --skill grill-me
插件版默认自动更新,skills.sh 那条路给的是能自己改的文件。装完之后每个仓库跑一次 /setup-matt-pocock-skills,它会问三件事:用哪个 issue tracker、triage 时打什么标签、文档放在哪个目录。这一步容易被跳过,triage、to-spec 这类技能都依赖它写下的配置。最后那条命令是单装一个技能用的,不需要整套上。
一步 | 这一步做什么 |
|---|---|
/grill-me | 把想法问到没有分支为止 |
/to-spec | 把对话合成 spec,推到 issue tracker |
/to-tickets | 拆成带依赖关系的垂直切片工单 |
/implement | 按工单图开工,在约定的 seam 上跑 /tdd |
/code-review | 规范轴和 spec 轴并行审查 |
/pr | 生成变更摘要、前后证据、合并风险判断 |
中途遇到难查的 bug,插入 /diagnosing-bugs。改完每隔几天跑一次 /improve-codebase-architecture,它扫一遍代码库找“可以把模块做深”的机会,产出 HTML 报告。作者对这个技能的定位是普查,不是救援:它告诉你哪里有候选,不替你解开那团已经存在的泥。
04|它也不是软件开发的银弹
追问的次数没有刹车。社区实测里有人被 Codex 连问 200 个问题、整场跑了 4.5 小时。极端案例背后是普遍情况,16 到 50 个问题一轮很正常。官方承诺的第三条是控制权留在你手上,这部分时间成本不会凭空消失。
全盘同意,等于把模型的默认偏好当成自己的需求。有测评用同一句话开了两组会话:一组拒绝推荐答案、指出漏掉的分支,跑了 6 轮 29 个问题;另一组全程回复“同意推荐”,只跑 4 轮 21 个问题。两边都产出了完整方案,最后的产品设计几乎不像同一个。/grill-me 的价值出现在你说“不”之后。
skills 本身也会熵增。技能文件是代码的一种,会过时、会和现实脱节。团队第一年沉淀 20 个技能是好事,如果第三年还是这 20 个,其中 8 个已经和现实不符,它会让 AI 按一份过期的纪律工作,比没有技能更糟。
有些阶段不适合它。需求每三天变一次的原型验证期,强行套 spec、tickets、TDD 只会拖慢自己,这个阶段 vibe coding 是合理选择。技能也不等于能力,/tdd 装上了不会自动让人变成 TDD 高手,红绿重构的基本概念得自己有。
回到开头那个循环
前面那场“改了四轮还在报错”的循环,问题不在提示词。AI 缺的是一个让它不得不慢下来的结构:动手之前把决策想好,写代码之前先有一个会失败的测试。
这些事熟练工程师本来就在做,只是从来没写下来。mattpocock/skills 把它们写成模型读得懂的 Markdown,然后用近 30 万颗星证明:需要这套东西的人比想象中多。
关注我,第一时间获取 AI 领域的深度观察
每一次范式拐点,都值得被认真拆解。