1 🛠️ Matt Pocock Agent Skills 深度解析指南

一句话定义mattpocock/skills 是由 TypeScript 领域大师 Matt Pocock (Total TypeScript 作者) 基于数十年软件工程经验打造的 AI 编程 Agent 技能库。它的核心宗旨是 “Real Engineering, Not Vibe Coding(真正的软件工程,而非凭感觉编码)”,旨在解决 Agent 开发中最致命的四大失误:需求不准、话太啰嗦、代码不通、架构成泥


1.1 📌 目录


1.2 这个仓库是干嘛的?(核心价值与痛点解决)

Matt Pocock 认为,绝大多数 AI 编程工具(如 Claude Code, Codex, Cursor)在实际工程开发中会陷入以下 4 种常见失败模式,本仓库的 18 个 Skills 针对这四大痛点给出了精准的工程化解决方案:

#AI 编程常见故障 (Failure Modes)Matt Pocock 的工程化解法对应的核心 Skill
1Agent 没做我想要的东西
( misalignment 沟通对齐断层)
通过苛刻、单步追问的**“面试官”对话 (Grilling)**,在动代码前彻底对齐意图。/grill-with-docs
/grill-me
2Agent 说话极度废话啰嗦
(缺少统一领域语言,Token 浪费)
引入 DDD (领域驱动设计),建立统一术语表 CONTEXT.md 和架构决策记录 ADR。用精炼术语替代长篇废话。/domain-modeling
3Agent 写的代码根本跑不通
(盲目写代码,无反馈闭环)
引入严格的 TDD (红-绿 循环) 与只在“缝隙 (Seam)”上测试的纪律,提供代码运行反馈闭环。/tdd
/diagnosing-bugs
4代码库迅速退化为“大泥球”
(软件熵增加速,混乱难维护)
关注代码设计,定期扫描代码库,将浅模块 (Shallow) 重构为深模块 (Deep),出具 HTML 架构报告。/improve-codebase-architecture
/codebase-design

1.3 18 个技能库全景分类地图 (Skill Directory)

本仓库将 Skills 按照**“谁来触发”**划分为两大类:

  • User-invoked (用户显式触发):只能由用户在 Chat 中输入 /xxx 触发,充当流程的编排者(Orchestrators)
  • Model-invoked (模型自动调用):既可用户触发,也可由 Agent 在需要时自动调用,代表工程纪律与最佳实践 (Disciplines)

1.3.1 用户显式调用的技能 (User-Invoked Orchestrators - 9个)

技能指令类型核心作用与使用场景
/ask-matt编排路由技能路由导航。当你不知道当前情况该用哪个 Skill 时调用它,它会为你推荐最佳工作流。
/setup-matt-pocock-skills初始化环境初始化。配置当前项目的 issue tracker(GitHub/Linear/本地文件)、Triage 标签和文档目录。项目首次使用前运行一次。
/grill-with-docs需求对齐文档化追问面试。对你的需求进行不间断追问,并在对话过程中实时更新 CONTEXT.md 词汇表和生成 ADR。
/to-spec规格合成合成 PRD/Spec。无需面试,直接将当前对话和上下文合成为规范的规格书(含 User Stories、Testing Seams)。
/to-tickets任务拆解拆解 Tracer-bullet 任务。将 Spec 拆解为垂直切片、带依赖网络(Blocked by)的 Tickets。
/implement实施驱动任务实施。根据 Spec 或 Ticket 执行开发,驱动 /tdd 写测试并在提交前自动拉起 /code-review
/triage状态流转Issue 状态机分发。按照预设的 triage 角色和标签流转处理任务 Issue。
/improve-codebase-architecture架构优化代码库健康扫描。扫描代码库中的架构摩擦点,生成漂亮的 HTML 对比报告,并引导你挑选一项进行深层重构。
/wayfinder巨型规划长线探路者。用于超大型、单个 Session 容纳不下的工作,在 Issue Tracker 上建立调查 Ticket 地图逐个击破。

1.3.2 模型自动调用的工程技能 (Model-Invoked Disciplines - 9个)

