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

grilling

計画、決定、またはアイデアについて容赦なく質問攻め(グリル)します。思考のストレステストを行いたい場合や、「grill」トリガーフレーズが使用された場合に使用します。

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

1仕組みと動作原理

リポジトリ内で唯一の model-invoked な grilling ファミリープリミティブ:frontmatter に disable-model-invocation をあえて含めず、openai.yaml にも policy ブロックが存在しないため、モデルや他の skill が自動呼び出し可能。リポジトリルールにより、ダブルマニフェストからの逆引きで model-invoked と判定される。

AGENTS.md
Every `SKILL.md` is either user-invoked (`disable-model-invocation: true` plus `policy.allow_implicit_invocation: false` in `agents/openai.yaml`, reachable only by the human) or model-invoked (model- or user-reachable).
同じリポジトリ内の user-invoked skill(例: grill-me の disable-model-invocation: true + allow_implicit_invocation: false の二重マニフェスト)と比較して、grilling はどちらも持たない → リポジトリの定義に従って model-invoked に分類され、上位 skill から Skill ツール経由で呼び出し可能。

尋問メカニズム = design tree + frontier rounds:意思決定を依存関係ツリーとしてモデル化し、各ラウンドでは「前提条件が確定しており、現在回答可能」なフロンティア層全体のみを質問。1ラウンド内の質問は相互に独立している。

skills/productivity/grilling/SKILL.md
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. 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.
行っていること:依存関係ソートを用いて「未確定の回答に依存する」質問を前倒しで尋ねないように制御。層全体を1ラウンドでまとめて尋ねることで往復ターン数を削減(docs によると約13問を約3ラウンドで処理)。

各質問にモデル自身の推奨回答を強制付与し、❓/➡️ の厳密なフォーマット番号で出力。ユーザーは番号に従ってラウンド単位でまとめて回答可能。

skills/productivity/grilling/SKILL.md
❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices> ➡️ <your recommended answer>
フォーマットテンプレートはインラインコードブロックとして SKILL.md 本文に記述。docs ページには既知の粗削りな点として、推奨回答が質問の文言と時折食い違うことがあり、その場合は「推奨回答を答えた上で説明を付記する」べきであると補足されている。

事実確認と意思決定権限の厳格な分離:facts(事実)はエージェントが担当(環境の事実は sub-agent を派遣して調査し、ラウンド内の残りの質問をブロックしない)、decisions(決定)はユーザーが担当。

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.
CHANGELOG 1.1.0 にはこの分割の動機が記録されている:他の skill が resolve-the-ticket フレームワーク内で grilling を実行する際、「ユーザーに代わって意思決定まで勝手に回答してしまう」(自問自答 = HITL の破壊)を防ぐため。

終了条件とアクションゲートの明示化:フロンティアが空になった時点でセッション完了。ユーザーが 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.
docs ページではこれを confirmation gate と呼ぶ:フロンティアが空になるだけでは不十分で、ユーザーの承認があって初めて完了となる。精度の低いモデルは「合意形成までの問い直し」を2〜3問とアウトラインの提示だけに縮退させてしまう可能性がある。

独立したエントリーポイントではなく再利用されるエンジン:README では grilling を Model-invoked としてリストし、複数の user-invoked/オーケストレーション skill における共通のインタビュープリミティブとして位置付けている。

README.md
**[grilling](./skills/productivity/grilling/SKILL.md)**: Interview the user relentlessly about a plan, decision, or idea until every branch of the design tree is resolved. The reusable interview primitive behind `grill-me`, `grill-with-docs`, `triage`, `wayfinder` and `improve-codebase-architecture`.
docs/productivity/grilling.md でも「It is the only skill in the grilling family that is model-invoked」と記載。ask-matt ルーティングページでは不足しているルーティングの修復対象として組み込まれている。

2コア機能

01model-invoked インタビュープリミティブ:ユーザーがスラッシュコマンドを入力することなく、モデルや上位 skill が必要に応じて自動呼び出し可能
02設計ツリー + フロンティア全体のラウンド一括質問(ナンバリング + 各問ごとの推奨回答付き)
03ユーザーの回答に応じて各ラウンドでフロンティアを再計算し、「現在回答可能」な下流の質問のみをアンロック
04事実調査を sub-agent に委任し、バックグラウンドでの探索中もラウンド内の他の質問をブロックしない
05明示的な収束とアクションゲート:フロンティアが空になり、かつユーザーが shared understanding を承認して初めて実装可能

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

