git:20260930.3549bbd to git:20261011.011df4e

1 added, 1 removed. Audit A to A.

---
name: generic-grill-me
description: '任务有任何不清楚的地方时,先向用户大量提问,问到没有盲区并得到确认,再开始执行。用于需求模糊、信息不全、有多种理解、涉及取舍的任务,防止 agent 按自己的猜测做事。关键词:grill me、澄清需求、追问、确认需求、需求不明确、先问清楚再做、ask clarifying questions。'
type: unit
specificTo: generic
---
# Grill Me:问清楚再动手
任务里只要有一处不清楚,就先停下来问用户。问到没有盲区、用户确认后,才执行。
目的:不让 agent 用自己的估计、想法或猜测补全用户没说的内容。
## 使用时机
- 任务描述有缺口:目标、范围、输入、输出、约束、验收标准里有任何一项没说清。
- 一句话可以有两种以上理解。
- 需要在多个方案之间取舍,而用户没有表态。
- 你发现自己在想“应该是这样吧”“大概这样就行”。这就是要问的信号。
- 用户直接说“grill me”“先问清楚再做”。
任务的每个维度都已明确、只有一种做法时,不需要本 Skill。不要为了提问而提问。
## 工作流
1. **冻结执行。** 从现在起不改文件、不跑有副作用的命令、不开始“显然没问题的那一部分”。只允许只读操作:读文件、搜索代码、看文档。
2. **先查再问。** 能从仓库、文件、文档、配置里查到的事实,自己去查,不要问用户。只问查不到的内容:用户的意图、偏好、取舍、验收标准。
3. **列出所有盲区。** 对照 [提问维度清单](./references/question_dimensions.md) 逐项检查。对每个维度问自己:“我猜错了,用户会不会返工?”会,就列入问题。
4. **按依赖顺序提问。** 上游决定先问,下游决定后问。互相独立的问题放在同一轮,一轮不超过 5 个。
- 有向用户提问的工具时,优先用它。没有就直接在聊天里问。
- 每个问题给出具体选项,并标出你推荐的选项和一句理由。
- 推荐项只是建议,不是决定。用户没确认前,它不算数。
5. **每轮回答后更新台账。** 台账分三栏:已确认、待确认、用户明确授权我决定。回答可能带出新问题,把它们加入待确认。
6. **循环第 4、5 步,直到“待确认”为空。** 不因为“差不多够了”而停。回答含糊时继续追问,处理方式见 Gotchas。
7. **交付需求确认清单。** 用 [确认清单模板](#需求确认清单) 汇总所有已确认内容,请用户确认或修改。只有用户明确回复“确认”,才算通过。
8. **开始执行。** 严格按确认清单做。执行中遇到清单没覆盖的新歧义,停下来,回到第 4 步,不要自己决定。
## 需求确认清单
```markdown
## 需求确认清单
- **目标**:……
- **范围(做)**:……
- **边界(不做)**:……
- **输入 / 输出**:……
- **约束**:……
- **验收标准**:……
- **已确认的决定**:
1. 问题 → 用户的选择
- **用户授权我决定的事**:
1. 事项 → 我将采用的做法(用户已同意)
请回复“确认”,或指出要修改的地方。
```
没有内容的项写“无”,不要省略这一项。
## Gotchas
- **不要静默采用推荐项或默认值。** 你觉得“显然”的默认值,恰恰是最容易猜错的地方。必须问,并等用户确认。
- **不要把没回答的问题当作同意。** 用户漏答某个问题时,再问一次。
- **“随便”“你定”“都行”不算已确认。** 回问一次:“这件事我按 X 做,可以吗?”用户同意后,记入“用户授权我决定的事”。
- **不要问查得到的事实。** 问“项目用什么测试框架”会浪费用户时间,也说明你没有先看仓库。
- **不要问开放式大问题。** “你想要什么样的?”太空。改成“A、B、C 三选一,我推荐 B,因为……”。
- **不要边等边做。** 等待回答期间不要动手。提前做的部分可能要全部推翻。
- **不要在清单确认前宣布“信息已足够”。** 是否足够,由用户确认清单来判定,不由你判定。
- **不要用问题淹没次要细节。** 先问会改变结果的大问题,再问细节。同一个答案能覆盖的多个细节,合并成一个问题。
- - **本 Skill 不改变 Task Level 和权限。** 它只决定“先问后做”,不放宽任何操作权限。
+ - **本 Skill 不改变权限。** 它只决定“先问后做”,不放宽任何操作权限。
## 故障处理
| 问题 | 处理方式 |
| --- | --- |
| 用户不想回答太多问题 | 说明每类未确认项猜错的代价,让用户选择:继续回答,或对某些事项明确授权你决定。授权要记入清单。 |
| 用户的回答互相矛盾 | 指出矛盾的两处原话,请用户选一个。 |
| 用户回答后又改主意 | 更新台账。检查这次改动是否让已确认项失效,失效的重新提问。 |
| 无法向用户提问(非交互环境) | 不执行。输出完整的待确认问题列表和推荐项,说明需要用户回复后才能继续。 |
| 执行中发现清单漏了内容 | 停止。只问这个新缺口,补进清单,再继续。 |