generic-grill-me · git:20260930.3549bbd · 2026-09-30 · sha256 a917e6532eca62e3
generic-grill-me git:20260930.3549bbdA
Immutable. This exact content never changes and is served at /api/v1/blob/a917e6532eca62e3.
--- 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 和权限。** 它只决定“先问后做”,不放宽任何操作权限。 ## 故障处理 | 问题 | 处理方式 | | --- | --- | | 用户不想回答太多问题 | 说明每类未确认项猜错的代价,让用户选择:继续回答,或对某些事项明确授权你决定。授权要记入清单。 | | 用户的回答互相矛盾 | 指出矛盾的两处原话,请用户选一个。 | | 用户回答后又改主意 | 更新台账。检查这次改动是否让已确认项失效,失效的重新提问。 | | 无法向用户提问(非交互环境) | 不执行。输出完整的待确认问题列表和推荐项,说明需要用户回复后才能继续。 | | 执行中发现清单漏了内容 | 停止。只问这个新缺口,补进清单,再继续。 |