1实现原理 · 为什么它能做到
grill-me 本身是纯委托壳:整个 SKILL.md 正文只有一句『Call the Skill tool with "grilling".』,所有拷问行为都由同仓库的 grilling skill(model-invoked 原语)实现。
skills/productivity/grill-me/SKILL.md
Call the Skill tool with "grilling".
注:宿主在用户输入 /grill-me 时把同一会话切换到 grilling 的指令集执行——这是本仓库『user-invoked 编排层 + model-invoked 复用原语』架构的标准做法(grill-with-docs 同理,只是多调一个 domain-modeling)。
触发面被收窄为仅用户显式调用:Claude Code manifest 与 Codex manifest 双份关闭模型自动调用。
skills/productivity/grill-me/SKILL.md
disable-model-invocation: true
注:同一机制在 agents/openai.yaml 以 policy.allow_implicit_invocation: false 表达;AGENTS.md 规定 user-invoked skill 必须两者配对,保证 agent 不会在用户没喊 /grill-me 时自己开始拷问。
拷问的引擎是 design tree + frontier rounds:把待决策问题建成依赖树,每一轮只问『前置已定、现在就能答』的整层 frontier,而不是逐问深挖。
skills/productivity/grilling/SKILL.md
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 haven't heard yet.
注:这里在做什么:用依赖排序保证不问出『取决于还没听到的答案』的问题;整层一次问完减少来回轮数。每轮答案会重塑树,把 frontier 向外推并解锁被阻塞的问题(同段下文 'settled decisions push the frontier outward and unblock questions that depended on them')。
每题强制附带模型自己的推荐答案,并给死输出格式(编号 ❓ + ➡️ 推荐答案),要求一轮问完就停、等用户答完再进下一轮。
skills/productivity/grilling/SKILL.md
Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.
注:格式模板(❓ **Q1** - **<question title>**: … / ➡️ <your recommended answer>)内嵌在 SKILL.md 正文代码块里。逼模型对每个问题表态而非假装中立,用户可以直接同意/反驳推荐答案,表态成本低、收敛快。
职责硬性分离:事实查证归 agent(必要时派 sub-agent 去环境里查,且不阻塞本轮其余问题),决策归用户。
skills/productivity/grilling/SKILL.md
Finding _facts_ is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent to find it; don't ask the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite, so only the questions downstream of it wait for the sub-agent to report; ask the rest of the frontier now. The _decisions_ are the user's: put each to them and wait.
注:这里在做什么:允许并行派 sub-agent 查文件系统/工具事实,前台继续问不受影响的 frontier——既不把查证负担甩给用户,也不让探索阻塞对话。sub-agent 能力依赖宿主支持,skill 本身不含任何脚本。
终止条件与行动门禁显式化:frontier 空即会话结束;在用户确认达成 shared understanding 之前 agent 不得动手实施。
skills/productivity/grilling/SKILL.md
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.
注:防止『问着问着就开始写方案』的越界:拷问产出的是决策共识,实施要等用户放行。
stateless 定位:grill-me/grilling 两目录只有 SKILL.md 与 agents/openai.yaml,全文无任何文件写入指令;docs 页明确『writes no files』,仓库内定位为『非代码用途/无工作目录』入口。
skills/engineering/ask-matt/SKILL.md
**`/grill-me`**: the same relentless interview as `/grill-with-docs`, but **stateless**: it saves nothing locally and builds no `CONTEXT.md`.
注:与 grill-with-docs 的唯一实质差别是状态:后者同跑 grilling 但会写 CONTEXT.md/ADR(所以工程会话被引导用 grill-with-docs)。
2核心能力
01用户显式入口的『拷问式』需求澄清(/grill-me,仅人可触发)
02依赖感知的分轮提问:每轮问完整 frontier,不提前问依赖未决的问题
03每题附模型推荐答案(❓/➡️ 固定格式),用户可低成本表态或反驳
04agent 自主查证:派 sub-agent 查环境事实,用户只做决策
05显式收敛与行动门禁:frontier 空才结束,用户确认 shared understanding 前不实施
06无状态、可移植:不写文件、不需要仓库,主题不限于代码
4风险提醒 风险提醒:绿色 · 放心使用
风险提醒:绿色 · 放心使用
- 收敛质量依赖模型提问水平,且会话长度无硬上限 — docs 页自述普通会话 46 问/4 轮,主题过大可能 200+ 问并漂入 'dumb zone';推荐答案+连续同意可产生虚假收敛(confident nonsense),用户需主动反驳/推回。
- 推荐答案构成锚定/引导 — 每题强制 ➡️ 推荐答案,被动用户容易被 agent 立场带着走;docs 页明确把 'passivity' 列为失败模式。
- sub-agent 授权以宿主权限读环境 — grilling 指示 agent 可派 sub-agent 查文件系统/工具事实;读取范围取决于宿主对该会话的工具授权,宿主需自行约束(skill 本身不含任何危险指令)。
- 无内置安全边界,纯靠宿主与模型 — 这是纯 prompt skill 的共性:一切行为经宿主执行,本 skill 不声明也不实现任何权限/沙箱。
风险提醒:绿色,放心使用。纯指令型 skill:无脚本执行、无网络外发、无凭证读取、无本地文件写入;且 grill-me 双清单(disable-model-invocation: true + allow_implicit_invocation: false)仅限用户显式调用。注意点仅为对话性引导/锚定与 sub-agent 读环境的宿主权限边界,均不构成代码级风险。
5第二遍独立确认
- [ok] grill-me 正文仅一行委托 grilling — SKILL.md 正文逐字为 'Call the Skill tool with "grilling".',无其他指令。
- [ok] 仅用户可触发(disable-model-invocation + allow_implicit_invocation: false 双清单) — 两 manifest 均存在且取值正确;productivity/README.md 对 User-invoked 组的说明与本 skill 配置逐字吻合。
- [ok] design tree / frontier rounds 机制 — grilling SKILL.md 原文含 'design tree'、'frontier'、'Recompute the frontier and ask the next round' 等全部机制描述,无夸大。
- [ok] 每题带推荐答案与固定格式 — 原文 'number each question and give your recommended answer' + ❓/➡️ 代码块模板均在。
- [ok] facts=agent(sub-agent 查证)、decisions=user — 原文整段存在;sub-agent 为宿主能力,非第三方依赖。
- [ok] 终止条件 + 用户确认门禁 — 原文 'The session is done when the frontier is empty…Do not act on it until the user confirms' 存在。
- [ok] 外部依赖清单为空 — 对 4 个文件扫描 URL/CLI/包/网络 token 零命中;grilling 只引用宿主通用能力(filesystem, tools, sub-agent),无可点名 CLI/API/端点。
- [ok] 无脚本/无文件写入/无凭证读取 — 文件清单仅 4 个 manifest/markdown 文件;写文件类 token(write/create file/save/append)零命中;docs 页自述 'writes no files' 与源码一致。
6结论
适合:适合动工前把模糊想法拷问成可承诺决策的任何场景,尤其无仓库/非代码议题(产品方向、写作、业务决策);也适合想复用该提问机制的 skill 作者照抄 grilling 原语。在 Claude Code 里 /grill-me 在全新会话中启动效果最好(docs 建议 fresh conversation)。
不适合:不适合已有精确规格、无需提问的场景(docs:'If you can already specify the thing precisely, you don't need to grill it');不适合需要留下文档痕迹的工程会话(应选会写 CONTEXT.md/ADR 的 grill-with-docs);不适合需要实物反馈的问题(ungrillable 问题应转 prototype);不适合期望 skill 自动验证事实或写文件的场景——它只问不查不写。
安装 agent 直装可复制
① 本站镜像 更新 2026-09-06
方式 A · 人下载镜像包下载 grill-me.tar.gz
sha256:
方式 B · JSON 格式安装指南,复制给 agente825a60d0e35dfb1…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② 上游 GitHub · 原始来源
来源信息 GitHub 原始
作者 / 仓库mattpocock / mattpocock/skills
原始 GitHubmattpocock/skills ↗
Stars253948
最近推送2026-09-04
本 skill commit
3cca18b368许可MIT(仓库根 LICENSE 文件;GitHub API spdx MIT;Copyright (c) 2026 Matt Pocock)
本站信息
收录日期2026-09-06
分类基础工具与工作流
侦查报告2026-09-06 · 2 遍
本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。