---
name: grill-me
description: 'Stress-test a plan, design, or decision when the user explicitly asks to be grilled, challenged, or interviewed about assumptions, trade-offs, and unresolved requirements.'
zh_description: "对方案、设计和关键决策进行追问，检验假设、取舍与遗漏的需求。"
version: "1.0.0"
author: "Matt Pocock; seaworld008 (portable adaptation)"
source: github:mattpocock/skills
source_url: https://github.com/mattpocock/skills/tree/6acc160e4e0cd062dbbbd7a1b26ae92855edf07e/skills/productivity/grilling
license: MIT
tags: [planning, requirements, design-review, decision-making, interview]
created_at: "2026-09-30"
updated_at: "2026-09-30"
quality: 3
complexity: intermediate
disable-model-invocation: true
---

# Grill Me：方案追问与决策压力测试

把模糊的方案拆成有依赖关系的决策树，持续追问最有价值的未知项，直到双方对目标、约束、取舍和验收标准形成可核对的理解。
严谨针对方案，不针对人；指出矛盾和证据缺口，不用羞辱、争辩或问题数量来体现“强度”。

## 触发条件

用户明确说“grill me”“拷问一下这个方案”“挑战我的假设”“带我把需求问清楚”，或要求交互式设计审查时使用。
输入可以是 PRD、架构草案、迁移计划、产品想法、上线决策或一段尚未成型的描述。
仅要求安装、收录、审计或介绍这个技能，不代表用户要开始接受追问。
普通事实查询、已有明确验收标准的执行任务、紧急止损，不自动切换成访谈。

## 先建立决策树

先读取用户给出的方案及可用的项目证据，提取已确定的事实和决策。
用用户已有答案填树，不重新问预算、目标、技术栈等已明确的信息。
给每个会改变实现或验收的决策一个稳定编号，记录其前置条件和状态。
推荐状态：`settled`、`open`、`needs-evidence`、`deferred`、`out-of-scope`。
事实和偏好分开：代码是否支持回滚是事实，能接受多长回滚时间是决策。

```text
D1 目标：在报名高峰保持可用                 settled
├─ D2 可接受的数据损失和恢复时间             open
│  └─ D4 迁移、切换与回滚策略                blocked by D2
├─ D3 峰值流量及压测证据                    needs-evidence
│  └─ D5 容量与扩容阈值                    blocked by D3
└─ D6 本次是否包含跨地域容灾                 open
```

树只覆盖本次决策范围，不无限扩展成整个组织的战略审查。
优先检查不可逆选择、高风险假设、失败代价和验收缺口，再处理可逆的小偏好。

## 按依赖关系组织每一轮

当前可问集合（frontier）是前置条件已经解决、现在回答不会依赖猜测的所有决策。
同一轮可以包含互相独立的问题；依赖本轮其他答案的问题放到下一轮。
每个问题提供建议答案和简短理由，但明确这是建议，不代替用户做价值判断。
用户要求一次只问一个时，按影响与不确定性排序，每轮取最重要的一项。
可问集合很大时按主题分批，并列出尚未讨论的分支，避免把长问卷直接倾倒给用户。

```text
Q1 — 数据损失：切换失败时，是否允许丢失已确认成功的报名记录？
建议：不允许。将“已确认成功”定义为持久化提交成功，并纳入切换验收。

Q2 — 交付范围：这次是否必须具备跨地域容灾？
建议：先把同地域切换与回滚做实；跨地域作为单独里程碑，除非合同明确要求。
```

提问后等待本轮答案；不要替用户编造回答，也不要提前把下游设计当成已确定。
把答案更新到树中，说明哪些新问题因此解锁，再继续下一轮。
答案与此前决策冲突时，指出具体冲突和影响，询问应修订哪个决策。
答案不完整时只补问影响结论的部分，不重发整轮问题。

## 自己查事实，让用户做决定

能从仓库、配置、日志、文档或已连接工具查到的事实，先自行核对。
查不到时说明缺少的证据和它影响的决策，不把猜测包装成环境事实。
只有当前宿主实际提供子代理能力时才委派独立的只读调查；没有该能力就直接调查。
调查内容独立且工具允许时可以并行；否则顺序执行，不声称存在未启动的后台调查。
与待查事实无依赖的其他问题可以继续，相关分支保持 `needs-evidence`。
访问私人数据、运行命令、写入系统仍受用户授权和宿主权限约束。

## 用反例检验方案

对每个关键选择至少检查一个可能推翻它的条件，而不是机械地套用所有问题。

| 维度 | 有价值的追问 | 要得到的产物 |
|---|---|---|
| 目标 | 什么结果发生后，用户会认为这次投入值得？ | 可观察的成功标准 |
| 约束 | 哪个约束不可突破，哪个只是当前偏好？ | 硬约束与可协商项 |
| 证据 | 支撑这个容量、成本或收益判断的资料是什么？ | 来源或待验证假设 |
| 替代方案 | 不做、延后、缩小范围会怎样？ | 被放弃选项及理由 |
| 失败 | 最可能在哪一步失败，怎样发现并退出？ | 失败信号与恢复条件 |
| 验收 | 谁在什么环境下，用什么数据判定完成？ | 可重复的验收方式 |

数字建议必须注明依据或假设；不要把示例中的阈值变成用户系统的真实 SLO。
业务决定、风险接受和范围承诺归用户；可检索事实和技术推导由执行者提供证据。

## 收敛与交付

可问集合为空不等于所有问题都“已解决”：检查是否仍有未知前置条件、循环依赖或刻意跳过的分支。
循环依赖先找可逆的临时假设或最小实验，把“待验证”保留在输出中。
用户要求停止、缩小范围或先给结论时，及时收束，不坚持无限追问。
最终输出包括：方案目标、已确定决策、关键取舍、未解决项、验收标准和建议下一步。
每个未解决项写清影响、需要的证据及负责人（仅在已知时），不虚构完成日期。
只在当前授权覆盖实施且重大阻塞项已解决时进入执行；访谈本身不是部署、购买或删除的授权。
已有明确授权不必为每一个实现细节再设审批流程。

```text
方案理解
- 目标：报名高峰可用，已确认记录不得丢失。
- 已决定：本期同地域高可用；跨地域暂不纳入范围。
- 取舍：先验证切换正确性，再讨论横向扩展。
- 尚未解决：峰值写入曲线缺失，容量结论仍待压测。
- 验收：重放约定流量并注入切换故障，核对成功回执与持久化记录。
- 下一步：补齐流量证据后确定压测方案；当前不执行生产变更。
```

## 跨 Agent 使用和来源

本入口包含完整方法，不要求另行安装名为 `grilling` 的技能，不依赖某个专有 `Skill` 工具。
`disable-model-invocation` 是支持该字段的宿主中的显式调用提示；其他宿主仍按上面的触发边界使用。
参考 [决策树工作表](references/decision-tree-template.md) 记录多轮访谈，按需加载而不是在每轮重复全文。
上游稳定版 `mattpocock/skills v1.2.3` 固定在 `6acc160e4e0cd062dbbbd7a1b26ae92855edf07e`。
上游 `grill-me` 只是入口，实际方法位于 `grilling`；两者的原文保留在引用文件中供来源审计，不是本地运行入口。
本地中文说明、宿主降级、停止条件与示例是仓库适配，不声称是 Matt Pocock 的新版本。
版权和许可见 [上游 MIT 许可](LICENSE.upstream.txt)。
