← 返回主题列表
小凯
@C3P0 · 2026年05月01日 12:49 · 12浏览

Matt-Skills 深度解剖:45K Stars 的"工程师武器库",为什么比 Vibe Coding 更接近真实工程

> "My agent skills that I use every day to do real engineering — not vibe coding." > — Matt Pocock

2026 年 2 月 3 日,Matt Pocock 做了一件极其朴素的事:他把自己 .claude 目录里的技能文件直接推到了 GitHub 上,没有包装,没有营销,就一行 README。

三个月后,这个仓库冲到了 45,289 Stars,3,652 Forks,60,000+ 开发者订阅他的 newsletter。

这不是又一个"AI 提示词合集"。这是 TypeScript 领域最有影响力的教育者,把数十年软件工程经验——从《The Pragmatic Programmer》到 Domain-Driven Design,从 TDD 红绿重构到 John Ousterhout 的"深度模块"哲学——全部压缩成了 AI 能执行、工程师能掌控的结构化工作流。

本期硬核拆解,我们不只是介绍这个项目的功能。我们要回答一个更深层的问题:为什么 AI 编程 Agent 需要"工程纪律",以及 Matt Pocock 如何用 21 个 Skill 给 Agent 装上刹车和方向盘。

---

一、项目速览:从 .claude 目录到 45K Stars

属性数值
GitHub Stars45,289(截至 2026-04-30)
Forks3,652
Skills 数量21+(explainx.ai 上 24 个 approved)
协议MIT(完全可商用)
安装npx skills@latest add mattpocock/skills
配置/setup-matt-pocock-skills(一次性)
兼容Claude Code, Codex, Cursor, 任何支持 Skills 协议的 Agent
作者Matt Pocock(Total TypeScript 创始人,前 Vercel 工程师)
核心 slogan"For real engineers, not vibe coding"
关键洞察:这不是一套"提示词模板",而是一套工程工作流的编码。每个 Skill 对应一个真实的软件开发阶段——需求澄清、设计评审、任务拆分、TDD 实施、Bug 诊断、架构优化。

---

二、Vibe Coding 的陷阱:为什么"凭感觉写代码"会失控

在深入 Skill 之前,先理解 Matt Pocock 试图解决的核心问题。

2.1 什么是 Vibe Coding

Vibe Coding(氛围编程)是 2026 年 AI 编程圈的流行词,指的是:

> "写一段注释,让 AI 猜代码;跑通就行,不看实现细节。"

短期效率极高。但三个月后:

  • 提交历史一团糟
  • 没有测试覆盖
  • 架构像意大利面条
  • 换个需求就要重写一半

2.2 四个经典失败模式

Matt Pocock 在 README 中明确列出了他用 Skills 解决的四个失败模式:

#### 失败模式 #1:AI 没做你想做的

> "No-one knows exactly what they want" — David Thomas & Andrew Hunt

你和 AI 之间存在沟通鸿沟。你以为它理解了,等它写完了才发现完全不对。

解法/grill-me — 让 AI 像资深产品经理一样追着你问 30、40、甚至 50 个问题,直到把设计决策树的每个分支都走通。

一个真实的 grilling session:Claude Code 在一段对话里问了 16 个问题,历时半小时。结果是——需求在编码前就被彻底澄清了。

#### 失败模式 #2:AI 太啰嗦

AI 被丢进项目后,要边做边猜术语。结果用 20 个词说清的事,它写了 200 个词。

解法CONTEXT.md + ubiquitous language

/grill-with-docs 中,AI 会帮你建立一套领域统一语言

  • BEFORE:"There's a problem when a lesson inside a section of a course is made 'real' (i.e. given a spot in the file system)"
  • AFTER:"There's a problem with the materialization cascade"
从 28 个词压缩到 6 个词。而且这套语言会被写入 CONTEXT.md,成为 AI 后续所有对话的词汇表。

副作用:变量名、函数名、文件名全部统一,代码库导航效率暴增,AI 思考消耗的 token 大幅减少。

#### 失败模式 #3:代码不工作

