matt-pocock-skills
Matt Pocock Skills 是一套作用于 coding agent 的行为塑形技能集
一、 设计依据
Matt Pocock Skills 围绕四种 agent 常见失败模式设计
1.1 Agent 未理解需求
“没有人确切知道自己想要什么” —
The Pragmatic Programmer 《 》
开发中最常见的失败模式是理解偏差
干预手段
/grill-me— 非代码场景的拷问/grill-with-docs— 带文档能力的拷问 同步更新, CONTEXT.md和 ADR
1.2 Agent 缺乏领域语言
Agent 进入项目后缺乏领域术语知识
干预手段CONTEXT.md 作为术语表
1.3 代码缺乏验证
即便需求对齐
干预手段
/tdd— 红绿重构循环 每次只写一个垂直切片, /diagnose— 结构化调试流程 复现 → 最小化 → 假设 → 仪表化 → 修复 → 回归测试:
1.4 架构熵增
Agent 加速代码复杂度增长
干预手段
/to-prd— 在创建 PRD 时审查模块设计/zoom-out— 让 agent 从全局视角解释代码/improve-codebase-architecture— 定期识别并实施深化机会 deepening opportunities( )
二、 技能目录
2.1 工程技能( Engineering)
setup-matt-pocock-skills
- 时机
新仓库首次使用工程技能前: - 职责
初始化 issue tracker 配置: triage 标签词汇表、 领域文档布局、 - 产出
: docs/agents/issue-tracker.md、 docs/agents/triage-labels.md、 docs/agents/domain.md
grill-with-docs
- 时机
启动新需求: 变更计划前、 - 职责
挑战现有计划与领域模型的兼容性: 精炼术语, 内联更新, CONTEXT.md和 ADR - 流程
探索代码库 → 逐一提问: 每次给出推荐答案( → 精炼术语 → 场景压力测试 → 代码交叉验证 → 内联更新文档 → 谨慎创建 ADR) - 限制
: CONTEXT.md不得包含实现细节 仅作为术语表, ADR 仅在满足”难以逆转; 无上下文令人困惑、 真实取舍”三条件时创建、
to-prd
- 时机
需求已讨论完毕: 需形成正式文档, - 职责
基于会话上下文和代码库理解合成 PRD: 发布至 issue tracker, - 规则
不面试用户: 仅综合已有信息, 识别需构建的模块并定位深层模块机会; PRD 模板包含问题陈述; 解决方案、 用户故事、 实施决策、 测试决策、 范围外、
to-issues
- 时机
PRD 或计划已就绪: 需拆解为可执行工作项, - 职责
将计划拆解为独立可领取的 issue: 使用垂直切片, tracer bullet( 方式) - 规则
每个切片横跨所有集成层: schema( API、 UI、 测试、 ) 优先 AFK; 无需人工介入( 切片) 发布前与用户确认粒度与依赖关系;
triage
- 时机
需要分类 issue: 审查 incoming bug 或 feature request、 - 职责
通过状态机驱动 issue 流转: - 状态角色
: needs-triage→needs-info/ready-for-agent/ready-for-human/wontfix - 流程
读取完整 issue 上下文 → 推荐分类 → 复现: bug( → 拷问) 如需( → 应用状态)
tdd
- 时机
新功能开发或缺陷修复: - 职责
通过红绿重构循环保障测试质量: - 核心原则
: - 测试验证行为而非实现细节
通过公共接口执行, - 反对水平切片
先写所有测试再写所有代码( ) 采用垂直切片, 每次一个测试→实现→下一个( ) - 实现前需与用户确认接口设计与行为优先级
- 测试验证行为而非实现细节
diagnose
- 时机
硬缺陷: 性能回归、 - 职责
通过六阶段结构化流程阻止猜测式调试: - 流程
: - 构建反馈循环——快速
确定性、 agent 可运行的 pass/fail 信号、 - 复现——确认复现的是用户描述的缺陷
- 假设——生成 3-5 个可证伪假设
排序后展示给用户, - 仪表化——每个探测对应一个假设
一次只变一个变量, - 修复 + 回归测试——在正确接缝处写回归测试
- 清理 + 事后分析——问”什么可以阻止此缺陷”
- 构建反馈循环——快速
improve-codebase-architecture
- 时机
代码库存在架构摩擦: 需要重构、 - 职责
识别深化机会: deepening opportunities( ) 将浅模块重构为深模块, - 核心概念
Module / Interface / Depth / Seam / Adapter / Leverage / Locality: - 判断工具
删除测试——若删除模块后复杂度消失: 则该模块为透传, 若复杂度在 N 个调用者处重新出现; 则模块在发挥价值, - 流程
探索 → 候选列表 → 逐一拷问 → 内联更新文档:
zoom-out
- 时机
需要理解不熟悉的代码区域: - 职责
从更高抽象层提供代码映射: 使用领域术语解释模块与调用者关系,
prototype
- 时机
需验证设计方向: - 职责
构建一次性原型回答具体问题: - 两条路径
终端应用: 逻辑/状态验证( 或 UI 变体) 多方案切换( ) - 规则
一次性: 单命令运行、 无持久化、 无测试、 完成后删除或吸收决策、
2.2 生产力技能( Productivity)
grill-me
- 时机
非代码场景需要需求对齐: - 职责
逐一提问直至双方达成共享理解: 无文档更新,
caveman
- 时机
需要压缩通信 token 消耗: - 职责
超压缩通信模式: 减少约 75% token,
handoff
- 时机
需要将当前会话交接给其他 agent: - 职责
压缩会话为交接文档: 引用已有 artifact 而非重复内容,
write-a-skill
- 时机
需要创建新技能: - 职责
提供正确的技能结构与渐进式披露指南:
2.3 其他技能( Misc)
git-guardrails-claude-code
- 时机
需要防止危险 git 操作: - 职责
通过 Claude Code hooks 拦截 push: reset、 clean 等危险命令、
migrate-to-shoehorn
- 时机
迁移测试文件中的类型断言: - 职责
将: as断言迁移至 @total-typescript/shoehorn
三、 关键机制
3.1 Grill Session 工作模型
Grill session 是 Matt Pocock 体系中最核心的机制
- 代码库探索
读取: CONTEXT.md和docs/adr/ 理解现有领域模型, - 逐一提问
每次一个问题: 给出推荐答案, 等待反馈, - 术语校准
当用户使用模糊或冲突术语时: 提议精确的规范术语, - 场景压力测试
构造边界案例: 迫使用户明确概念边界, - 代码交叉验证
将用户所述情况与代码实际行为对比: 发现矛盾时指正, - 内联文档更新
术语一经确定即写入: CONTEXT.md 不批量处理,
3.2 垂直切片 vs 水平切片
水平切片[错误]:
RED: test1, test2, test3, test4, test5
GREEN: impl1, impl2, impl3, impl4, impl5
垂直切片[正确]:
RED→GREEN: test1→impl1
RED→GREEN: test2→impl2
RED→GREEN: test3→impl3
...
水平切片的问题
3.3 反馈循环优先
diagnose 技能强调
3.4 深化机会( Deepening Opportunities)
| 术语 | 定义 |
|---|---|
| Module | 有接口和实现的任何单元 |
| Interface | 调用者需了解的全部信息 |
| Depth | 小接口封装大行为 = 深 |
| Seam | 接口所在位置 |
| Adapter | 在 seam 处满足接口的具体实现 |
| Leverage | 调用者从深度中获得的收益 |
| Locality | 维护者从深度中获得的收益 |
四、 与 Superpowers 的关系
4.1 定位差异
| 维度 | Matt Pocock Skills | Superpowers |
|---|---|---|
| 定位 | 上游需求管理与工程语境建设 | 下游交付流程控制 |
| 核心关注 | 人与 agent 的对齐 |
流程门禁 |
| 启动方式 | /setup-matt-pocock-skills + 按需调用 |
会话启动自动注入 |
| 需求阶段 | grill → PRD → issues | brainstorming → plans |
| 实施阶段 | tdd |
TDD |
| 质量阶段 | diagnose | verification |
| 强制程度 | 推荐式 |
门禁式 |
4.2 组合流水线
前者负责需求管理与工程语境建设
需求池
│
▼
Matt Pocock Skills: grill → PRD → issues → triage → ready-for-agent
│
▼
Superpowers: brainstorming → plans → worktree → TDD → subagents → review → PR
│
▼
交付
Matt Pocock Skills 处理”要做什么”