今天在 GitHub Trending 上看到一个有意思的项目:mattpocock/skills,这是 TypeScript 教育领域知名开发者 Matt Pocock 开源的一套 AI Agent 技能集,目前已斩获超 25 万 Star。
一、项目概述
mattpocock/skills 是一套为 Claude Code、Codex、Cursor 等 AI 编程助手设计的「工程技能包」。与 GSD、BMAD、Spec-Kit 等试图「接管整个流程」的方案不同,这套技能的设计哲学是小而可组合——每个技能只解决一个具体问题,开发者可以自由搭配、随意修改。
项目核心解决 AI 编程中的四大经典痛点:
- Agent 没理解需求就开干 → 用
/grill-me或/grill-with-docs进行「拷问式」对齐 - Agent 表达冗余 → 通过构建共享语言(
CONTEXT.md)压缩沟通成本 - 代码跑不通 → 用
/tdd驱动红-绿-重构循环 - 代码变成泥球 → 用
/improve-codebase-architecture定期扫描架构优化点
二、技术原理
设计哲学:用户调用 vs 模型调用
项目将技能分为两类:
- User-invoked(用户调用):如
/grill-me、/triage、/implement,只能由用户主动触发,负责编排流程 - Model-invoked(模型调用):如
tdd、code-review、research,可以被 Agent 根据任务自动调用,封装可复用的工程纪律
这种分层设计意味着用户调用技能可以编排模型调用技能,但不会互相嵌套调用,形成清晰的调用图。
核心技能:Grilling(拷问式对齐)
这是整个项目最核心的理念。引用《 pragmatic programmer 》中的话:“没人确切知道自己想要什么”。/grill-me 和 /grill-with-docs 会在项目启动前对用户进行密集提问,直到设计树的每个分支都被解决。
/grill-with-docs 在拷问的同时还会:
- 构建
CONTEXT.md域模型文档,建立项目专属术语表 - 生成 ADR(Architecture Decision Records)记录关键决策
效果示例:
- 改造前:「课程里某个 section 里的 lesson 被’真实化’(即分配文件系统位置)时出问题」
- 改造后:「materialization cascade 有问题」
术语压缩带来的是 Token 消耗降低、代码命名一致性提升、Agent 导航代码库效率提高。
TDD 技能:红-绿-重构
# /tdd 工作流
1. RED: 先写一个失败的测试
2. GREEN: 用最少代码让测试通过
3. REFACTOR: 在测试保护下重构
每个垂直切片(vertical slice)独立完成,保证 Agent 始终有反馈回路。
架构扫描:深度模块理论
/improve-codebase-architecture 基于 John Ousterhout 的「深度模块」理念——大量行为隐藏在简单接口背后。它会:
- 扫描代码库寻找「深化机会」
- 生成可视化 HTML 报告
- 让用户选择一个进行拷问式细化
三、安装与快速开始
方式一:Claude Code 插件(托管模式)
claude plugins install mattpocock-skills
或在会话内:
/plugin install mattpocock-skills
这种方式以只读方式安装,作者更新时自动同步,适合「订阅」而非「分叉」的理念。
方式二:skills.sh 安装(可编辑模式)
npx skills@latest add mattpocock/skills
安装器会让你选择需要的技能和目标 Agent,技能文件直接写入项目目录,完全可编辑。建议确保 setup-matt-pocock-skills 被选中。
初始化配置
安装后在 Agent 中执行:
/setup-matt-pocock-skills
它会依次询问:
- 使用什么 Issue 追踪器(GitHub、Linear 或本地文件)
- Triage 时使用什么标签
- 文档保存位置
四、使用方法与实战
场景一:新功能开发
# 步骤 1: 拷问式对齐 + 域建模
/grill-with-docs
# 步骤 2: 生成 spec 并发布到 Issue 追踪器
/to-spec
# 步骤 3: 拆解为 tracer-bullet 票据
/to-tickets
# 步骤 4: 按 spec 实现,TDD 驱动
/implement
# 步骤 5: 提交前代码审查
/code-review
场景二:调试困难 Bug
/diagnosing-bugs
该技能封装了 disciplined 调试循环:构建能复现 Bug 的反馈回路 → 最小化复现 → 提出假设 → 插桩验证 → 修复 → 回归测试。
场景三:大型项目规划
/wayfinder
当工作量超过单个 Agent 会话容量时,Wayfinder 将工作分解为决策票据的共享地图,逐一解决直到路径清晰。
场景四:不确定用哪个技能
/ask-matt
这是一个路由技能,会根据当前情境推荐合适的技能或流程。
五、常见问题与解决方案
Q1: 两种安装方式可以同时用吗?
不建议。 Claude Code 插件和 skills.sh 安装会重复添加所有技能文件。选择一种即可:要自动更新选插件,要可定制选 skills.sh。
Q2: 支持哪些 AI Agent?
- Claude Code:原生支持(插件市场直装)
- Codex:通过 skills.sh 安装
- 其他 Agent:通过 skills.sh 安装,只要支持读取项目目录中的技能文件即可
- 原生 Codex 插件在路线图中(ADR #0002)
Q3: 必须用 TDD 吗?
/implement 技能在「pre-agreed seams」处驱动 TDD,但不是强制所有代码都 TDD。你可以在 /grill-with-docs 阶段约定哪些部分走 TDD。
Q4: 已有大型遗留代码库怎么办?
/improve-codebase-architecture 是扫描工具而非救援工具。它会在老代码库中找到真实的深化候选,但不会自动帮你解开泥球。建议每几天跑一次,逐个处理。
六、总结
mattpocock/skills 的核心洞察是:AI 编程的瓶颈不在代码生成速度,而在工程纪律的保持。通过将老牌工程实践(对齐、域建模、TDD、架构深化)封装为可复用的 Agent 技能,它让 AI 编程从「vibe coding」回归到「real engineering」。
项目本身的设计也很有意思——不试图接管你的流程,而是提供小而精的工具让你自由组合。这种哲学加上 Matt Pocock 在 TypeScript 社区的影响力,或许解释了为什么它能快速冲到 GitHub Trending 前列。
如果你正在用 Claude Code 或 Codex 做日常开发,这套技能值得一试。