一个会写代码的 Agent,离一个可靠的工程搭档还有一段距离。真实项目里的难点往往在于 Agent 是否知道什么时候该追问、什么时候该查旧决策、什么时候该先做测试、什么时候该停下来承认没有复现。
今天要介绍的 Matt Pocock 的这组 Skills 正是在补这段距离。它们把常见的软件工程动作沉淀成结构化的指令文件:需求澄清、PRD 撰写、issue 拆分、TDD、调试、架构复盘、上下文交接。每个 Skill 都像一份小型作战手册,告诉 Agent 在某类任务里该按什么节奏推进。整套 Skills 的气质一致:先建立可验证的上下文,再让 Agent 动手。

项目地址:github.com/mattpocock/skills(120K+ Star)
架构设计
SKILL.md:单文件指令单元
每个 Skill 是一个独立目录下的 SKILL.md 文件。文件内容是给 Agent 的自然语言指令,描述该类任务的推进节奏、阶段划分、决策规则和禁止事项。Agent 工具(Cursor、Claude Code 等)在读取到 Skill 后,按文件内的指令约束自己的行为。
目录结构示例:
.agents/skills/
diagnose/
SKILL.md
tdd/
SKILL.md
grill-with-docs/
SKILL.md
to-prd/
SKILL.md
to-issues/
SKILL.md
improve-codebase-architecture/
SKILL.md
handoff/
SKILL.md
...
项目上下文接入:setup-matt-pocock-skills
单个 Skill 文件不感知具体项目。setup-matt-pocock-skills 是整套体系的初始化入口,它把项目的 issue tracker 位置、triage label 词汇表和领域文档布局写进 AGENTS.md 或 CLAUDE.md,并在 docs/agents/ 下补充说明,供后续所有 Skill 读取。
Skills 作为开发管线
串联起来看,它们构成一条从模糊想法到可维护代码的完整管线:

Agent 无关性
.agents/skills/ 是 skills CLI 约定的项目级通用目录,不绑定任何特定 Agent 工具。Cursor、Claude Code、Cline、Gemini CLI、GitHub Copilot、OpenCode 均可读取同一套 Skill 文件,同一套工程流程在多个 Agent 环境里直接复用。
安装方法
使用 skills CLI 安装。在项目根目录执行:
# 安装全部 skills
npx skills install --all
# 只安装指定 skill
npx skills install tdd diagnose grill-with-docs
安装后 Skill 文件进入 .agents/skills/,同时生成 skills-lock.json——记录每个 Skill 的来源和内容 hash,作用类似 package-lock.json,供 update 命令判断哪些 Skill 需要更新。
更新已安装的 Skill:
npx skills update
与 SDLC 的对应关系
这些 Skills 覆盖了 SDLC(软件开发生命周期)的多个阶段,但它们更适合迭代式开发。需求、设计、实现和测试不会被切成漫长的阶段,而是在每个 vertical slice 里重复一次。

这组 Skills 的真正价值在于把工程师脑子里的惯性动作外化了:先问清楚,再写规格;先拆小,再实现;先复现,再修;先有证据,再下结论。Agent 执行这些流程时,速度优势才更容易转化为可维护的软件。
Skills 速查表
| Skill | 分类 | 主要作用 |
|---|---|---|
| setup-matt-pocock-skills | 工程 | 一次性初始化:配置 issue tracker 位置、triage label 词汇、领域文档布局,写入 AGENTS.md 和 docs/agents/ |
| zoom-out | 工程 | 在陌生代码区域拉高抽象层,用领域语言输出模块地图和调用关系 |
| grill-me | 生产力 | 纯想法阶段的追问,一次一个问题把设计决策树走完 |
| grill-with-docs | 工程 | 有代码库时的需求追问,主动核对代码与描述的矛盾,实时更新 CONTEXT.md 领域词汇 |
| prototype | 工程 | 做一次性原型验证不确定的设计决策,分 logic(终端交互程序)和 UI(多变体路由)两个分支,用完即删 |
| to-prd | 工程 | 把已追问清楚的上下文整理成 PRD 发布到 issue tracker,不再追问,只整理 |
| to-issues | 工程 | 把 PRD 按纵向切片拆成 issue,每个 issue 跨所有层、可独立 demo,标注 AFK/HITL 类型 |
| tdd | 工程 | 红绿重构循环,一个行为一个循环,测试只验证公共接口行为而非实现细节 |
| diagnose | 工程 | 系统性调试:建立反馈循环 → 复现 → 提出可证伪假设 → 插桩验证 → 修复 + 回归测试 → 清理 |
| improve-codebase-architecture | 工程 | 识别模块深度不足的地方,生成 before/after 报告,选定后再次追问确认接口形状 |
| triage | 工程 | issue 状态机管理(needs-triage / ready-for-agent / wontfix 等),为 ready-for-agent 的 issue 生成 Agent brief |
| handoff | 生产力 | 把当前会话压缩成接力文档(保存到系统临时目录),包含目标、决策、未解决问题和建议 Skills |
| caveman | 生产力 | 把复杂的技术内容用最朴素的语言重新解释 |
| write-a-skill | 生产力 | 按 Skill 格式规范写一个新的 SKILL.md |
苏米注:这组 Skills 的核心价值在于将"工程最佳实践"编码为 Agent 可执行的指令。它不是简单的 Prompt 集合,而是一套完整的开发工作流。对于使用 Claude Code、Cursor 等 AI 编程工具的开发者来说,这套 Skills 能显著提升代码质量和开发效率。特别是 grill-me 和 tdd 两个 Skill,分别解决了"需求不明确就开写"和"测试滞后"两个常见痛点。