Matt Pocock Skills 工作流全景图

小而可组合的工程技能 · 共享语言 · 垂直切片 · 保留人的控制权

核心心智模型

这是一个面向真实工程的 skill library,不是端到端软件工厂。

它的态度:

  • 小技能
  • 可组合
  • 易改造
  • 不接管整个过程
  • 用工程基本功修正 agent 失败模式

反面对象:过度流程化、让用户失去控制。

它在修哪些失败模式

README 明确列出四类:

  1. Agent 没理解用户要什么
  2. Agent 太啰嗦,缺少领域语言
  3. 代码没有真实反馈回路
  4. 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

流程:

  1. 探测 remote、AGENTS/CLAUDE、CONTEXT、ADR、docs/agents
  2. 逐项询问 issue tracker、triage labels、domain docs
  3. 预览变更
  4. 写 ## 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

顺序:

  1. Build feedback loop
  2. Reproduce
  3. 生成 3-5 个 ranked hypotheses
  4. Instrument
  5. Fix + regression test
  6. 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,效果会变钝

它更像工程肌肉训练卡组。

shared context readyunderstandingplanpublished slicesready-for-agentbug / regressionpost-mortemglossarydecisionsdeep modulesmap before decisioncontractslice boundaries