1仕組みと動作原理
grill-me 自体は純粋な委任ラッパー(シェル)です。SKILL.md 本文全体は「Call the Skill tool with "grilling".」の1行のみで構成され、すべての質問・深掘り動作は同一リポジトリ内の grilling スキル(モデル呼び出し用プリミティブ)によって実装されています。
Call the Skill tool with "grilling".
トリガー面はユーザーによる明示的な呼び出しのみに絞り込まれています。Claude Code マニフェストと Codex マニフェストの双方でモデルによる自動呼び出しが無効化されています。
disable-model-invocation: true
質問のエンジンは design tree + frontier rounds です。意思決定待ちの課題を依存関係ツリーとしてモデル化し、1問ずつ深掘りするのではなく、「前提条件が確定しており、今すぐ回答できる」フロンティア層全体のみを1ラウンドごとに質問します。
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.
各質問にはモデル自身の推奨回答を付与することが義務付けられており、厳格な出力形式(ナンバリングされた ❓ + ➡️ 推奨回答)が定められています。1ラウンド質問し終えたら停止し、ユーザーの回答を待ってから次のラウンドに進むことが求められます。
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.
責任の厳格な分離:事実の調査・検証はエージェントが担当し(必要に応じてサブエージェントを環境にディスパッチして調査させ、かつ今ラウンドの残りの質問をブロックしない)、意思決定はユーザーが担当します。
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.
終了条件とアクションゲートの明示化:フロンティアが空になった時点でセッションは終了します。ユーザーが共通理解(shared understanding)への到達を確認するまで、エージェントは実装作業に着手してはなりません。
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.
ステートレスな位置付け:grill-me および grilling の2つのディレクトリには SKILL.md と agents/openai.yaml しか存在せず、全文を通じてファイル書き込み命令は一切ありません。ドキュメントページにも「writes no files」と明記されており、リポジトリ内では「非コード用途/作業ディレクトリなし」のエントリポイントとして位置付けられています。
**`/grill-me`**: the same relentless interview as `/grill-with-docs`, but **stateless**: it saves nothing locally and builds no `CONTEXT.md`.
2コア機能
4推奨統制措置と判定根拠
- SKILL.md: スクリプト実行や外部影響を一切含まない、純粋なプロンプト指示およびルール定義テキスト
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結論
e825a60d0e35dfb1…