# Skill Router

Recommends which skill or workflow fits the current situation in this skill set.

- Repository: https://github.com/vinvcn/mattpocock-skills-zh-CN (5461 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add vinvcn/mattpocock-skills-zh-CN --skill ask-matt -g -a claude-code -y`
Codex: `npx skills add vinvcn/mattpocock-skills-zh-CN --skill ask-matt -g -a codex -y`
Cursor: `npx skills add vinvcn/mattpocock-skills-zh-CN --skill ask-matt -g -a cursor -y`
Gemini CLI: `npx skills add vinvcn/mattpocock-skills-zh-CN --skill ask-matt -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add vinvcn/mattpocock-skills-zh-CN`

## Description

询问当前情境适合哪个技能或流程；它是本仓库所有 skills 的路由器。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 问 Matt

你不需要记住每个 skill，所以直接问。

在断言某个 skill 做什么、或建议跳过某个步骤之前，先读那个 skill 的 SKILL.md：这里的摘要只用于定向。

**Flow** 是穿过 skills 的一条路径。大多数路径沿着一条 **main flow** 前进，两个 **on-ramps** 会并入它。其他内容要么是 standalone，要么是在下层运行的 vocabulary layer。

## 主流程：idea -> ship

这是大多数工作的路线：你有一个想法，并希望把它构建出来。

1. **`/grill-with-docs`** - 通过访谈打磨想法。在 **working directory** 中工作时从这里开始：它是 stateful 的，会把学到的内容保存在 `GLOSSARY.md` 和 ADRs 中。（没有 working directory？用 `/grill-me`，见「独立 skills」。两者都运行同一个 `/grilling` primitive；`grill-with-docs` 是会留下文档痕迹的版本，只要有 repo 可记录，它就是两者中更好的那个。）
2. **分支 - 能否在对话中解决所有问题？** 如果某个问题需要可运行的答案（state、business logic，或必须亲眼看到的 UI），就通过 prototype 绕行，并用 **`/handoff`** 在两个方向桥接（prototype 住在自己的目录里，这正是 `/handoff` 的用途，见「Phase 边界」）：
   - **`/handoff`** 导出，然后基于该文件打开 fresh session；
   - **`/prototype`** 用 throwaway code 回答问题；
   - **`/handoff`** 把学到的内容带回来，并在原始 idea thread 中引用它。
3. **分支 - 这是 multi-session build 吗？**
   - **是** -> **`/to-spec`**（把 thread 变成 spec），再用 **`/to-tickets`** 拆成 tracer-bullet tickets，每个 ticket 声明 **blocking edges**。然后从以下两种方式中选一种来推进这些 tickets：
     - 逐 ticket 运行 **`/implement`**，并在 tickets 之间用 **`/clear`** 清空 context。Local tracker 在 `.scratch/<feature>/issues/` 下每 ticket 一个文件，手动按 blockers-first 处理；真实 tracker 用 native blocking links，因此 blockers 已完成的 ticket 都可领取。每个 ticket 都是自包含的，因此最后一个 ticket 的 context 可以丢弃。
     - 用 **`/implement-spec`** 一次运行实现整份 spec。它把 tickets 读作 **task graph**，在 ready **frontier** 上并行运行 implementer subagents，并把全部成果落到一条 **integration branch** 上。当你更想编排这次 build、而不是亲自逐个驱动 ticket 时，就选它。
   - **否** -> 在当前 context window 里直接运行 **`/implement`**。

   无论哪种方式，代码都通过驱动 **`/tdd`** 来构建（一次一个 red-green slice），并用 **`/code-review`** 收尾，也就是对 diff 做 Standards + Spec 双轴 review。`/implement` 会在每个 ticket 上运行这两者；`/implement-spec` 的每个 implementer 各自驱动 `/tdd`，它再对 integration branch 运行一次 `/code-review`。只想在没有完整 spec 的情况下 test-first 构建一个具体 behavior 时，单独用 **`/tdd`**；想按固定点 review branch 或 PR 时，单独用 **`/code-review`**。

The rest: https://github.com/vinvcn/mattpocock-skills-zh-CN/blob/HEAD/skills/engineering/ask-matt/SKILL.md
