Matt Pocock Skills 工作流全景图
小而可组合的工程技能 · 共享语言 · 垂直切片 · 保留人的控制权
核心心智模型
这是一个面向真实工程的 skill library,不是端到端软件工厂。
它的态度:
- 小技能
- 可组合
- 易改造
- 不接管整个过程
- 用工程基本功修正 agent 失败模式
反面对象:过度流程化、让用户失去控制。
它在修哪些失败模式
README 明确列出四类:
- Agent 没理解用户要什么
- Agent 太啰嗦,缺少领域语言
- 代码没有真实反馈回路
- AI 加速制造大泥球
对应解法:grilling、CONTEXT.md、TDD / diagnose、deep modules。
共享上下文基建
/setup-matt-pocock-skills 只做一次 repo setup:
- 选择 issue tracker
- 映射 triage labels
- 确认 domain docs 布局
- 写
docs/agents/*.md - 在
AGENTS.md或CLAUDE.md加## Agent skills
轻量、透明、可手改。
拆解依据
来源仓库:mattpocock/skills
重点读取:
README.md:设计动机与技能目录CONTEXT.md:该 repo 自己的领域语言示例.claude-plugin/plugin.json:正式发布技能清单docs/adr/0001...:hard / soft dependency 拆分skills/engineering/*/SKILL.md与skills/productivity/*/SKILL.md
0. 安装
npx skills@latest add mattpocock/skills
用户选择要安装的 skills 和 coding agents。
必须选择 /setup-matt-pocock-skills,因为工程技能需要知道 repo 的 issue tracker、labels 和 domain docs。
1. Repo Setup
/setup-matt-pocock-skills
流程:
- 探测 remote、AGENTS/CLAUDE、CONTEXT、ADR、docs/agents
- 逐项询问 issue tracker、triage labels、domain docs
- 预览变更
- 写
## Agent skills和三个 docs
这是后续技能的契约层。
2. 对齐需求
两张牌:
/grill-me:纯对话 grilling/grill-with-docs:结合代码、CONTEXT.md、ADR
规则:一次问一个问题;能从代码回答就查代码;边讨论边更新领域词汇,必要时补 ADR。
3. 形成 PRD
/to-prd
不再采访用户,而是综合当前上下文和代码理解。
产物:
- Problem statement
- Solution
- 大量 user stories
- Implementation decisions
- Testing decisions
- Out of scope
发布到 issue tracker,并打 ready-for-agent。
4. 拆成 Issues
/to-issues
把 plan / PRD 拆成 tracer bullet 垂直切片。
每个 issue 要:
- 端到端可验证
- 不是水平层切分
- 标明 HITL / AFK
- 标明依赖关系
用户批准粒度后再发布。
5. Issue State Machine
/triage
两个 category:bug / enhancement。
五个 state:
- needs-triage
- needs-info
- ready-for-agent
- ready-for-human
- wontfix
对 bug 先尝试复现;ready-for-agent 需要 agent brief。
6. Build
/tdd
核心:行为测试通过 public interface,不测实现细节。
反模式:先写所有测试,再写所有代码。
正确方式: RED -> GREEN 一条 vertical slice,再进入下一条。
Tracer bullet 先证明端到端路径。
7. Debug
/diagnose
顺序:
- Build feedback loop
- Reproduce
- 生成 3-5 个 ranked hypotheses
- Instrument
- Fix + regression test
- Cleanup + post-mortem
没有 deterministic pass/fail signal,就明确停下要证据。
8. 交接与沉淀
生产力技能:
/handoff:压缩当前会话,给下个 agent 接手/write-a-skill:把可复用套路做成 skill/caveman:极简沟通模式
沉淀方式偏文档和 issue,而不是运行时记忆系统。
横切机制 A:领域语言
CONTEXT.md 不是 spec,不放实现细节,只放 glossary。
用途:
- 减少 agent 啰嗦
- 统一变量、函数、文件命名
- 让测试、issue、PRD 使用同一套业务词
- 让 agent 少花 token 解释项目术语
这是一种 DDD 风格的 agent compression layer。
横切机制 B:ADR discipline
只有同时满足三点才写 ADR:
- 难以反悔
- 没上下文会让未来读者困惑
- 确实有 trade-off
拒绝某个架构建议时,如果理由对未来有负载,也可以记录 ADR,避免以后反复建议同一件事。
横切机制 C:Architecture Deepening
/improve-codebase-architecture 的目标不是泛泛重构,而是找 deepening opportunities。
核心词:
- Module
- Interface
- Implementation
- Depth
- Seam
- Adapter
- Leverage
- Locality
用 deletion test 判断模块是否只是 pass-through。
横切机制 D:理解与原型
/zoom-out:不懂某块代码时,让 agent 上升一层,画相关模块和 callers 的地图。
/prototype:用 throwaway code 回答一个问题:
- logic / state model -> 终端小程序
- UI direction -> 多个可切换 UI variant
原型回答完问题就删除或吸收到正式代码。
横切机制 E:Hard vs Soft Dependency
ADR 0001 把技能依赖分成两类:
Hard dependency:
/to-issues/to-prd/triage
缺 issue tracker / labels 会直接做错。
Soft dependency:
/diagnose/tdd/improve-codebase-architecture/zoom-out
没有 domain docs 也能跑,只是不够锐利。
技能分桶
正式发布技能在 .claude-plugin/plugin.json:
Engineering:setup、grill-with-docs、to-prd、to-issues、triage、tdd、diagnose、architecture、zoom-out、prototype。
Productivity:grill-me、handoff、caveman、write-a-skill。
Misc:git guardrails、pre-commit、exercise、shoehorn migration。
代价与风险
优势:轻、透明、工程味很浓,可按需组合。
代价:
- 不提供完整端到端发布链路
- 依赖用户主动选技能
- 运行时反馈能力少,浏览器/部署/监控不是核心
- 如果团队没有维护 CONTEXT/ADR/issue discipline,效果会变钝
它更像工程肌肉训练卡组。