code-review
从固定点(commit、branch、tag 或 merge-base)开始,按 Standards(代码是否符合本仓库记录的编码标准?)和 Spec(代码是否符合来源 issue/spec…
询问当前情境适合哪个技能或流程;它是本仓库所有 skills 的路由器。
Claude Code
$ npx -y skills add vinvcn/mattpocock-skills-zh-cn --skill ask-matt --agent claude-code
Codex
$ npx skills add vinvcn/mattpocock-skills-zh-cn --skill ask-matt -a codex -y
Cursor
$ npx skills add vinvcn/mattpocock-skills-zh-cn --skill ask-matt -a cursor -y
Gemini CLI
$ npx skills add vinvcn/mattpocock-skills-zh-cn --skill ask-matt -a gemini-cli -y
GitHub Copilot
$ npx skills add vinvcn/mattpocock-skills-zh-cn --skill ask-matt -a github-copilot -y
OpenCode
$ npx skills add vinvcn/mattpocock-skills-zh-cn --skill ask-matt -a opencode -y
Windsurf
$ npx skills add vinvcn/mattpocock-skills-zh-cn --skill ask-matt -a windsurf -y
name: ask-matt description: 询问当前情境适合哪个技能或流程;它是本仓库所有 skills 的路由器。 disable-model-invocation: true
你不需要记住每个 skill,所以直接问。
在断言某个 skill 做什么、或建议跳过某个步骤之前,先读那个 skill 的 SKILL.md:这里的摘要只用于定向。
**Flow** 是穿过 skills 的一条路径。大多数路径沿着一条 **main flow** 前进,两个 **on-ramps** 会并入它。其他内容要么是 standalone,要么是在下层运行的 vocabulary layer。
这是大多数工作的路线:你有一个想法,并希望把它构建出来。
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 边界」):
3. **分支 - 这是 multi-session build 吗?**
无论哪种方式,代码都通过驱动 **`/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`**。
当工作以 pull request 的形式提上去时,**`/pr`** 负责塑形 PR 正文:展示这次变更的最小 visual、证明它可用的 before/after 证据,再加上一次单向门还是双向门的判断。它是 model-invoked 的,所以 agent 每次写 PR 都会伸手用它。
4. **`/retro`** 闭合循环。一次 build 之后,尤其是一次走了弯路的 build,它会回看整个 session,建议改动 agent 的 **environment**,而不是代码:navigation pointers、automated checks、`/code-review` 强制执行的 coding standards、steering files、tooling。机械性错误变成 deterministic checks;judgement calls 变成 coding standards。下一次 build 由此从更好的 environment 出发。
步骤 1 到 `/to-tickets` 要留在 **同一个未中断的 context window** 中;不要 compact 或 clear,这样 grilling、spec 和 tickets 才能建立在同一组思考之上。之后每个 `/implement` 都从 fresh session 开始,只基于对应 ticket 工作。在 clear 之前,在被回看的那个 session 里运行 `/retro`;clear 之后,改为让它读取该 session 的 log。
限制来自 **[smart zone](https://www.aihero.dev/ai-coding-dictionary/smart-zone)**:在该窗口(最新模型大约 150k tokens)内,模型还能保持敏锐推理。如果 session 在 `/to-tickets` 前接近这个区间,不要硬撑降级状态;在最近的 phase boundary 用 `/compact`,然后继续(见「Phase 边界」)。
起点会生成工作,然后并入 main flow。
Triage 只用于 **不是你创建的** issues:bug reports、incoming feature requests,以及任何原始进入的内容。`/to-tickets` 产出的 tickets 已经是 agent-ready,不要再 triage。
Map 清晰后,**它会 hand off,而不是 build**:先进入 **`/to-spec`**,把 map 中相互链接的 decisions 收束成可构建计划,然后照常使用 `/to-tickets` 和 `/implement`。让 map 直接循环进入 `/implement` 会跳过这次收束并丢掉相互链接的细节;只有当 effort 后来发现确实很小时,才直接进入 `/implement`。
这不是 feature work,而是维护。
两个 model-invoked references 在其他 skills 下层运行,分别是自己词汇的 single source of truth。问题在于**词语**而不是流程时直接用它们;也可以让上面的 skills 自动拉起它们。
**phase** 是 session 内的一段工作:grilling、implementation、QA。在它们之间的 **boundary** 处你有五个选项,而在这整张 map 中,选哪个是最模糊的决定:
关于有序的树,阅读 [PHASE-BOUNDARIES.md](PHASE-BOUNDARIES.md):五个问题、每个分支背后的推理,以及为什么 primary-source 成本让 **Continue** 成为第一个要排除的选项。**在** boundary 处做决定;阶段中途,要么继续,要么把剩余的工作拆成 subagents。
完全在 main flow 之外。
Matt Pocock 的 mattpocock/skills:第三方简体中文本地化,非官方仓库。这些 agent skills 是他每天用于真实工程工作的,不是 vibe coding:小、易改、可组合,适用于任何模型。 本仓库定期同步上游,并额外支持 DeepSeek Harness(dsh)插件安装,安装后以 /zh- 调用任意技能(上游没有的能力,详见 dsh-plugin/README.md)。
从固定点(commit、branch、tag 或 merge-base)开始,按 Standards(代码是否符合本仓库记录的编码标准?)和 Spec(代码是否符合来源 issue/spec…
用于设计深模块的共享词汇。适用于用户想设计或改进模块接口、寻找深化机会、决定 seam 放在哪里、让代码更容易测试或更适合 AI 导航,或其他技能需要深模块词汇时。
面向棘手缺陷和性能回退的诊断循环。适用于用户说 “diagnose” / “debug this”,或报告某些东西 broken、throwing、failing、slow 时。
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.