跳转到内容
全部开发指南

mattpocock/skills 安装教程:3 步用 grill-me、tdd、to-spec 固定 Claude Code 工作流

AIGoCode发布于 更新于

mattpocock/skills 安装教程:3 步用 grill-me、tdd、to-spec 固定 Claude Code 工作流 封面

用 Claude Code 写代码时,很多人会反复遇到同样的问题:每开一个新项目,都要重新跟 AI 讲一遍接口怎么设计、测试怎么写、bug 怎么排查;AI 生成的测试和业务脱节;讨论了一小时的方案,最后没人整理成文档;一不小心还会执行 git push --force。

AI 本身能力够用,问题在于同一套工作流每天都靠口头重复。TypeScript 教育者 Matt Pocock 的开源仓库 mattpocock/skills 把他日常用的 Agent Skill 整理出来,覆盖需求对齐、测试驱动、规格整理、bug 诊断和代码评审。截至 2026 年 10 月,仓库已超过 29 万 star。

本文面向想给 Claude Code(或 Codex、Cursor 等)装一套“工程师工作流”的开发者,按“安装 → 初始化 → 日常三件套”的顺序讲,最后说明与其他 Skill 集合的区别和注意事项。

mattpocock/skills 原文配图 1

mattpocock/skills 和其他 Skill 集合有什么不同

市面上的 Claude Code Skill 集合不少。Addy Osmani 的 agent-skills 偏向工程纪律,告诉 AI 每个阶段该做什么、不该做什么。Matt Pocock 这套的思路是:Skill 要小、容易改、能组合,直接替你完成具体环节的工作。

README 里把 Skill 按“谁来调用”分成两类:

  • User-invoked(用户调用):只有你输入 /grill-me、/to-spec 这类命令时才会触发,负责编排流程;
  • Model-invoked(模型调用):你可以手动调用,Agent 也会在任务匹配时自动调用,承载可复用的纪律,比如 tdd、diagnosing-bugs、code-review。

一个用户调用的 Skill 可以调用模型调用的 Skill,但不会调用另一个用户调用的 Skill。理解这一层,装完之后就知道哪些需要自己敲命令、哪些会自动生效。

原文写作时(2026 年 5 月)仓库是 22 个 Skill,to-prd、to-issues、triage-issue、design-an-interface 等名字现在已经改名或下线,下文以 2026 年 10 月的 README 为准。

mattpocock/skills 原文配图 2

第 1 步:安装 Skill

README 提供了按 Agent 区分的安装方式。插件方式会自动更新,skills.sh 方式会把可编辑的文件复制进项目、需要手动更新。同一个 Agent 只选一种,两种都装会让每个 Skill 出现两次。

Claude Code(插件方式,默认自动更新):

claude plugin install mattpocock-skills@claude-plugins-official

Codex:

codex plugin marketplace add mattpocock/skills
codex plugin add mattpocock-skills@mattpocock

Cursor、OpenCode、Windsurf 等其他 Agent,或者想拿到可编辑文件时:

npx skills@latest add mattpocock/skills -a <agent>  # cursor, opencode, windsurf 等;省略 -a 会交互选择

用 skills.sh 安装时,记得勾选 setup-matt-pocock-skills。之后用 npx skills@latest update 更新。原文里那种 npx skills@latest add mattpocock/skills/tdd 逐个安装的写法,也可以在交互界面里只选需要的 Skill 来实现。

第 2 步:每个仓库运行一次初始化

装好后,在项目里运行一次:

/setup-matt-pocock-skills

它会问三件事:用哪种 issue 跟踪方式(GitHub、GitLab、本地文件或你描述的其他工具)、triage 时用哪些标签、生成的文档存在哪里。工程类 Skill 都依赖这一步的配置,跳过的话 /to-spec、/triage 会提示你先初始化。

第 3 步:日常最常用的三件套

grill-me:动手前先被 AI 追问

