00 / 00

Matt Pocock Skills 完整指南

Matt Pocock 的工程 Skill 集,把真实软件工程里的对齐、调试、测试和架构纪律打包给 AI 编码代理使用。

Matt Pocock,TypeScript 领域很有影响力的教育者,Total TypeScript 创始人,前 Vercel Developer Advocate。GitHub 上的 TypeScript 类型体操教学影响了全球一大批开发者。

他的 skills 仓库 直接来自自己的 .claude 目录,核心价值是把真实软件工程里的好习惯,变成 Claude Code、Codex 等 AI 编码工具能执行的工作流。

它不是只服务 TypeScript 的工具包,而是一套通用工程实践:小、容易改、可组合,适用于不同语言、框架和模型。

项目地址: github.com/mattpocock/skills 许可协议: MIT

Matt Pocock Skills 仓库展示图

图源:mattpocock/skills README,原项目使用 MIT License。下面主体基于原 README 翻译并做了少量 01MVP 语境整理。

快速使用

如果想按官方推荐完整安装,运行 skills.sh 安装器:

npx skills@latest add mattpocock/skills

安装器会让你选择要安装的 Skills,以及要安装到哪些编码代理里。建议至少勾选 /setup-matt-pocock-skills,然后在你的 AI 编码工具里运行:

/setup-matt-pocock-skills

这一步会配置三件事:

  • 你使用哪种 issue tracker:GitHub、Linear,或者本地文件。
  • /triage 需要用到哪些 issue labels。
  • 后续生成的 PRD、ADR、调研文档等应该放在哪里。

如果你只是想先试一个,01MVP 推荐从 grill-me 开始:

npx skills add https://github.com/mattpocock/skills --skill grill-me

使用: /grill-me 我想做一个博客平台,盘问一下我的方案有没有漏洞

第二个建议装结构化排错能力。原仓库当前的 Skill 名是 diagnosing-bugs

npx skills add mattpocock/skills --skill diagnosing-bugs

使用: /diagnosing-bugs 我的应用启动报错,帮我定位根因

不用一次性全装。先装最痛的一个场景,确认它真的能改变你的工作流,再按需补上测试、架构、issue 管理和文档类 Skills。

这些 Skills 为什么存在

Matt 在 README 里说得很直接:这些 Skills 是为了修复他在 Claude Code、Codex 和其他编码代理里反复看到的失败模式。不是给 AI 加更多提示词,而是把软件工程基本功变成可重复执行的流程。

失败模式 1:Agent 没做出你想要的东西

最常见的问题不是模型能力不够,而是对齐不足。你以为自己说清楚了,Agent 也以为它理解了,等结果出来才发现两边想的不是同一件事。

对应的修复方式是先进行一次盘问:

  • /grill-me:适合非代码计划、产品方案、需求想法。
  • /grill-with-docs:类似 grill-me,但会结合项目文档和代码上下文继续追问。

这两个 Skill 的作用是让 Agent 在动手前先把你的计划问透。越早把边界、异常路径、优先级和判断标准摊开,后面的返工越少。

失败模式 2:Agent 太啰嗦

很多项目一开始没有共同语言。业务方、开发者、Agent 各说各的词,Agent 只能用很长的句子解释一个其实很短的概念。

Matt 的修复方式是建立共享语言。/grill-with-docs 不只是盘问,它还会帮助项目沉淀领域词汇,把难解释的决策写进 CONTEXT.md 和 ADR。这样 Agent 后续能用项目自己的词说话、命名文件、理解边界,token 消耗也会更低。

一个共享语言文档的收益通常有三层:

  • 变量、函数、文件命名更一致。
  • Agent 更容易在代码库里导航。
  • 讨论复杂业务时可以用更短、更准确的词。

失败模式 3:代码跑不起来

当需求已经对齐,代码仍然不工作,问题通常出在反馈回路。Agent 写代码时如果没有类型检查、浏览器验证、测试结果和可复现步骤,就只能猜。

Matt 提供了两个核心修复:

  • /tdd:把红绿重构变成固定流程。先写失败测试,再写最少代码让测试通过,最后重构。
  • /diagnosing-bugs:把排错收敛成循环:复现、最小化、假设、加观测、修复、回归测试。

这类 Skill 的价值不是“帮你看报错”,而是防止 AI 直接凭直觉改代码。

失败模式 4:代码库变成一团泥

AI 让写代码速度变快,也会让软件熵变快。功能越堆越多,边界越来越糊,最后任何修改都牵一发动全身。

Matt 的修复方式是把代码设计放进日常流程:

  • /to-prd:在生成 PRD 前追问会碰到哪些模块和边界。
  • /improve-codebase-architecture:扫描代码库,找出值得加深模块、降低耦合、重新划边界的地方,并生成可视化报告。

如果一个项目已经开始“能跑但不好改”,这个 Skill 比继续堆功能更值得先跑一次。

Skill 参考

原仓库把 Skills 按“谁来触发”分成两类:

类型含义适合什么
User-invoked只有你显式输入 /skill-name 时才触发编排型流程,例如盘问、生成 PRD、拆 issue、架构审视
Model-invoked你可以显式调用,Agent 也可以在任务匹配时自动调用可复用纪律,例如 TDD、排错、领域建模、代码审查

