mcpField
G
grill-me

grill-me

github.com/tkerseyAgent 工作流69122 次安装今天更新
代码仓库

关于 grill-me

grill-me 是一项 Agent 技能,用于在规划或实施前梳理并解决需要用户决定的重要事项。它区分可研究事实、模型可定的默认选项、用户判断和需观察验证的问题,只询问必要事项。

主要功能

  1. 01梳理决策归属与依赖关系
  2. 02提问前先研究可查事实
  3. 03优先处理重要前置决策
  4. 04将实证未知项转为探测
  5. 05判断事项解决后停止提问

适用场景

  1. 01规划前澄清需用户决定的事项
  2. 02确定范围或政策选择
  3. 03区分技术默认项与用户判断

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tkersey/dotfiles --skill grill-me

安装后在 Claude Code 中输入/grill-me确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
probe-catalog.md
question-interface.md

详细介绍

向我提问

使命

$grill-me 会在规划或实施前,缩小尚未解决的用户自主判断范围。

它不会追求覆盖尽可能多的问题,而是找出真正需要用户授权的最少决策,按依赖关系排序,并且只询问当前既重要又能回答的问题。

research discoverable facts
-> resolve model-owned choices
-> order user-owned decisions by prerequisite
-> ask the material current frontier
-> route observational unknowns to evidence
-> return control when the frontier is empty

触发边界

明确提出 $grill-me、“向我提问”或等效请求,即授权进行严格追问。

只有在以下条件全部满足时,才允许隐式触发:

  • 某项决策实质性地阻碍了所请求的结果;
  • 无法从现有证据中发现答案;
  • 模型无法将该选择安全地作为技术综合判断或可逆的默认选项来处理;
  • 用户拥有作出该决策所需的权限或价值判断。

不要仅仅因为任务困难、后果重大、涉及架构、实现细节不够明确,或还可以进一步讨论,就抢占对话回合。

如果证据支持某个明确占优的技术选择,安全的可逆默认选项已足够,剩余的不确定性仅限于实现细节,或请求所需的决策已经完整,就保持沉默,让负责的工作流继续。

权限规则

Artifacts own facts.
The model owns research, technical synthesis, and reversible defaults.
The user owns values, scope, policy, risk acceptance, public compatibility breaks,
and other irreversible or authority-bearing commitments.
Observation owns questions that neither analysis nor preference can honestly settle.

绝不要把模型的工作推给用户。存在多个技术选项,本身并不意味着选择权属于用户。

当用户委托某项决策时,应将其记录为模型负责的选择或默认选项,并说明理由;不要把用户被动接受说成是用户独立提出的要求。

工作状态

仅维护以下内容:

authoritative_ask
locked_decisions
material_judgment_graph

图可以是树、DAG,或一小组相互关联的决策。每个候选决策包含:

id
owner: model | user | observation
prerequisites
material consequence
status: unresolved | locked | defaulted | observation-needed | pruned

已发送且等待回复的问题,应在其现有决策节点上标记为待处理, 并保留已发送问题的上下文。待处理是交付元数据:决策状态 仍为 unresolved。已确认的交付失败不会将问题标记为待处理。

不要创建通用的阶段矩阵、就绪确认单或并行摘要状态。

工作流

1. 确定权威请求

从对话和提供的材料中还原最新的明确目标、范围、非目标、已接受的约束,以及要求的停止点。

不要重复询问用户已经回答过的开场问题。

2. 提问前先研究

在相关情况下,检查现有代码、文档、工单、计划、测试、日志、架构、配置、运行时证据、先前讨论和当前外部事实。

研究应按依赖关系进行,而不是全局阻塞:

  • 如果某项待决决策取决于尚未确定的事实,就研究该事实;
  • 只暂缓该事实的后续决策;
  • 继续处理前置条件已确定且相互独立的待决决策。

绝不要向用户询问可直接查明的事实。只有当无法获取的私有事实很重要,且没有获授权的来源能够提供时,才询问用户。

3. 构建重要判断图

对于每个尚未解决的候选决策,按以下顺序判断:

  1. 可查明——进行研究。
  2. 模型负责——根据证据作出选择或建议;说明会造成重要影响的默认选项。
  3. 观察负责——找出能作出判断的最小探测。
  4. 用户负责——只有在不同答案会实质性改变下游可接受结果时才保留。
  5. 剔除——移除可逆、仅限实现、本时点过早、重复、已被涵盖或无关紧要的分支。

如果某项用户负责的决策可能改变以下至少一项,则该决策具有实质影响:

target or scope
non-goals
source of truth or authority
public behavior or compatibility
accepted risk or policy
irreversible commitment
success criterion or proof boundary
rollout, rollback, or operational ownership
4. 计算当前决策前沿

当前前沿仅包含前置条件已确定、尚未解决且由用户负责的决策。

待答问题仍属于该前沿,并会阻塞依赖它们的决策,但不得再次发送。仅选择尚无待处理交付的问题。

不要提出依赖其他未解决答案的问题。先锁定前置决策,再重新计算决策图。

当前沿包含超过三个决策时,优先询问下游影响最大、不可逆性最高、答错风险最大或最能裁剪后续分支的一个至三个决策。

5. 精确提问

仅在必须提问时阅读 references/question-interface.md。

问题必须:

  • 具有原子性,并使用稳定的 snake_case id 标识;
  • 每轮限一至三个问题;将已待答的问题计入总数,待处理问题最多三个,并遵守宿主环境规定的更严格的每次调用或每轮限制;
  • 在合理选项能够涵盖答案范围时,提供有限选项;
  • 明确说明每个选项的后果;
  • 仅提供足以解释为何接下来要问此问题以及它将决定什么的局部上下文。

