ask-matt
询问哪项技能或流程适合你的情况。一个用于在本仓库各项技能之间进行路由的工具。
Ask Matt —— 不知道该用哪个技能时,先问它
技能概述
Ask Matt 是一个技能路由导航:当你不确定当前情况该用哪个技能、该走哪条流程时,它会帮你定位到那一个。它只做推荐,不代替你执行。
适用场景
-
手上有想法,但不知道从哪一步开始 你有一个还没想清楚的需求,不确定该先做访谈、先写规格,还是直接开写。Ask Matt 会把你领到主流程「idea → ship」的入口,并根据「能否在对话里问清所有问题」「是不是要跨多个会话」两个判断,告诉你下一步该走
/grill-with-docs、/prototype还是直接/implement。 -
遇到一个卡住的状态,想知道该启动哪条支线 收到的 bug 报告和需求堆了一堆、有个反复出现却查不出原因的 bug、或者要做一个大到看不清路径的新项目——这些不属于主流程,而是从入口支线(on-ramp)进入。Ask Matt 会分别指向
/triage、/diagnosing-bugs、/wayfinder,并说明它们各自衔接回主流程的位置。 -
走到一个阶段的收尾,纠结上下文该怎么处理 一段工作做完,继续、清空、压缩还是交接?这是整个技能地图里最模糊的一个决策。Ask Matt 会给出阶段边界的五个选项(继续 /
/clear//handoff/ 子代理 //compact),说明每个选项真正买到的是什么,并指出「继续」是最该先排除的那个。
核心功能
-
按结构路由,而不是按关键词匹配 它把仓库里的技能组织成四个层次:一条主流程(idea → ship)、两条入口支线(triage、diagnosing-bugs、wayfinder)、若干独立技能(grill-me、prototype、research、wizard 等),以及一层底层词汇(domain-modeling、codebase-design)。你描述处境,它把你放进其中一条路径。
-
给出完整路径,而非单个技能名 例如主流程会一次交代清楚:
/grill-with-docs打磨想法 → 需要可运行答案时用/handoff往返/prototype→ 跨会话则/to-spec再/to-tickets拆成带阻塞关系的工单 → 每个工单/implement(内部驱动/tdd,收尾跑/code-review)。你拿到的是整条路线,不是孤立的一步。 -
主动划清技能的适用边界 它不只说「用什么」,也说「别用什么」:
/triage只处理不是你创建的 issue,/to-tickets产出的工单已经是 agent-ready,不要再走 triage;/wayfinder只留给真正看不清路径的大工程,且它交接到/to-spec而不是直接开工;/grill-me只在没有工作目录时使用,有仓库时一律用/grill-with-docs。
常见问题
Ask Matt 会自动触发吗?
不会。这个技能标记了 disable-model-invocation: true,模型不会自行调用它,需要你主动用 /ask-matt 唤起。这是一个有意的设计:路由是一次明确的求助动作,而不是被猜测出来的行为。
主流程里,什么时候该绕道去做原型?
判断标准是「这个问题能不能在对话里问清楚」。如果某个问题必须跑起来才有答案——状态模型是否符合直觉、业务逻辑是否成立、界面长什么样——就绕道 /prototype。原型住在自己的目录里,所以两个方向都用 /handoff 搭桥:交出去一个文件,开一个新会话去做原型,再把手得到的结论交接回来,并从原来的想法线程里指向它。
阶段边界上,Continue、/clear、/handoff、/compact 到底怎么选?
先排除「继续」——它的主要成本是消耗一手信息,所以是五个选项里第一个该被质疑的。剩下四个按需要区分:/clear 用于接下来的事跟当前上下文无关;/handoff 只用于换执行环境(新 harness、新目录、交给同事)或中途分叉一个支线任务,它买到的是可携带性;子代理用于把边界清晰的任务丢进独立窗口换一份报告;/compact 是默认项,压缩当前上下文并以此开启新会话,排在决策树底部而不是第一个伸手去拿的。
它和 /grill-with-docs、/tdd 这些技能是什么关系?
Ask Matt 是索引,不是替代品。它自己不产出规格、不写代码、不做评审,只负责把你送到该去的地方。另外,这套技能假设你已经配置过 issue tracker、triage 标签和文档结构——如果没有,先跑一次 /setup-matt-pocock-skills,否则后续流程会缺少它们依赖的基础设施。