一个 user-invoked Skill 可以调用 model-invoked Skill,但不应该再调用另一个 user-invoked Skill。这样能避免流程互相嵌套,越跑越乱。

工程类

日常代码工作最常用的是这一组。

Skill类型用途
ask-mattUser-invoked不确定该用哪个 Skill 时,让它做路由判断。
grill-with-docsUser-invoked结合项目文档盘问方案,同时沉淀领域模型、CONTEXT.md 和 ADR。
triageUser-invoked按 issue 状态机做标签、优先级和处理流转。
improve-codebase-architectureUser-invoked扫描代码库,生成架构改进报告,再围绕你选中的问题继续盘问。
setup-matt-pocock-skillsUser-invoked首次配置 issue tracker、triage labels、文档目录等基础设置。
to-issuesUser-invoked把计划、规格或 PRD 拆成可以独立领取的垂直切片 issue。
to-prdUser-invoked把当前讨论整理成 PRD,并发布到 issue tracker;不再重新访谈,只综合已有上下文。
prototypeModel-invoked做一次性原型,用可运行终端程序验证状态/逻辑问题,或做多种 UI 方案对比。
diagnosing-bugsModel-invoked针对疑难 bug 和性能回归做有纪律的诊断循环。
researchModel-invoked基于高可信一手来源做调研,并把带引用的 Markdown 调研结果写入仓库。
tddModel-invoked用红绿重构方式做功能或修 bug,一次推进一个垂直切片。
domain-modelingModel-invoked主动完善领域模型,挑战术语、补边界场景,并更新 CONTEXT.md 和 ADR。
codebase-designModel-invoked建立深模块、窄接口、清晰边界和可测试设计的共同语言。
code-reviewModel-invoked从两个维度审查变更:是否符合工程标准,是否忠实实现原 issue 或 PRD。

通用效率类

这组不只服务代码,也适合计划、交接、教学和 Skill 写作。

Skill类型用途
grill-meUser-invoked对计划或设计做高强度访谈,直到关键分支都被问清楚。
handoffUser-invoked把当前对话压缩成交接文档,让另一个 Agent 能继续工作。
teachUser-invoked把当前目录当作有状态学习空间,分多次会话教学一个概念或技能。
writing-great-skillsUser-invoked写和改 Skill 的参考规范,帮助 Skill 更可预测。
grillingModel-invokedgrill-megrill-with-docs 背后的可复用盘问循环。

和 baoyu-skills 的对比

如果你同时关注内容创作和代码开发,可能会在这两个 Skill 集之间犹豫。其实不用,它们的定位完全不同:

mattpocock/skillsbaoyu-skills
面向谁开发者、产品技术负责人、需要长期维护代码的人内容创作者
解决什么对齐、调试、测试、架构、issue 流程、领域语言配图、排版、发布、多平台分发
代表 Skillgrill-me、grill-with-docs、diagnosing-bugs、tdd、to-prdxhs-images、cover-image、slide-deck
底层理念软件工程最佳实践内容生产自动化

两个同时装,互不冲突。如果你既写代码又做内容,mattpocock/skills 管工程纪律,baoyu-skills 管内容生产。

推荐入手顺序

第一步,先装 grill-me 它最容易立刻改变你和 AI 的互动方式:AI 不会再秒出方案,而是先把需求漏洞问出来。

npx skills add https://github.com/mattpocock/skills --skill grill-me

第二步,装 diagnosing-bugs 遇到奇怪 bug 时,先让它按诊断循环查证据,再决定怎么修。

npx skills add mattpocock/skills --skill diagnosing-bugs

第三步,按痛点补。 写测试不自觉,加 tdd;项目越来越难改,加 improve-codebase-architecture;经常要把讨论整理成需求,加 to-prdto-issues;issue 多到管不过来,加 triage

相关资源:AI 设计反模式速查

如果你用 AI 编程工具做 UI,下面这些是 AI 生成界面最常出现的问题。对照你的项目检查,大部分可一键修复。

最常见的 6 种 AI 痕迹

紫色渐变:蓝紫色渐变 + 深色背景 + 青色强调,已成“AI 生成”的代名词。替换为品牌色。 侧边条纹卡片:卡片一侧粗色块边框 + 圆角,AI 生成 UI 最明显标志。 卡片套卡片:无限嵌套的卡片导致视觉噪声过度。一般不超过 2 层嵌套。 通篇 Inter 字体:标题、正文、按钮全用 Inter,没有字体层级变化。 重复卡片网格:相同尺寸卡片(图标 + 标题 + 文本)无限重复,缺少变化。 AI 色板:紫色/蓝紫色渐变 + 青色强调,应替换为有意图的品牌色板。

核心规则

  • 排版层级:标题之间至少 1.25x 比例差,正文 ≥ 16px,行高 ≥ 1.5
  • 色彩:正文对比度 ≥ 4.5:1,不要用纯黑 #000 做背景
  • 布局:正文每行不超过 80 字符,卡片嵌套不超过 2 层
  • 动效:用指数缓动(ease-out),不用弹跳缓动
  • CTA:每页只有一个主要行动点,不要让所有按钮都一样强

完整 37 条反模式清单参考 Impeccable Style

下一步

这篇文档有问题?