MattPocock Skills V1.3 上手指南

5 阅读11分钟

先上手:装在哪、第一次跑什么

装在哪。 用户级放 ​~/.pi/agent/skills/​ 或 ​~/.agents/skills/​,项目级放 ​.agents/skills/​。Claude Code 放 ​~/.claude/skills/​。带 ​SKILL.md​ 的目录会被递归发现,改完不用重启。

会不会乱插话。 不会。自动的 11 个只在触发词命中时加载,手动的你不打就不跑。自动的也能主动点名,打 ​/tdd​ 一样有效。

第一次只做三步。 ​/grill-with-docs​ → ​/implement​ → ​/retro​。跑顺了再开 ​to-spec​ / ​to-tickets​ 那套多 session 编排。

什么时候别用。 改 typo、写一次性脚本、改配置,直接让它写,别开流程。


主流程:idea → ship → retro

官方主线路(源自 ask-matt):磨想法 →(纸上定不下来绕原型)→(多 session 才落 spec 拆 ticket)→ 实现 → 评审 → 提 PR → 复盘。六步,分支按场景选。

磨想法(必经)

场景Skill
有工作目录 → 首选起点,边问边落 GLOSSARY.md / ADR🟨 ​grill-with-docs​
无仓库 / 不落盘 → 纯磨方案🟨 ​grill-me​ 或 🟦 ​grilling​

​grilling​ 是逐问审讯的底层原语:grill-me / grill-with-docs 是它的两个包装,triage / wayfinder / improve-codebase-architecture 内部也跑它。

绕原型(分支 A:对话里敲不定时)

状态模型对不对 / UI 长什么样 → 一次性原型给答案:

🟨 handoff(出,存 %TEMP%)→ 🟦 prototype → 🟨 handoff(回原线程)

原型验证后主干只留决策;原型本身 commit 到 ​prototype/<name>​ 分支当一手源。

落 spec 拆 ticket(分支 B:多 session 大项目)

  • 🟨 ​to-spec​ — 把当前对话压成 spec 发布 tracker,标 ​ready-for-agent​
  • 🟨 ​to-tickets​ — spec 拆成 tracer-bullet ticket:每片垂直切穿所有层、独立可演示、一个新窗口装得下,每张声明阻塞边;宽改走 expand–contract 三段式

小功能直接跳到「实现」那一步。

⚠ 上下文纪律:从 grilling 到 to-tickets 保持同一个不间断窗口,让磨、spec、ticket 建立在同一路思考上。

实现(核心)

所有路径最终都由 🟦 ​tdd​ 驱动(红绿重构,垂直切片,在 spec 阶段约好的 seam 处调用)。拿到什么决定驱动方式:

拿到什么驱动方式
一个功能点 / 一个 bug🟦 ​tdd​ 裸用,只管"写",收尾自己做
一张 ticket🟨 ​implement​ 单票闭环:取票→tdd→类型检查/测试→code-review→commit;ticket 间 ​/clear​
一整份 spec🟨 ​implement-spec​:ticket 当任务图,就绪 frontier 上并行跑 implementer 子代理(各自 worktree),merger 合并到集成分支,收尾一次整体 review

评审与提交(收尾)

  • 🟦 ​code-review​ — 对固定点以来的 diff 双轴评审:Standards(本仓规范 + Fowler 坏味道基线)与 Spec(符不符原始需求),双子代理并行。implement / implement-spec 已内含
  • 🟦 ​pr​ — PR body 三段式:最小可视化 Summary + 前后证据 Evidence + 合并风险 Merge Danger(单向/双向门)

复盘(闭环)

🟨 ​retro​ — 复盘本 session,改进的是 agent 的环境而非代码:导航指针 / 自动化检查 / 编码规范 / steering 文件 / 工具经济性,按严重度出建议。机械错误→确定性检查(linter/hook/CI),判断题→编码规范。

尤其 bug 修完之后跑一次 retro;修 bug 时没好 seam 锁回归测试 → 交给 improve-codebase-architecture。

三条推荐链路