/grill-me 是仓库里最受欢迎的 Skill。你给它一个计划,它不会夸“这个方案不错”,而是把计划当成一棵决策树逐轮追问:这个决定的前提是什么?如果 X 失败怎么办?为什么选 A 不选 B?每轮把当前能问的问题编号列出,并给出它推荐的答案,你回答“是”就等于采纳。

其中有一条规则很实用:查事实是 AI 的工作,做决定才是用户的工作。 能从代码库、文件系统里查到的信息,它会派子 Agent 去查,不会来问你,这样能少很多无谓的打断。写代码的场景可以用 /grill-with-docs,它在追问的同时维护项目的 GLOSSARY.md 术语表和 ADR 决策记录。

tdd:一次只走一个垂直切片

tdd 是模型调用的 Skill,坚持红 → 绿循环:先写一个失败的测试,再写刚好让它通过的代码。Matt 明确反对“水平切片”,也就是先把所有测试写完再写所有实现。他的理由是:批量写出的测试验证的是想象中的行为,测的是数据结构和函数签名的形状,而不是用户真正感知到的行为。

正确做法是 tracer bullet:一个测试 → 一个实现 → 再一个测试,每一步都是端到端的完整切片。当前版本还加了一条:动手写测试前,先和你确认要在哪些“接缝”(seam,也就是对外的公共接口)上测试,避免把精力花在边角上。想看 TDD 和子 Agent 在 Claude Code 里的更多用法,可以参考 Simon Willison 的 Claude Code 子 Agent 与 TDD 用法。

to-spec:把讨论直接变成规格

方案在对话里讨论清楚后,/to-spec 不会再重新访谈你,而是直接把当前对话和对代码库的理解整理成一份规格:问题陈述、解决方案、用户故事、实现决策、测试决策和不在范围内的事项,然后发布到你在初始化时选定的 issue 跟踪器,并打上 ready-for-agent 标签。接着可以用 /to-tickets 把规格拆成一组带依赖关系的小任务,再用 /implement 按任务推进。

mattpocock/skills 原文配图 3

其他值得装的 Skill

Skill类型用途
diagnosing-bugs模型调用难缠 bug 的诊断循环:复现 → 最小化 → 假设 → 打点 → 修复 → 回归测试
code-review模型调用从“是否符合编码规范”和“是否忠实实现了规格”两个维度并行评审
improve-codebase-architecture用户调用扫描代码库找可以“加深模块”的重构点,输出 HTML 报告
handoff用户调用把当前对话压缩成交接文档,方便另一个 Agent 接手
git-guardrails-claude-code杂项装一个 PreToolUse hook,拦截 git push、reset --hard、clean -f、branch -D 等危险命令

git-guardrails-claude-code 拦截时,Claude 收到的是“你无权执行这个命令”,而不是请你确认,避免 AI 说服你放行。如果你想先理清项目里 .claude 目录下 CLAUDE.md、rules、skills 和权限各自管什么,可以看 Claude Code 的 .claude 文件夹怎么配。

限制与注意事项

  • 带有个人偏好:这套 Skill 体现了 Matt 的工作习惯,比如坚持 TDD、反对水平切片、不喜欢 AI 频繁提问。它好用正是因为有明确立场,但不一定适合所有团队,装之前先读一遍对应的 SKILL.md。
  • 变化很快:仓库更新频繁,Skill 名称和数量会变,以 README 为准。
  • 可以与其他集合叠加:已经装了 Addy Osmani 的 agent-skills 也可以再装这套,一个管工程纪律,一个管具体执行,但要留意同名命令冲突。
  • 安装命令未实测:本文命令摘自官方 README,使用前请以仓库最新说明为准。

总结

mattpocock/skills 的价值,在于把“先对齐需求、再小步测试、最后整理规格”这套高级工程师的习惯写成了 Agent 能执行的 Skill。按本文三步走:装插件、跑一次 /setup-matt-pocock-skills、日常用 /grill-me、tdd 和 /to-spec,就能把每天口头重复的流程固定下来。

在 AIGoCode 上接入 Claude Code 或 Codex 后,可以直接安装这套 Skill 开始使用。

参考链接