技能名称 (ID)核心作用与使用场景
domain-modeling领域建模与术语维护。主动挑战不精确的词汇,更新 CONTEXT.md 词汇表与 docs/adr/*.md 决策记录。
tdd测试驱动开发循环。遵循“先写失败测试(Red) -> 仅编写刚好能通过的代码(Green)”的红绿循环,严格在预设 Seam 上写测试。
diagnosing-bugs系统化缺陷排查。科学调试循环:复现 -> 最小化 -> 提出假设 -> 埋点工具验证 -> 修复 -> 回归测试。
codebase-design深模块设计语言。提供深度模块(Deep Module,小接口大功能)、消除浅模块(Shallow)的核心设计词汇与模式。
code-review双轴代码审查。启动两个平行子 Agent 分别审查:Standards (标准与 Fowler 坏味道)Spec (需求符合度)
prototype快速抛弃型原型。为回答设计疑问构建可运行的终端小应用或多视觉方案,探索确定后再回主线。
research后台高信任研究。作为后台 Agent 运行,针对权威一级资料(源码/文档)进行调查并生成带引用来源的 Markdown。
resolving-merge-conflicts解决 Git 冲突。逐块分析冲突 hunk,根据两边的原始意图进行精准合并,坚决不 --abort

1.3.3 通用生产力技能 (Productivity Skills - 4个)

技能指令核心作用与使用场景
/grill-me通用面试追问。非代码场景下的追问(grilling 逻辑背后的接口),对任何想法或设计进行压力测试。
/handoff对话交接与压缩。将当前 Session 压缩为干净的 Handoff 文档,以便交接给下一个 Agent 接着做。
/teach多会话互动教学。将当前目录作为有状态的教学工作区,跨多个 session 教授用户某个概念或技能。
/writing-great-skills技能编写指南。为开发和修改 Agent Skills 提供词汇表和标准化原则。

1.4 Matt Pocock 标准工程工作流 (The Engineering Workflow)

Matt Pocock 将软件工程的最佳实践编排成了一条高度解耦、顺畅衔接的流水线:

flowchart TD
    Init["/setup-matt-pocock-skills<br/>(初始化配置)"] --> Grill["/grill-with-docs<br/>(追问对齐 + 建立 CONTEXT.md)"]
    Grill --> Spec["/to-spec<br/>(合成 PRD/Spec 规格书)"]
    Spec --> Tickets["/to-tickets<br/>(拆解为带依赖关系的垂直切片 Tickets)"]
    Tickets --> Implement["/implement<br/>(领任务实施)"]
    
    subgraph 编码闭环
        Implement --> TDD["/tdd (红-绿 循环)"]
        TDD --> Review["/code-review (双轴审查)"]
    end
    
    Review --> Commit["Git Commit (完成提交)"]

    style Grill fill:#ffe6cc,stroke:#d79b00,stroke-width:2px
    style Spec fill:#d5e8d4,stroke:#82b366,stroke-width:2px
    style TDD fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px

1.5 Matt Pocock 四大核心工程思想

  1. Ubiquitous Language (通用语言 / 领域模型)
    • 在开发前必须建立 CONTEXT.md。例如:“把课程章节在文件系统中建立实际目录”在这套体系里叫 materialization cascade(物化级联)。统一术语后,Agent 节省大量 Token 且变量/函数命名高度一致。
  2. Deep Modules vs Shallow Modules (深模块与浅模块)
    • 提倡 Deep Module(简单小巧的接口背后隐藏大量复杂的内部实现)。拒绝编写大量的包装层浅模块(Shallow Modules)。
  3. Seams (测试缝隙)
    • 测试只在预先与用户商量好的公共缝隙(Seams)上编写,绝不针对私有实现细节写测试,确保重构代码时测试不会碎掉。
  4. Tracer Bullets (追踪弹/垂直切片)
    • 拆解 Task 时拒绝按层拆(如先写所有 DB 再写 API),必须切窄而完整的垂直切片,确保每完成一个切片都能独立验证。