仅当证据或已锁定的优先级能够独立支持建议时,才推荐某个选项。对于真正属于价值判断的选择,不要凭空给出建议。

确认已送达、保持沉默以及界面预选都不会锁定或默认某项决策、授予批准,也不会开启下一轮提问。等待回复期间,仅继续开展独立且已获授权的工作;暂停依赖该回复的结论和操作。对于独立的澄清请求,这意味着只进行研究和证据收集,不做规划或实施。

没有独立工作可继续时,通过宿主环境或调用方支持的机制暂停,并明确显示尚未解决的依赖。不要轮询、重新发送问题、凭空制造无关工作,或声称澄清已完成。

6. 收到每个答案后重新计算

根据回复所对应的概念决策及已发送问题的上下文进行匹配,而不是按到达顺序处理。更新决策图之前,先依据最新的权威提问核对回复。不完整的回复会使未答决策继续处于待处理状态。回复完成核对,或问题被取代或裁剪后,清除待处理标记。对已过时问题的迟到回复,不得暗中恢复旧范围或解决其他决策。

然后更新已锁定的决策,检测新引入的范围或依赖,裁剪已被涵盖的分支,并展示下一个前置条件已满足的决策前沿。

只有当尚未解决的答案需要实质性澄清时,才复用同一概念 id;不要仅因尚未收到回复就重新提问。

用户明确更改目标、范围、约束或授权时,应更新相关内容并重新计算受影响的决策,无需让用户确认同一选择。只有当答案仍留下实质性冲突,或模型的推断会产生新的、由用户负责的承诺时,才提问。问题待答期间,继续开展独立且已获授权的工作。

7. 按比例进行压力测试

明确要求严格审视,表示授权进行压力测试,而非不加区分地追求面面俱到。

如果某项决策一旦出错代价高、过度自信、内部不一致,或可能掩盖了错误的问题层面,则使用最有力的相关矛盾、反例、失败情景或二阶后果。不要对每项决策都逐一进行所有探查。

仅在需要更深入的领域问题或压力测试提示时,阅读 references/probe-catalog.md。

8. 尊重观察边界

有些重要问题无法通过对话解决。例如交互体验、用户理解程度、实际性能、集成可行性,以及判别依据只有在原型、基准测试、跟踪记录或评估中才可见的选择。

对于由观察决定的事项,请说明:

decision
smallest reversible probe
discriminating observation
choices unblocked by the result

暂缓该分支。不要反复改写问题、要求用户猜测,也不要悄然把不确定性转化为确定性。

9. 当前沿为空时结束

没有可发送的问题,并不意味着判断前沿为空。 仍有适用的重要问题等待答复时,不得结束。

结束条件:

  • 不存在尚未解决且前置条件已满足、由用户决定的重要事项;
  • 其余所有未解决分支都只能因明确的观察前置条件而受阻,已明确标记为非阻塞,或已被剪除;
  • 不存在未经批准、偏离权威请求的情况。

无需遍历所有可能的设计分支。当用户的更多答复已无法实质性改变当前可接受的下游结果时,就应停止。

仅当综合结果改变或重新界定了权威请求、多个高风险决策相互影响,或某项推断正被提升为由用户承担的承诺时,才进行最终确认。用户已明确敲定结果时,不要再增加一轮确认。

组合与输出归属

当其他工作流调用 $grill-me 时,持久化、架构、回执、就绪状态、续接和最终输出均由该工作流负责。以调用方的原生状态返回已敲定的判断、受观察约束的分支和任何待处理的依赖项。存在待处理依赖项时让出控制权,不代表已经结束; 调用方可以继续进行已获授权的独立工作,但不得将这些依赖项视为已解决。

$grill-me 绝不会断言 plan_allowed、输出通用决策包,或转换成第二份相互竞争的交接文档。

单独调用时,只输出一份简洁结果:

Clarified Brief
- Objective:
- Scope:
- Non-goals:
- Locked user decisions:
- Model-owned choices and defaults:
- Success / proof boundary:
- Observation-bound decisions:
- Remaining nonblocking unknowns:
- Recommended next owner:

如果用户只要求澄清,就在澄清后停止。如果用户的请求已授权在澄清后继续规划或实施,则依据已敲定的决策继续工作;无需再次调用或确认。

行为不变量

  • 完整的需求说明不会产生任何问题。
  • 可从仓库中找到答案的问题应触发研究,而非盘问。
  • 占主导地位的技术选择由模型决定。
  • 可逆的歧义应给出明确的默认值,而不是让用户来回确认。
  • 真正的权限决策应通过一个具有明确后果的原子化问题提出。
  • 前置决策应先于其下游决策提出。
  • 观察到的未知事项应形成探查边界,而不是施加更多言语压力。
  • 明确要求的深入询问仍须严谨,但严谨程度应以改变的决策衡量,而非问题数量。
  • 隐式调用绝不会因缺少重要的用户决策而阻止直接执行。
  • 单独调用时的结束以唯一事实来源为准;嵌入其他工作流时的结束以调用方的事实来源为准。

硬性规则

  • 自然语言交互使用用户的语言;稳定 ID 和机器键保持不变。
  • 不要询问可查明的信息。
  • 当有限的决策选项或证据已足够时,不要要求用户重述需求说明或撰写提示词/示例。
  • 不要把技术综合工作推给用户。
  • 不要在提出前置决策前先询问其下游决策。
  • 不要把被动同意误认为用户主动表达的意图。
  • 没有独立依据时不要提出建议。
  • 到达观察边界后不要继续追问。
  • 不要将穷尽式覆盖等同于决策完整。
  • 当此技能负责单独调用的当前轮次时,不要进行规划或实施。

评论

支持 Markdown