规模链路说明
轻 · 80% 日常​tdd​ → ​code-review​ → commit一个功能点/一个 bug,自动触发,无编排开销
中 · 单 session 功能​grill-with-docs​ → ​implement​ → ​pr​ → ​retro​一个窗口装得下;implement 内含 tdd + code-review + commit
重 · 多 session 项目​grill-with-docs​ → ​to-spec​ → ​to-tickets​ → ​implement-spec​ → ​retro​任务图 + 并行子代理;想亲自逐张驱动就 ​implement​ ×N(张间 ​/clear​)

入口:遇到什么事,从哪进

遇到什么怎么入手Skill
我有个想法,细节没敲定仓库里 → grill-with-docs(首选,留纸带);无仓库 → grill-me🟨 ​grill-with-docs​ / ​grill-me​
东西坏了 / 变慢 / 抛异常先建"一条命令就能红"的反馈环,再假设→插桩→修→回归测试;修完同 session 跑 retro🟦 ​diagnosing-bugs​ → 🟨 ​retro​
别人提的 issue / PR 堆积了triage 状态机分拣:分类(bug/enhancement)+ 状态五角色,产 agent-ready brief,之后 implement 认领。⚠ to-tickets 产的票已 ready,不要再 triage🟨 ​triage​ → ​implement​
项目大到没方向,一个 session 装不下wayfinder 把雾画成决策 ticket 地图,逐张解决,产出决策而非交付物;图清了在 to-spec 汇入主线(不要直跳 implement)🟨 ​wayfinder​ → ​to-spec​
要查技术事实,但不想停下手里活后台 agent 对一手源调研,落带引用 markdown 进仓;笔记稍后带进 grill-with-docs🟦 ​research​
决定卡在别人脑子里to-questionnaire 反向磨"发送":问你要发给谁、要回什么,产出问卷给对方填;答案回来喂 grill-with-docs / to-spec🟨 ​to-questionnaire​
只有人能做的步骤(开权限/配密钥/点后台)生成交互式 bash 向导:打开每个 URL、抓每个值、写进 .env🟦 ​wizard​
没听懂 agent 刚说的话立刻喊停:用 GLOSSARY.md 词汇 + 简明技术英语重讲;任何 skill 中途都能用🟨 ​wait-what​
不知道该用哪个 skill问路由器,它会读完候选 skill 的 SKILL.md 再回答🟨 ​ask-matt​

长期使用:知识怎么沉淀

这套 skill 的长期价值在留痕:每条链路都有对应的落盘产物,下次 session(或下一个 agent)从纸带上接力,而不是从零开始。

