← 技能图谱
nameask-matt
descriptionAsk which skill or flow fits your situation. A router over the skills in this repo.
触发词询问哪个技能或流程适合你的场景。本仓库技能的入口路由器。
disable-model-invocationtrue

Ask Matt

skill router

You don't remember every skill, so ask.

你不可能记住每个技能,所以来问。

A flow is a path through the skills. Most paths run along one main flow, and two on-ramps merge onto it. Everything else is standalone, or a vocabulary layer that runs underneath.

流程(flow)是一条贯穿技能的通路。多数路径沿着一条主干流程行进,另有两条入口匝道汇入。其余的都是独立技能,或是在底层运行的词汇层。

The main flow: idea → ship

The route most work travels. You have an idea and want it built.

大多数工作走的路线。你有一个想法,想把它实现出来。

1. /grill-with-docs — sharpen the idea by interview

Start here when you have a codebase: it's stateful, retaining what it learns in CONTEXT.md and ADRs. (No codebase? Use /grill-me — see Standalone. Both run the same /grilling primitive; grill-with-docs is the one that leaves a paper trail.)

1. /grill-with-docs — 通过访谈打磨想法

当你有代码库时从这里开始:它是有状态的,会将学到的东西保留在 CONTEXT.md 和 ADR 中。(没有代码库?用 /grill-me — 见独立技能一节。两者运行相同的 /grilling 原语;grill-with-docs 是会留下纸面记录的那个。)

2. Branch — can you settle every question in conversation?

If a question needs a runnable answer (state, business logic, a UI you have to see), detour through a prototype, bridged by /handoff in both directions (see Crossing sessions):

2. 分支 — 是否所有问题都能在对话中解决?

如果某个问题需要可运行的答案(状态、业务逻辑、必须看到的 UI),就绕道原型,通过 /handoff 双向桥接(见"跨会话"一节):

  • /handoff out, then open a fresh session against that file,
  • /prototype to answer the question with throwaway code,
  • /handoff back what you learned, and reference it from the original idea thread.
  • /handoff 导出,然后开一个新会话加载该文件,
  • /prototype 通过一次性代码回答问题,
  • /handoff 带回学到的内容,并在原始想法线程中引用它。

3. Branch — is this a multi-session build?

3. 分支 — 这是需要多会话构建的任务吗?

  • Yes/to-spec (turn the thread into a spec), then /to-tickets to split it into tracer-bullet tickets, each declaring its blocking edges. On a local tracker that's one file per ticket under .scratch/<feature>/issues/, worked blockers-first by hand; on a real tracker the edges become native blocking links, so any ticket whose blockers are done can be grabbed — kick off /implement per ticket, clearing context between each one.
  • No/implement right here, in the same context window.
  • /to-spec(将对话转成规格说明),然后 /to-tickets 将其拆分为曳光弹式 ticket,每个 ticket 声明自己的阻塞边。在本地跟踪器上,这相当于 .scratch/<feature>/issues/ 下一个 ticket 一个文件、手工按阻塞者优先处理;在真实跟踪器上,这些边会成为原生阻塞链接,因此任何已解除阻塞的 ticket 都可以被认领 — 每个 ticket 启动一个 /implement每个之间清除上下文
  • → 就在同一个上下文窗口中用 /implement

Either way, /implement builds each issue by driving /tdd internally — one red-green slice at a time — then closes out by running /code-review, a two-axis review (Standards + Spec) of the diff, before committing. Reach for /tdd on its own when you just want to build a concrete behaviour test-first without a full spec, and /code-review on its own whenever you want to review a branch or PR against a fixed point.

无论哪种方式,/implement 内部都会驱动 /tdd 来构建每个 issue — 一次一个红-绿切片 — 然后在提交前运行 /code-review 对 diff 进行双轴审查(规范 + 规格)。当你想在没有完整规格的前提下以测试为先构建具体行为时,直接使用 /tdd;当你想针对某个固定点审查分支或 PR 时,直接使用 /code-review

Context hygiene

上下文卫生

Keep steps 1–3 in one unbroken context window — don't compact or clear until after /to-tickets — so the grilling, spec, and tickets all build on the same thinking. Each /implement then starts fresh, working from the ticket.

