问 Matt
你不可能记住每一个技能,所以问吧。
一个流程是通过这些技能的一条路径。大多数路径沿着一条主流程运行,并有两个接入道汇入其中。其他所有内容都是独立的。
主流程:构思 → 交付
大多数工作所走的路线。你有了一个想法,并希望它被构建出来。
/grill-with-docs— 通过访谈来完善想法。当你有代码库时从此处开始:它是有状态的,将学到的内容保留在CONTEXT.md和 ADR 中。(没有代码库?使用/grill-me— 见独立部分。)- 分支 — 你能否在对话中解决每一个问题? 如果某个问题需要可运行的答案(状态、业务逻辑、必须看到的 UI),则绕道通过一个原型,在两端由
/handoff连接(见穿越会话):/handoff出去,然后针对该文件打开一个新会话,/prototype用临时代码回答该问题,/handoff带回你所学到的东西,并从原始构思线索中引用它。
- 分支 — 这是一个需要多会话的构建吗?
- 是 →
/to-prd(将该线索转为 PRD) →/to-issues(将 PRD 拆分为可独立领取的问题)。因为问题是独立的,在每一个之间清除上下文:每个问题启动一个新会话,并通过向其传递 PRD 和要处理的单个问题来启动/implement。 - 否 → 就在此处,在同一个上下文窗口中运行
/implement。
- 是 →
上下文卫生
将步骤 1 到 3 保持在一个不间断的上下文窗口内 — 在 /to-issues 之前不要压缩或清除 — 这样访谈、PRD 和问题都建立在相同的思考基础上。然后每个 /implement 都是全新开始,基于该问题工作。
这方面的限制是**智能区域**:模型仍能清晰推理的窗口(在最新模型上约为 120k 个 token)。如果会话在 /to-issues 之前接近此限制,不要在性能下降时硬撑 — 使用 /handoff 并在一个新线索中继续。
接入道
一个产生工作然后汇入主流程的起始情况。
-
Bug 和请求堆积如山 →
/triage。它将问题通过分类角色移动,并产生适用于智能体的任务,这些任务稍后由/implement处理。分类仅用于不是你创建的问题 — 错误报告、进入的功能请求、任何原始到达的内容。由
/to-issues产生的问题已经准备好供智能体处理,所以不要对它们进行分类。
代码库健康
不是功能开发 — 是维护。
/improve-codebase-architecture— 每当有空闲时间时运行,以使代码库更适合智能体操作。它会揭示可以深入的机会;选择一个机会会产生一个想法,你可以将其带入主流程的/grill-with-docs阶段。
穿越会话
/handoff— 当一个线索已满或你需要分支出去(例如进入一个/prototype会话)时,这将对话压缩成一个 markdown 文件。你不会在原地继续 — 你打开一个新会话并引用该文件以跨会话传递上下文。它是上下文窗口之间的桥梁,支持双向传递。当你想要一个全新的会话但需要保留当前对话时使用它。/compact(内置) — 保持在同一对话中,让前面的轮次被总结。在阶段之间有意的间隔时使用它,当你不介意丢失逐字历史时。不要在阶段中间进行压缩 — 智能体可能会迷失方向。/handoff分叉;/compact继续。
独立技能
完全脱离主流程。
/grill-me— 与/grill-with-docs相同的不懈访谈,但用于当你没有代码库时。无状态:它不会在本地保存任何内容,不会创建CONTEXT.md。用它来完善任何不在代码库中的计划或设计。/teach— 跨多个会话学习一个概念,使用当前目录作为有状态的工作空间。/writing-great-skills— 编写和编辑优秀技能的参考资料。
前提条件
/setup-matt-pocock-skills — 在你的第一个工程流程之前运行,以配置问题跟踪器、分类标签和其他技能所依赖的文档布局。自定义问题跟踪器也可以工作。