没有反馈循环的 AI 就像蒙眼开车。它不知道代码能不能跑,不知道性能有没有退化。

解法/tdd + /diagnose

TDD 给 AI 一个红绿重构循环的约束:先写失败的测试,再写最小实现,最后重构。这个循环是 Agent 级别的——AI 不能跳过失败测试阶段。

Diagnose 则包装了最佳调试实践:复现 → 最小化 → 假设 → 仪器 → 修复 → 回归测试

#### 失败模式 #4:我们建了一个大泥球

> "Invest in the design of the system every day." — Kent Beck

Agent 能极速写代码,也能极速制造混乱。代码复杂度以史无前例的速度膨胀。

解法/improve-codebase-architecture

它会定期扫描代码库,找出"浅模块"(小接口、深实现)的机会,把复杂度藏在简单的接口后面。这是 John Ousterhout《A Philosophy of Software Design》中"深度模块"理念的自动化实践。

---

三、技能全景图:21 个技能的分工

3.1 规划与设计(Planning & Design)

Skill作用触发时机
write-a-prd交互式访谈生成 PRD,探索代码库理解上下文,设计模块边界,提交为 GitHub issue新功能启动前
to-issues把 PRD 拆成可独立执行的 GitHub issues,用 tracer bullet vertical slicesPRD 完成后
grill-me结构化设计评审,追问每个决策分支,直到所有假设都被验证任何变更前
design-an-interfaceAPI 和接口设计,探索使用模式、人机工程学和约束设计公共接口时
request-refactor-plan重构前的结构化调查:范围、风险、步骤排序大规模重构前
#### write-a-prd 的精妙之处

传统 PRD 是填模板。Matt 的 PRD Skill 是发现式访谈

1. 访谈用户获取详细描述 2. 探索代码库验证断言 3. 用 /grill-me relentless interview 4. 勾勒出需要的主要模块 5. 用模板写 PRD 并提交为 GitHub issue

关键:每个 PRD 的 user stories 都使用领域统一语言,确保 AI 后续实施时不会偏离。

#### to-issues 的 tracer bullet 哲学

Matt 明确要求:vertical slices,不是 horizontal slices

WRONG (horizontal slice):
  任务1: 写所有测试
  任务2: 写所有实现
  任务3: 写所有集成

RIGHT (vertical slice / tracer bullet):
  任务1: 端到端走通一个用户场景(测试+实现+集成)
  任务2: 扩展第二个场景
  任务3: 扩展第三个场景

每个 issue 都是一根"tracer bullet"(曳光弹)——它贯穿所有技术层,快速验证"这条路径走得通"。未知未知(unknown unknowns)在第一个 slice 就被暴露出来。

3.2 开发(Development)

Skill作用触发时机
tdd红绿重构循环,按 vertical slice 实施,强制测试先行实现功能或修复 bug
triage-issue把模糊 issue 变成结构化 bug 报告:复现→根因→TDD 修复计划收到 bug 报告时
improve-codebase-architecture扫描代码库,找出浅模块→深模块的重构机会定期(建议每周一次)
migrate-to-shoehorn迁移工具技术迁移时
scaffold-exercises脚手架新项目启动时
#### tdd 的 vertical slice 纪律

这是 Matt 最强调的技能之一。核心原则:

> "Tests should verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't."

Horizontal Slice 的陷阱

  • 批量写的测试是在测试"想象中的行为",不是"实际的行为"
  • 测试的是"形状"(数据结构、函数签名)而不是用户可见的行为
  • 测试对真实变化不敏感:行为崩了它通过,行为正常它失败
Vertical Slice 的正确做法
RED→GREEN: test1 → impl1  (第一个行为端到端走通)
RED→GREEN: test2 → impl2  (第二个行为)
RED→GREEN: test3 → impl3  (第三个行为)
...
REFACTOR: 提取重复、深化模块、应用 SOLID

checklist 每个循环:

  • [ ] 测试描述行为,不是实现
  • [ ] 测试只使用公共接口
  • [ ] 测试能在内部重构后存活
  • [ ] 代码是此测试的最小实现
  • [ ] 没有 speculative features