沉淀什么落盘产物Skill
术语与决策(最核心)​GLOSSARY.md​(术语表)+ ​docs/adr/​(难回头的决策)。边讨论边写,写 spec、起 issue、写测试名都用 glossary 的词,不许漂移到 Avoid 同义词🟨 ​grill-with-docs​ 🟦 ​domain-modeling​
规划痕迹​.scratch/<feature>/spec.md​、​.scratch/<feature>/issues/NN-*.md​(带 Blocked by 边)、​.scratch/<effort>/map.md​(wayfinder 地图)🟨 ​to-spec​ ​to-tickets​ ​wayfinder​
研究与原型research 落带引用 markdown;prototype 验证后主干只留决策,原型 commit 到 ​prototype/<name>​ 分支当一手源,实现 issue 上留指针🟦 ​research​ ​prototype​
环境进化每次 build 收尾跑 retro:机械错误变成确定性检查,判断题写进编码规范给 reviewer agent。代码库随使用越来越好开🟨 ​retro​
代码库保养improve-codebase-architecture 扫描深化机会出 HTML 报告,选中一项产生一个"想法"带进主线磨;codebase-design 是设计时的深模块词汇🟨 ​improve-codebase-architecture​ 🟦 ​codebase-design​
窗口接力smart zone 约 150k token,逼近就在阶段边界处理:continue / handoff(换 harness、目录、同事时,落 %TEMP% 便携 md)/ subagent / ​/clear​。handoff 不重复已落盘内容,只留指针🟨 ​handoff​
学习与元技能teach 跨多 session 学概念(当前目录做教学工作区);writing-for-agents 是写 skill / AGENTS.md / 指针文档的风格规范🟨 ​teach​ 🟦 ​writing-for-agents​
前置配置(本仓已完成)​docs/agents/*.md​:issue tracker(本仓 ​.scratch/​ 本地 markdown)、triage 标签、GLOSSARY 布局🟨 ​setup-matt-pocock-skills​

易混 skill 对比

implement vs implement-spec vs 裸 tdd

三者都是"写代码",区别在输入规模和编排方式。tdd 是引擎,implement 是单票闭环,implement-spec 是整 spec 编排。

🟦 tdd🟨 implement🟨 implement-spec
输入一个功能点 / bug一张 ticket一整份 spec + 任务图
执行本窗口本窗口,ticket 间 ​/clear​子代理并行跑就绪 frontier,各自 worktree
review不含,自己补每张内含 code-review集成分支一次整体 review
commit不含含,提交到当前分支含,统一落集成分支

grilling vs grill-me vs grill-with-docs

同一套逐问审讯的三个形态:原语、无状态包装、有状态包装。

🟦 grilling🟨 grill-me🟨 grill-with-docs
定位原语,无包装无状态包装有状态包装
落盘不落不落任何东西落 GLOSSARY.md + ADR
何时用只要审讯本身无仓库 / 纯磨方案有仓库(严格更优,留纸带)

另外 triage / wayfinder / improve-codebase-architecture 内部都跑 grilling——你在这些流程里被追问是正常的。

to-spec vs to-tickets vs wayfinder

规划三件套,粒度递增:一次对话的沉淀 → 一份 spec 的拆解 → 一片雾的地图。

🟨 to-spec🟨 to-tickets🟨 wayfinder
输入当前对话spec / 计划 / 对话一个装不下的大方向
产出spec.md 发布 tracker带阻塞边的 tracer-bullet 票决策 ticket 地图 + 逐张解决
回答做什么、为什么按什么顺序做路在哪(决策,非交付物)
下游to-ticketsimplement / implement-specto-spec 汇入主线

handoff vs to-questionnaire

都是"知识缺口"问题,但缺口位置不同:一个在你自己的窗口里,一个在别人的脑子里。

🟨 handoff🟨 to-questionnaire
缺口新窗口没有旧上下文你缺的知识在别人那里
动作压缩对话成便携 md生成问卷让对方填
审讯对象不审,只综合磨"发送":给谁、要回什么
产物%TEMP% 下的 handoff 文档​to-questionnaire-<slug>.md​

code-review vs improve-codebase-architecture vs retro

三个"回头看",看的对象不同:看 diff、看结构、看 session。

🟦 code-review🟨 improve-codebase-arch🟨 retro
看什么固定点以来的 diff整个代码库的结构刚过去的 session
输出Standards + Spec 双轴报告深化机会 HTML 报告环境改进建议(按严重度)
改代码不改不改,选中项再带进主线磨不改代码,改环境
时机每次提交前有空的时候build 后 / 修完 bug 后、​/clear​ 前

wait-what vs grilling

都关于"沟通不畅",一个事后纠偏,一个事前磨刀。

🟨 wait-what🟦 grilling / grill-with-docs
时机事中/事后:刚没听懂事前:动手之前
方向agent 向你重讲(用 GLOSSARY 词)agent 逐问你,敲定设计
根治对症下药提前共享语言,让 jargon 根本不出现

自动调用 vs 手动触发 · 全表

🟦 自动 · 模型按触发词调用(11 个)

正常干活时模型自己会伸手。没触发就:换触发词 → 点名 skill → 给路径读 SKILL.md。

Skill干什么触发词
​grilling​逐问审讯原语,grilling 系和 triage/wayfinder 的底层引擎stress-test / grill
​tdd​红绿重构,垂直切片,所有实现路径的写码引擎test-first / red-green
​code-review​diff 双轴评审:本仓规范 + 原始需求,双子代理并行review since X / 评审分支
​pr​PR body 三段式:Summary + Evidence + Merge Danger写 PR body 时
​diagnosing-bugs​难 bug / 性能回归:先建反馈环再假设修复坏了 / 慢 / 抛异常 / diagnose
​prototype​一次性原型:逻辑出 HTML 演示,UI 出多方案切换验证设计 / 看效果
​research​后台 agent 对一手源调研,落带引用 markdown调研 / 查 API / 查文档
​domain-modeling​术语结晶落 GLOSSARY.md,难回头的决策记 ADR术语 / GLOSSARY / ADR
​codebase-design​深模块设计词汇:接口小、seam 干净、可测模块接口 / seam / 深化
​wizard​只有人能做的步骤生成交互式 bash 向导配密钥 / 点后台 / 开权限
​writing-for-agents​写 agent 消费的文档(skill/AGENTS.md/指针文档)的风格规范写 skill / 改 AGENTS.md

🟨 手动 · 只有你显式发起(16 个)

多为流程编排与入口类。想不起用哪个 → ​/ask-matt​。

Skill干什么
​ask-matt​路由器:不知道用哪个 skill/flow 时问它
​grill-with-docs​有仓库的首选磨方案入口,边问边落 GLOSSARY/ADR
​grill-me​无仓库版纯磨方案,不落盘
​triage​外部 issue/PR 走状态机分拣,产 agent-ready brief
​to-spec​当前对话压成 spec 发布 tracker
​to-tickets​spec 拆带阻塞边的 tracer-bullet 票
​implement​单 ticket 完整闭环:tdd→测试→review→commit
​implement-spec​整 spec 一条集成分支:任务图 + 并行子代理
​wayfinder​装不下的大项目画决策地图,逐张拨雾
​improve-codebase-architecture​扫描深化机会出 HTML 报告,选中项带进主线磨
​retro​复盘 session,改进 agent 环境(检查/规范/导航)
​handoff​压缩对话成便携 md,供新窗口/同事接力
​to-questionnaire​决定卡在别人脑子里 → 生成问卷给对方填
​wait-what​没听懂刚的话 → 用 GLOSSARY 词重讲
​teach​跨多 session 系统学一个概念
​setup-matt-pocock-skills​一次性配置 tracker/标签/文档布局(本仓已完成)

记忆口诀

三条推荐链路

小事 → tdd → code-review
中事 → grill-with-docs → implement
大事 → grill-with-docs → to-spec → to-tickets → implement-spec

收尾三连:评审 → ​code-review​;提 PR → ​pr​;复盘 → ​retro​(​/clear​ 前)

上下文纪律:grilling → to-tickets 一个窗口;逼近 smart zone 在阶段边界处理;换 harness/目录 → ​handoff​

自动 skill 没触发时:换触发词 → 点名「用 xxx skill」→ 给路径「读 SKILL.md」→ 还是不行 → ​ask-matt​


跑不通了怎么办

症状怎么做
grilling 一直问,问不完说「够了,按你推荐的方案开始实现」,它会收
测试红了半天修不好让它走 ​diagnosing-bugs​,先建反馈环再改,别硬猜
一堆票不知道先做哪看每张的 Blocked by 边,只做没有未完成前置的
上下文快满了在阶段边界收:接着说、​handoff​、交给子代理、​/clear​
它说的话听不懂​/wait-what​,让它用 GLOSSARY 的词重讲
自动 skill 没触发换触发词 →「用 xxx skill」→ 让它读 ​SKILL.md​ → ​/ask-matt​
retro 的建议落不了地先补 lint / test / CI,它一半建议靠这些承载

几个行话:tracer-bullet 票 = 竖着切穿所有层、单张就能演示的票。seam = 你测行为的那条公开边界。深模块 = 接口小、内部厚的模块。smart zone = 模型开始丢细节的那条线,约 150k token。固定点 = 你给的一个基准,commit、分支、tag 都行。