将步骤 1–3 保持在一个不间断的上下文窗口中 — 在 /to-tickets 完成之前不要压缩或清空 — 这样访谈、规格说明和 ticket 都基于同一套思路。之后每个 /implement 则从 ticket 开始,使用全新的上下文。

The limit on this is the smart zone: the window (~120k tokens on state-of-the-art models) within which the model still reasons sharply. If a session approaches it before /to-tickets, don't push on degraded — /handoff and continue in a fresh thread.

这里的限制是智能区(smart zone):模型仍能清晰推理的窗口(最新模型约 120k tokens)。如果会话在到达 /to-tickets 前就接近这个限制,不要在退化状态下硬撑 — 使用 /handoff 在新线程中继续。

On-ramps

A starting situation that generates work, then merges onto the main flow.

一种产生工作的起点情境,然后汇入主干流程。

Bugs and requests piling up → /triage

It moves issues through triage roles and produces agent-ready issues, which /implement later picks up.

Bug 和请求堆积 → /triage

它将 issue 推进各分诊角色,生成代理可直接处理的 issue,供后续 /implement 领取。

Triage is only for issues you didn't create — bug reports, incoming feature requests, anything that arrives raw. Tickets that /to-tickets produced are already agent-ready, so don't triage them.

分诊仅适用于不是你创建的 issue — bug 报告、外来的功能请求、所有原始输入。由 /to-tickets 产生的 ticket 已经是代理可直接处理的,所以不要对它们做分诊

Something's broken → /diagnosing-bugs

For the hard ones: the bug that resists a first glance, the intermittent flake, the regression that crept in between two known-good states. It refuses to theorise until it has a tight feedback loop — one command that already goes red on this bug — then fixes with a regression test. Its post-mortem hands off to /improve-codebase-architecture when the real finding is that there's no good seam to lock the bug down.

出了故障 → /diagnosing-bugs

针对那些棘手的:一眼看不透的 bug、间歇性不稳定、在两个已知正常状态之间悄悄潜入的回归。它拒绝在没有紧密反馈循环 — 一个已经对这个 bug 变红的命令 — 之前进行理论推测,然后用回归测试来修复。当真正的发现是没有好的接缝来锁定这个 bug 时,它的复盘会将问题移交给 /improve-codebase-architecture

A huge, foggy effort — a greenfield project or a huge feature build, too big for one session → /wayfinder

When the way from here to the destination isn't visible yet, it charts a shared map of investigation tickets on the issue tracker and resolves them one at a time — producing decisions, not deliverables — until the fog is pushed back and the way is clear. Then it merges onto the main flow at /to-spec (or, if the effort turned out small enough, straight to /implement). Where /grill-with-docs sharpens an idea you can hold in one session, wayfinder is for the idea you can't.

庞大而模糊的任务 — 绿地项目或大型功能构建,一个会话装不下 → /wayfinder

当从这里到目的地的路径尚不清晰时,它会在 issue 跟踪器上绘制一幅由调查 ticket 组成的共享地图,然后逐一解决 — 产出决策,而非可交付物 — 直到迷雾被推开,前路清晰。然后它汇入主干流程的 /to-spec(或者,如果任务够小,直接进入 /implement)。/grill-with-docs 打磨的是你可以在一个会话中把握的想法,而 wayfinder 是为你无法把握的想法准备的。

Codebase health

Not feature work — upkeep.

不是功能开发 — 是日常维护。

/improve-codebase-architecture — run whenever you have a spare moment to keep the codebase good for agents to operate in. It surfaces deepening opportunities; picking one generates an idea you can take into the main flow at /grill-with-docs. It's the survey that finds the candidates; /codebase-design (below) is the bench you design the chosen one on.

/improve-codebase-architecture — 有空的时候就运行,保持代码库对代理友好。它揭示深化机会;选择一个就会生成一个想法,你可以带入主干流程的 /grill-with-docs。它是发现候选者的侦察;/codebase-design(见下文)是设计选中对象的工作台。

Vocabulary underneath

Two model-invoked references that run beneath the other skills — each the single source of truth for its vocabulary. Reach for them directly when the words, not the process, are the problem; or let the skills above pull them in.

两个由模型调用的参考,运行在其他技能之下 — 各自是其词汇的唯一真实来源。当用词(而非流程)是问题时,直接使用它们;或者让上层的技能自动引入它们。

/domain-modeling