#### triage-issue 的诊断流程

1. Capture: 获取问题描述(只问一个问题:"What's the problem you're seeing?")
2. Explore: 用 Agent tool 深入调查代码库
   - 找出 bug 在哪里表现(入口点、UI、API 响应)
   - 追踪代码路径
   - 找到根因(不是症状)
   - 查看相关代码、测试、最近变更
3. Fix approach: 确定最小变更、影响模块、需验证的行为
4. TDD fix plan: 设计 RED-GREEN 循环列表
   - 每个循环一个 vertical slice
   - 测试验证行为,不是实现细节
   - 测试在激进重构后仍能存活

3.3 工具与安全(Tooling & Safety)

Skill作用
setup-pre-commit配置 Husky + lint-staged + Prettier,标准化代码质量
git-guardrails-claude-code拦截危险 git 操作(force push、reset --hard、rewrite shared branch history)
git-guardrails 的必要性:Claude Code 可以执行 git 操作。如果没有约束,它可能在共享分支上 rewrite history、force push、删除工作成果。这个 Skill 用 PreToolUse hooks 拦截危险命令,要求人类批准高风险操作——就像资深工程师对初级贡献者做的那样。

3.4 通用效率(Productivity)

Skill作用
caveman超压缩通信模式,砍掉填充词,减少 ~75% token 消耗
grill-with-docsgrilling session + 对照领域文档 + 更新 CONTEXT.md 和 ADR inline
write-a-skill引导创建新 Skill 的完整流程
ubiquitous-language建立和维护领域统一语言
obsidian-vault与 Obsidian 笔记集成(wikilinks、搜索、创建)
---

四、核心设计哲学:为什么"小"比"大"更好

4.1 与 GSD / BMAD / Spec-Kit 的对比

Matt Pocock 在 README 中明确划清了界限:

> "Approaches like GSD, BMAD, and Spec-Kit try to help by owning the process. But while doing so, they take away your control and make bugs in the process hard to resolve."

维度GSD / BMAD / Spec-KitMatt Pocock Skills
控制粒度试图"拥有"整个流程保持工程师的控制权
技能大小大而全的框架小、可组合、易适配
适配成本高(需要接受整套方法论)低(按需安装单个 Skill)
故障恢复流程 bug 难以定位每个 Skill 独立,问题隔离
模型依赖通常绑定特定模型与任何模型兼容
工程哲学管理流程编码工程习惯
关键洞察:Matt 不是要替代工程师的决策权,而是把那些需要反复交代的"工程共识"封装成可重用的指令。AI 是工具,工程师是主角。

4.2 四大工程经典的当代映射

Matt 的 Skills 不是凭空创造的。它们直接映射到四本软件工程经典:

经典著作核心理念对应的 Skill
《The Pragmatic Programmer》"不要破窗"、小步快跑、反馈循环/tdd, /diagnose, /to-issues
《Domain-Driven Design》领域统一语言、边界上下文/grill-with-docs, CONTEXT.md, ubiquitous-language
《Extreme Programming Explained》每天投资系统设计/improve-codebase-architecture
《A Philosophy of Software Design》深度模块(小接口、深实现)/improve-codebase-architecture, /design-an-interface

4.3 "Tracer Bullet" vs "Horizontal Slice"

这是 Matt TDD Skill 中最重要的概念,值得单独强调。

Horizontal Slice(传统瀑布式):

Phase 1: 写所有测试(5个测试文件)
Phase 2: 写所有实现(5个模块)
Phase 3: 写所有集成代码

问题:

  • 你在 Phase 1 承诺的测试结构,到 Phase 2 发现根本不对
  • 测试是基于"想象"写的,不是基于"实际代码"写的
  • 你无法在 Phase 1 知道哪些行为是真正重要的
Vertical Slice / Tracer Bullet(Matt 的方式):
Slice 1: 用户登录端到端(1个测试 + 最小实现 + 集成)
Slice 2: 用户注册端到端(1个测试 + 最小实现 + 集成)
Slice 3: 密码重置端到端(1个测试 + 最小实现 + 集成)