安全運用のための推奨統制措置
Agent 向け
自動ロード可能
管理者向け
ソースとバージョンの記録
判定根拠(ファイルパスと抜粋)
  • SKILL.md: 純粋なプロンプト指示およびルールテキストのみで構成され、スクリプト実行や外部への影響は一切なし。
監査ノート: 純粋な指示型 prompt skill:スクリプト実行、外部ネットワーク通信、認証情報の読み取り、ローカルファイルへの書き込みは一切ありません。model-invoked であるため、合致する状況でモデルが自動利用できますが、その振る舞いは「質問して待機する」ことに限定されており、コードレベルの接触面は皆無です。留意すべき点は、推奨回答による対話的な誘導と、sub-agent が環境を読み取る際のホスト権限境界のみです。

5二重目の独立検証

  • [ok] model-invoked 判定(无 disable-model-invocation / 无 policy) — frontmatter 只有 name/description;openai.yaml 仅 interface 块;与 AGENTS.md 对 user-invoked 的定义(双清单)对照成立;README 明确列在 Model-invoked 组。
  • [ok] design tree / frontier rounds 机制存在 — SKILL.md 原文含 design tree、frontier、'Recompute the frontier and ask the next round' 全机制描述;docs 页解释一致。
  • [ok] ❓/➡️ 固定格式与推荐答案 — SKILL.md 内嵌代码块模板逐字存在;docs 页补充了『推荐答案与问题打架』的已知毛边。
  • [ok] facts=agent / decisions=user 分离 — 原文整段存在;CHANGELOG 1.1.0 #464 记录拆分动机,与现行文吻合。
  • [ok] 终止条件 + 用户确认门禁 — 原文 'The session is done when the frontier is empty…Do not act on it until the user confirms' 存在。
  • [ok] 外部依赖清单为空 — 2 文件 token 扫描零命中;SKILL.md 只引用宿主通用能力(filesystem、tools、sub-agent、Skill tool),无可点名 CLI/API/网络端点。docs 页内的 aihero.dev/字典链接是说明性 URL,非被调用端点。
  • [ok] 无脚本/无写入/无凭证 — 文件清单仅 2 个;写文件类 token 零命中;无 env/keychain/文件凭证读取指令。
  • [ok] 被复用叙事与仓库一致 — README 点名 grill-me/grill-with-docs/triage/wayfinder/improve-codebase-architecture 复用;docs/engineering/ask-matt.md 将其列为路由修复项,均与 SKILL.md 是薄原语一致。

6結論

  • 再利用可能なプリミティブアーキテクチャ:単一の質問攻めメカニズムが5つ以上の上位 skill に再利用されており、それぞれで質問ロジックを再実装する必要がない。
  • アルゴリズム的な質問構造:frontier/rounds により、回答可能な質問のみを漏れなく1ラウンドでまとめて尋ね、確実に終了可能。
  • 調査負担をユーザーに押し付けない:facts は sub-agent に委任し、各問に推奨回答を添えることで、ユーザーは意思表示を行うだけで済む。
  • 境界侵犯を防ぐアクションゲート:フロンティアが空になり、ユーザーが shared understanding を確認するまで実装を許可しない。
  • 副作用ゼロで高い移植性:純粋なプロンプトであり、スクリプト実行、ネットワーク通信、ファイル書き込みは一切なし。デュアルホストマニフェスト完備で任意のモデルで利用可能。
  • 最適な用途: 上位 skill(grill-me/grill-with-docs/triage/wayfinder/improve-codebase-architecture)内で「徹底的な問い直しによる明確化」を再利用したいすべての場面、およびカスタム skill にインタビュー手順を追加したい開発者の直接呼び出しに最適。skill 作成者はコピー&ペーストではなく grilling をプリミティブとして扱うべきである。また、ユーザーが直接 /grilling を実行して純粋な尋問セッションを開始することも可能。
    不向きな用途: 状態を持つ成果物が必要なシナリオ(CONTEXT.md/ADR の作成には grill-with-docs、ワークフロー仕様の作成には loop-me、コード以外のテーマでファイル出力を伴わない場合は grill-me を使用);対話では回答できない問題(実物のフィードバックを得るために prototype に移行すべき);skill 自身による事実の自己検証や実装の自動着手を期待するシナリオ(本 skill は質問と待機のみを行い、実装には別途明示的な許可が必要)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-09
    Option A · Direct DownloadDownload grilling.tar.gz
    sha256: a293bd6f274ff9b8…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cca18b368.