Sharpen the project's domain language: challenge a fuzzy term, resolve an overloaded word ("account" doing three jobs), record a hard-to-reverse decision as an ADR. It's the active discipline /grill-with-docs drives to keep CONTEXT.md a clean glossary.

/domain-modeling

打磨项目的领域语言:质疑一个模糊的术语、解决一个过载的词(比如 "account" 身兼三职)、将难以撤回的决策记录为 ADR。这是 /grill-with-docs 驱动以保持 CONTEXT.md 成为干净词汇表的主动训练。

/codebase-design

The deep-module vocabulary (module, interface, depth, seam, adapter, leverage, locality) for designing a module's shape: a lot of behaviour behind a small interface at a clean seam. /tdd and /improve-codebase-architecture both speak it.

/codebase-design

深模块的词汇(module、interface、depth、seam、adapter、leverage、locality),用于设计模块的形状:在一个干净的接缝后面,用小接口承载大量行为。/tdd/improve-codebase-architecture 都使用这套词汇。

Crossing sessions

/handoff

When a thread is full or you need to branch off (e.g. into a /prototype session), this compacts the conversation into a markdown file. You don't continue in place — you open a new session and reference that file to carry the context across. It's the bridge between context windows, in either direction. Use it when you want a fresh session but need the current conversation preserved.

/handoff

当一个线程已满或需要分支出去(例如进入一个 /prototype 会话)时,它会将对话压缩成一个 markdown 文件。你不是在原地继续 — 而是打开一个新会话并引用该文件来跨会话传递上下文。它是上下文窗口之间的桥梁,可双向使用。当你想要一个全新的会话但又需要保留当前对话时使用它。

/compact (built-in)

Stay in the same conversation, letting the earlier turns be summarized. Use it at intentional breaks between phases, when you don't mind losing the verbatim history. Don't compact mid-phase — the agent can lose its way. /handoff forks; /compact continues.

/compact(内置命令)

停留在同一对话中,将前面的轮次总结压缩。在阶段之间有意识的停顿处使用,当你不介意丢失逐字历史时。不要在阶段中间压缩 — 代理会迷失方向。/handoff 是分叉;/compact 是继续。

Standalone

Off the main flow entirely.

完全脱离主干流程。

/grill-me

The same relentless interview as /grill-with-docs, but for when you have no codebase. Stateless: it saves nothing locally, builds no CONTEXT.md. Reach for it to sharpen any plan or design that doesn't live in a repo.

/grill-me

/grill-with-docs 同样严苛的访谈,但适用于你没有代码库的情况。无状态:不在本地保存任何内容,不构建 CONTEXT.md。用于打磨任何不在仓库中的计划或设计。

/prototype

A small, throwaway program that answers one design question: does this state model feel right, or what should this UI look like. Throwaway from day one — keep the answer, delete the code. It's the detour in step 2 of the main flow, but reach for it any time a design question is hard to settle on paper.

/prototype

一个一次性小程序,回答一个设计问题:这个状态模型感觉对吗?这个 UI 应该长什么样?从第一天起就是一次性的 — 保留答案,删除代码。它是主干流程步骤 2 中的绕道,但任何时候一个设计问题难以在纸上解决时都可以使用它。

/research

Delegate reading legwork to a background agent: it investigates a question against primary sources, then leaves a cited Markdown file in the repo. Keep working while it reads. The file it produces is something to take into the main flow at /grill-with-docs — research feeds the thinking, it doesn't replace it.

/research

将阅读跑腿工作委托给后台代理:它针对一手来源调查一个问题,然后在仓库中留下一份带引用的 Markdown 文件。它阅读时你继续工作。它产出的文件可以带入主干流程的 /grill-with-docs — 研究为思考提供素材,而非取代思考。

/teach

Learn a concept over multiple sessions, using the current directory as a stateful workspace.

/teach

跨多个会话学习一个概念,使用当前目录作为有状态的工作区。

/writing-great-skills

Reference for writing and editing skills well.

/writing-great-skills

编写和打磨技能的参考指南。

Precondition

/setup-matt-pocock-skills — run before your first engineering flow to configure the issue tracker, triage labels, and doc layout the other skills assume. Custom issue trackers also work.

/setup-matt-pocock-skills — 在第一次运行工程流程之前执行,配置其他技能所依赖的 issue 跟踪器、分诊标签和文档布局。也支持自定义 issue 跟踪器。