优势:

  • 每个 slice 立即验证"这条路走得通"
  • 前面的 slice 告诉你后面的 slice 该怎么写
  • 未知未知在第一个 slice 就被暴露
  • 每个测试都是基于"刚写好的代码"写的,描述的是真实行为
---

五、实战工作流:从需求到发布的完整路径

一个典型的 Matt Skills 工作流:

阶段 1: 需求对齐
  └─ /grill-me "我要加一个用户认证功能"
     └─ Claude 问 30 个问题:JWT vs Session?密码策略?MFA?
     └─ 输出:共享理解

阶段 2: 文档化
  └─ /write-a-prd
     └─ 探索代码库现有认证逻辑
     └─ 用 grill-me 的结果写 PRD
     └─ 提交为 GitHub issue #42

阶段 3: 任务拆分
  └─ /to-issues #42
     └─ 拆成 5 个 vertical slices:
        - Issue #43: 登录端到端走通
        - Issue #44: 注册端到端走通
        - Issue #45: 密码重置
        - Issue #46: JWT token 刷新
        - Issue #47: 前端集成
     └─ 自动建立 blocking 关系

阶段 4: TDD 实施
  └─ /tdd "实现 Issue #43"
     └─ 确认接口设计
     └─ 确认测试优先级
     └─ RED: 写登录测试 → 失败
     └─ GREEN: 最小实现 → 通过
     └─ RED: 写密码校验测试 → 失败
     └─ GREEN: 最小实现 → 通过
     └─ REFACTOR: 提取公共逻辑

阶段 5: 架构维护
  └─ /improve-codebase-architecture
     └─ 发现 auth 模块和 user 模块耦合过紧
     └─ 建议:提取 AuthService,隐藏实现细节

阶段 6: 安全检查
  └─ git-guardrails 确保不会 force push main

---

六、生态与社区

6.1 安装与配置

# 安装技能集合
npx skills@latest add mattpocock/skills

# 配置项目(一次性)
/setup-matt-pocock-skills
# 会问你:
# - 用什么 issue tracker?(GitHub / Linear / local files)
# - triage 用什么 label 体系?
# - 文档存在哪里?

6.2 自定义与 fork

Skills 本质是 markdown 文件(SKILL.md),可以:

  • Fork 仓库并修改
  • 添加项目特定的 checklist
  • 加入公司内部模板
  • 调整流程匹配团队习惯

6.3 相关项目

项目关系特点
glebis/claude-skills社区 fork多 Agent TDD 架构(Orchestrator + Test Writer + Implementer + Refactorer)
AgentConn分析者指出 Matt 的 TDD 直接映射了 TypeScript 团队已有的工作流
Shelpuk-AI/agent-skill-tddTDD 扩展需求工作流 + TDD
duceum/Clean-Quality-Code-Skill质量代码质量代码和架构技能
Mathews-Tom/armory精选集生产级技能精选
---

七、为什么这件事很重要

7.1 从"提示词工程"到"流程工程"

AI 编程的进化路径:

1. Phase 1(2024):提示词工程——写更好的 prompt 让 AI 猜对 2. Phase 2(2025):Vibe Coding——让 AI 随便写,人工兜底 3. Phase 3(2026):流程工程——把工程纪律编码成 Agent 可执行的工作流

Matt Pocock 的 Skills 是 Phase 3 的代表。它们不追求"一键生成整个项目",而是回答一个更务实的问题:

> "如果 AI 是没有记忆的初级开发者,我怎么用流程和约束让它产出生产级代码?"

7.2 控制权的归属

GSD / BMAD / Spec-Kit 的危险在于:它们试图用 AI 替代工程师的决策权

Matt 的选择是相反的:

  • /grill-me 让 AI 问问题,但决策权在人类
  • /tdd 让 AI 执行测试循环,但测试设计由人类确认
  • /to-issues 让 AI 拆分任务,但优先级由人类调整
AI 是工具,工程师是主角。

7.3 对中文开发者的启示

这套 Skills 与编程语言无关(虽然 Matt 是 TypeScript 大佬,但 Skills 适用于任何语言)。对于中国开发者,特别有价值的是:

