ワークフロー&基本ツール · mattpocock/skills

grill-me

計画や設計を研ぎ澄ますための徹底的なインタビュー。

L1 基本 · ソース登録のみV1 コミット固定Dual-pass Audit
Author mattpocockGitHub mattpocock/skills ↗Stars 253948License MIT(仓库根 LICENSE 文件;GitHub API spdx MIT;Copyright (c) 2026 Matt Pocock)Commit 3cca18b368
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

grill-me 自体は純粋な委任ラッパー(シェル)です。SKILL.md 本文全体は「Call the Skill tool with "grilling".」の1行のみで構成され、すべての質問・深掘り動作は同一リポジトリ内の grilling スキル(モデル呼び出し用プリミティブ)によって実装されています。

skills/productivity/grill-me/SKILL.md
Call the Skill tool with "grilling".
ユーザーが /grill-me を入力すると、ホストは同一セッションを grilling の命令セット実行へと切り替えます。これは本リポジトリの「ユーザー呼び出しオーケストレーション層 + モデル呼び出し再利用プリミティブ」アーキテクチャの標準的な手法です(grill-with-docs も同様で、domain-modeling を追加で1回呼び出す点のみが異なります)。

トリガー面はユーザーによる明示的な呼び出しのみに絞り込まれています。Claude Code マニフェストと Codex マニフェストの双方でモデルによる自動呼び出しが無効化されています。

skills/productivity/grill-me/SKILL.md
disable-model-invocation: true
同一の仕組みは agents/openai.yaml で policy.allow_implicit_invocation: false として表現されています。AGENTS.md は、ユーザーが /grill-me を明示的に指示していない段階でエージェントが勝手に質問攻めを始めないよう、ユーザー呼び出し型スキルにおいて両設定を対で記述することを義務付けています。

質問のエンジンは design tree + frontier rounds です。意思決定待ちの課題を依存関係ツリーとしてモデル化し、1問ずつ深掘りするのではなく、「前提条件が確定しており、今すぐ回答できる」フロンティア層全体のみを1ラウンドごとに質問します。

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.
ここで行われていること:依存関係のソートを用いて「まだ得られていない回答に依存する」質問を出さないように保証し、1層分を1度にまとめて質問することで往復のやり取り回数を削減します。各ラウンドの回答はツリーを再構成し、フロンティアを外側へと押し広げて依存していた質問のブロックを解除します(同セクション内の「settled decisions push the frontier outward and unblock questions that depended on them」に該当)。

各質問にはモデル自身の推奨回答を付与することが義務付けられており、厳格な出力形式(ナンバリングされた ❓ + ➡️ 推奨回答)が定められています。1ラウンド質問し終えたら停止し、ユーザーの回答を待ってから次のラウンドに進むことが求められます。

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 本文のコードブロックに埋め込まれています。中立を装うのではなく各課題に対する姿勢の表明をモデルに強制することで、ユーザーは推奨回答に同意または反論するだけで済むようになり、意思表明のコストが下がり迅速な収束が可能になります。

責任の厳格な分離:事実の調査・検証はエージェントが担当し(必要に応じてサブエージェントを環境にディスパッチして調査させ、かつ今ラウンドの残りの質問をブロックしない)、意思決定はユーザーが担当します。

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.
ここで行われていること:ファイルシステムやツール経由での事実確認のためにサブエージェントを並行してディスパッチすることを許可しつつ、フォアグラウンドでは影響を受けないフロンティアの質問を継続します。これにより、検証の負担をユーザーに押し付けることも、探索によって対話がブロックされることも防ぎます。サブエージェント機能はホスト側のサポートに依存し、スキル自体にはスクリプトは含まれません。

終了条件とアクションゲートの明示化:フロンティアが空になった時点でセッションは終了します。ユーザーが共通理解(shared understanding)への到達を確認するまで、エージェントは実装作業に着手してはなりません。

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.
「質問しているうちに勝手に実装案を書き始めてしまう」という越境を防ぎます。徹底的なヒアリングが生成するのは意思決定の合意であり、実装にはユーザーの承認が必要です。

ステートレスな位置付け:grill-me および grilling の2つのディレクトリには SKILL.md と agents/openai.yaml しか存在せず、全文を通じてファイル書き込み命令は一切ありません。ドキュメントページにも「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依存関係を考慮したラウンド制の質問展開:未解決の依存関係がある質問は前倒しせず、各ラウンドでフロンティア全体を提示
03全問にモデルの推奨回答を付加(❓/➡️ の固定形式)し、ユーザーが最小限の負担で賛同・反論可能
04エージェントによる自律的な事実確認:環境の調査にはサブエージェントを派遣し、ユーザーは意思決定に専念
05明確な収束条件とアクションゲート:フロンティアが空になるまで終了せず、ユーザーの共通理解(shared understanding)確認前は実装に着手不可
06ステートレスかつポータブル:ファイル書き込み不要、リポジトリ不要、コード以外のテーマにも幅広く適用可能

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
自動ロード可能
管理者向け
ソースとバージョンの記録
判定根拠(ファイルパスと抜粋)
  • SKILL.md: スクリプト実行や外部影響を一切含まない、純粋なプロンプト指示およびルール定義テキスト
監査ノート: 純粋な指示型スキルです。スクリプトの実行、外部へのネットワーク通信、クレデンシャルの読み取り、ローカルファイルの書き込みは一切行いません。さらに、grill-me の両マニフェスト(disable-model-invocation: true + allow_implicit_invocation: false)によってユーザーの明示的な呼び出しのみに制限されています。留意すべき点は対話的な誘導・アンカー効果およびサブエージェントが環境を読み取る際のホスト側の権限境界のみであり、いずれもコードレベルのセキュリティリスクには該当しません。

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結論

  • 構成可能性に優れた薄いラッパー設計:grill-me は1行の本文で grilling プリミティブをユーザー向けエントリポイント化しており、同一のプリミティブが複数のエンジニアリング向けスキルから単一の情報源として再利用されています。
  • アルゴリズム化されたインタビュー構造:frontier/rounds により「現時点で回答可能な」質問のみが1ラウンドで層ごとに漏れなく尋ねられ、終了可能性が保証されます(フロンティアが空になれば完了)。
  • 検証の負担をユーザーに転嫁しない:事実はエージェント/サブエージェントが調査し、各問に推奨回答が付くため、ユーザーは判断を示すだけで済みます。
  • 副作用ゼロかつ高いクロスホスト互換性:ステートレスでスクリプト・外部通信・ファイル書き込みを一切含まず、Claude Code と Codex の双方のマニフェストを備え、あらゆるモデルやテーマで利用可能です。
  • 越境を防ぐアクションゲート:ユーザーが共通理解を確認するまで実装が禁止されており、インタビューは意思決定の合意形成のみに専念します。
  • 最適な用途: 作業着手前に曖昧なアイデアを徹底的に問い詰めてコミット可能な意思決定へと昇華させたいあらゆる場面、特にリポジトリのない環境や非コードの議題(製品の方向性、執筆、ビジネスの意思決定など)に最適です。また、この質問メカニズムを再利用したいスキル作者が 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 を選択すべき)、実物のフィードバックが必要な課題(質問攻めで解決できない課題はプロトタイプ作成に移行すべき)、スキル自身による自動的な事実検証やファイル書き込みを期待する場面(本スキルは質問のみを行い、ファイル調査や書き込みは行いません)には適していません。
    Install Agent-Ready
    ① Verified Mirror 2026-09-06
    Option A · Direct DownloadDownload grill-me.tar.gz
    sha256: e825a60d0e35dfb1…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cca18b368.