grill-me 系列 Skill从想法到施工的流水线来源Matt Pocock 的skills仓库mattpocock/skills。核心思想在任务开始前先把想法逼问清楚访谈再沉淀领域语言与决策文档再签合同spec最后拆工单tickets并行施工。0. 整体架构入口 核心仓库里的 skill 分三层路由器ask-matt回答我该用哪个 skill入口grill-me、grill-with-docs、to-spec、to-tickets等核心被复用的核心grilling面试算法、domain-modeling领域模型/ADR、codebase-design深模块词汇入口只做两件事选择核心组合 决定是否留下产物。1. grill-me无状态访谈入口我的理解甲方我抛出想法乙方agent通过轮番提问逼出所有隐含决策。它不写任何文件、不留档聊完就散。适用任何话题代码、商业决策、写作。核心源码grill-me/SKILL.md全文逻辑全部委托给 grilling--- name: grill-me description: A relentless interview to sharpen a plan or design. disable-model-invocation: true --- Call the Skill tool with grilling.disable-model-invocation: true表示只能由用户手动触发输入/grill-me模型不会自己调用它。2. grilling访谈核心设计树 轮次 frontier我的理解把想法映射成设计树每个决策分支派生出挂在它下面的决策按轮次推进每轮只问当前frontier所有前置决策已敲定、现在就能问的问题一次问完并给出推荐答案事实归 agent决策归用户需要查环境/文件的事实派 sub-agent 去查绝不问用户但每个决策必须抛给用户结束条件frontier 为空所有分支走完、没有遗留的隐性假设核心源码grilling/SKILL.mdInterview the user relentlessly until you reach a shared understanding. Map this as a **design tree**: every decision branches into the decisions that hang off it. Work the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled: the questions you can ask _now_ without guessing at answers you havent heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the users answers before the next round.Finding _facts_ is your job, never the users. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent to find it; dont ask the user for anything you could look up yourself. ... The _decisions_ are the users: put each to them and wait. The session is done when the frontier is empty: every branch of the design tree visited, nothing left silently assumed. Do not act on it until the user confirms you have reached a shared understanding.提问格式模板Q1 - 标题: 问题内容推荐答案。给我的启示grilling 是乙方但决策权永远在甲方乙方负责查事实、给推荐甲方负责拍板。3. grill-with-docs有状态版访谈我的理解和 grill-me 跑同一个访谈但有状态——边聊边把结果沉淀成项目文档CONTEXT.md术语表 ADR决策记录。适合在真实的代码仓库里用访谈同时留下会议纪要。核心源码grill-with-docs/SKILL.md全文--- name: grill-with-docs description: A relentless interview to sharpen a plan or design, which also creates docs (ADRs and glossary) as we go. disable-model-invocation: true --- Call the Skill tool twice, for grilling and domain-modeling.关键差异 多调了一个domain-modeling核心这就是留下文档的来源。4. domain-modeling领域建模统一语言 记录决策我的理解CONTEXT.md 项目术语表只定义词怎么说、指什么不写实现细节例如 account 是指的是 admin 还是 userADR 架构决策记录写当初为什么这么定但不是所有决定都值得写两者都是边聊边生成术语一敲定就立刻写入不批量补核心源码domain-modeling/SKILL.md的 ADR 三条件——只有同时满足才写Only offer to create an ADR when all three are true: 1. **Hard to reverse**: the cost of changing your mind later is meaningful 2. **Surprising without context**: a future reader will wonder why did they do it this way? 3. **The result of a real trade-off**: there were genuine alternatives and you picked one for specific reasons If any of the three is missing, skip the ADR.CONTEXT.md should be totally devoid of implementation details. Do not treat CONTEXT.md as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else.给我的启示多数决定不用写 ADR按钮放哪、变量叫啥只有难逆转 无上下文会困惑 有真实权衡的才写。5. to-spec把对话合成合同我的理解grill 完之后把它对话 代码库理解综合成一份正式规格书并发布到 issue tracker打ready-for-agent标签。它不采访需要决策的信息在grill 阶段已经问完了这里只做整理成文。其中的方法论重点是测试接缝seams在哪一层测、尽量用现有 seam、能高则高、目标只有一个。核心源码to-spec/SKILL.mdThis skill takes the current conversation context and codebase understanding and produces a spec. Do NOT interview the user; just synthesize what you already know.2. Sketch out the seams at which youre going to test the feature. Existing seams should be preferred to new ones. Use the highest seam possible. If new seams are needed, propose them at the highest point you can. The fewer seams across the codebase, the better - the ideal number is one. Check with the user that these seams match their expectations.规格书模板包含Problem Statement → Solution → 长篇 User Stories → Implementation Decisions → Testing Decisions → Out of Scope → Further Notes。给我的启示to-spec才是合同本体技术总监/产品经理的交付物不是 grill 的自动产物需要手动触发。6. to-tickets把合同拆成施工工单我的理解把 spec/对话拆成一组tracer-bullet 垂直切片工单每张票切一条COMPLETE 路径schema API UI 测试单独可验证/可 demo每张票声明blocking edges被谁阻塞无阻塞的票可立即开工发布方式取决于 tracker 配置本地 →.scratch/feature/issues/NN-*.md真实 tracker → 原生 blocking 关系特殊规则宽重构一个机械改动波及全代码库用 expand–contract 序列不硬塞垂直切片核心源码to-tickets/SKILL.mdvertical-slice-rules - Each slice cuts a narrow but COMPLETE path through every layer (schema, API, UI, tests): vertical, NOT a horizontal slice of one layer - A completed slice is demoable or verifiable on its own - Each slice is sized to fit in a single fresh context window - Any prefactoring should be done first /vertical-slice-rulesWork the **frontier**: any ticket whose blockers are all done. For a purely linear chain that means top to bottom. Do NOT close or modify any parent issue.给我的启示并行开发 按 frontier 推进不是无脑并发依赖图由 blocking edges 显式给出。7. 流程串起来甲方乙方类比graph LR A[甲方: 我br/抛出一个想法] -- B[grill-me / grill-with-docsbr/乙方逼问 逼出所有决策] B --|边聊边记| C[CONTEXT.md ADRbr/术语表 / 决策记录] B -- D[to-specbr/综合成正式合同 发布 tracker] C -- D D -- E[to-ticketsbr/拆成带依赖的施工工单] E -- F[agent 按 frontier 并行施工]grill-me 乙方无状态访谈不留档grill-with-docs 乙方 会议纪要写 CONTEXT.md / ADRto-spec 把纪要整理成正式合同产品/技术负责人视角to-tickets 把合同拆成带依赖的工单agent 可并行认领8. 安装建议官方插件Claude Codeclaude plugins install mattpocock-skills整包安装、自动更新无法只挑几个最小自洽集只想访谈npx skillslatest add mattpocock/skills建议安装grilling domain-modeling grill-me grill-with-docs setup-matt-pocock-skills只在走 spec/tickets/tracker 流程时才需要