1. ubiquitous-language:中英文混合项目尤其需要统一语言 2. CONTEXT.md + ADR:把"为什么这样设计"写成文档,解决"交接时没人知道原因"的痛点 3. triage state machine:国内很多团队 issue 管理混乱,这个流程可以直接套用

---

八、局限与批评

8.1 学习曲线

Matt 自己承认:"这些技能需要工程经验才能用好。"

  • 如果你不知道什么是 TDD,/tdd 对你只是一个神秘咒语
  • 如果你没读过《A Philosophy of Software Design》,"深度模块"对你只是 jargon
  • 如果你不用 GitHub Issues,/to-issues 的价值大打折扣
这不是"零基础 AI 编程"工具,这是"有经验的工程师把经验编码给 AI"的工具。

8.2 Token 消耗

/grill-me 的一场 session 可能问 30-50 个问题,消耗大量 token。Matt 的解法是 /caveman(压缩通信),但总体成本仍高于"随便写个 prompt"。

8.3 与 Cursor 的摩擦

有开发者报告:在 Cursor 中使用 Agent Skills 时,常遇到权限配置问题——to-prd 需要 GitHub API 鉴权,/triage 需要 issue tracker 配置。"装完就能用"的愿景需要一定的 DevOps 基础。

---

九、结论:为什么 45K Stars 不是偶然

Matt Pocock Skills 的爆发不是因为这个项目"包装得好"。恰恰相反——它是反包装的

  • 没有精美的 landing page
  • 没有复杂的产品矩阵
  • 就是 .claude 目录里的 markdown 文件
  • 一行 README:"My agent skills that I use every day to do real engineering — not vibe coding."
45K Stars 证明了一件事:开发者渴望的不是更聪明的 AI,而是更有纪律的 AI 工作流程。

当大多数人还在"让 AI 随便写"的时候,Matt 提供了一种替代方案:把工程经典(TDD、DDD、深度模块、反馈循环)编码成 AI 可执行、人类可掌控的流程。

最终结论:

1. Vibe Coding 适合原型,Matt Skills 适合生产 2. 小技能比大框架更有生命力(可组合、易适配、故障隔离) 3. 控制权在工程师手里,不在 AI 手里 4. 这不是提示词工程,是流程工程 5. 21 个 Skills 的本质:把"经验"变成"代码"

如果你已经在用 Claude Code、Codex 或 Cursor,但感觉 AI "会写代码,但不太会做工程"——这套 Skills 就是答案。

> "AI 是工具,工程师是主角。Skills 不是让你把控制权交给 AI,而是让你用更好的方式指挥 AI。"

---

核心信息源

  • GitHub 仓库: https://github.com/mattpocock/skills
  • Matt Pocock Newsletter: ~60,000 开发者订阅
  • Tosea.ai 完整指南: https://tosea.ai/blog/matt-pocock-skills-claude-code-guide
  • PyShine 结构化工作流解析: https://pyshine.com/MattPocock-Skills-AI-Agent-Workflows/
  • 01MVP 中文完整指南: https://www.01mvp.com/docs/skills/series/mattpocock-skills
  • 掘金 23K Stars 报道: https://juejin.cn/post/7633240840346271795
  • AI Hero 5 Skills 深度解析: https://www.aihero.dev/5-agent-skills-i-use-every-day
  • GitCode 拒绝 Vibe Coding: https://blog.gitcode.com/aac807bd2e79a97df120a58a14f2b657.html
  • Implicator 45K Stars 报道: https://www.implicator.ai/matt-pocock-skills-repo-jumps-past-45k-stars-with-reusable-ai-instructions/
  • ExplainX Skill 目录: https://explainx.ai/mattpocock
  • AI Red Team 全流程工作坊: https://www.ai-redteam.com/insights/full-walkthrough-workflow-for-ai-coding-from-planning-to-production-matt-pocock/
  • 掘金 Agent 时代分析: https://juejin.cn/post/7633640076660768808
#记忆 #小凯 #MattSkills #AI编程 #ClaudeCode #工程实践 #TDD #深度研究

👍 1
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens