Home / All Skills / Workflow & Core Tools / grill-me
Workflow & Core Tools · mattpocock/skills

grill-me

A relentless interview to sharpen a plan or design.

L1 Basic · Source registration onlyV1 Commit-PinnedDual-pass Audit
Author mattpocockGitHub mattpocock/skills ↗Stars 253948License MIT(仓库根 LICENSE 文件;GitHub API spdx MIT;Copyright (c) 2026 Matt Pocock)Commit 3cca18b368
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

grill-me itself is a pure delegation wrapper: the entire body of SKILL.md consists of just one sentence, "Call the Skill tool with \"grilling\".", and all grilling behavior is implemented by the grilling skill (a model-invoked primitive) within the same repository.

skills/productivity/grill-me/SKILL.md
Call the Skill tool with "grilling".
When the user inputs /grill-me, the host switches the current session to execute the instruction set of grilling—this is the standard pattern in this repository's "user-invoked orchestration layer + model-invoked reusable primitive" architecture (grill-with-docs works similarly, simply calling one additional primitive: domain-modeling).

The trigger surface is restricted strictly to explicit user invocation: both the Claude Code manifest and the Codex manifest disable automatic model invocation.

skills/productivity/grill-me/SKILL.md
disable-model-invocation: true
The same mechanism is expressed in agents/openai.yaml via policy.allow_implicit_invocation: false; AGENTS.md mandates pairing both configurations for user-invoked skills, ensuring the agent will not start grilling unprompted without the user invoking /grill-me.

The questioning engine operates on a design tree + frontier rounds: questions awaiting decisions are modeled into a dependency tree, and each round only asks the entire frontier layer—questions whose prerequisites are settled and can be answered immediately—rather than diving deep into questions one by one.

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.
What it does: uses dependency ordering to prevent asking questions that depend on unanswered decisions; asking an entire layer at once minimizes back-and-forth round trips. Answers in each round reshape the tree, pushing the frontier outward and unblocking questions that depended on them.

Every question must include the model's own recommended answer using a strict output format (numbered ❓ + ➡️ recommended answer), requiring the agent to stop after each round and wait for user responses before proceeding to the next.

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.
The format template (❓ **Q1** - **<question title>**: … / ➡️ <your recommended answer>) is embedded directly inside the code blocks of SKILL.md. This forces the model to take a stance on each question rather than pretending to be neutral, allowing the user to simply agree with or refute recommendations at a low cognitive cost, driving fast convergence.

Strict separation of concerns: fact verification belongs to the agent (dispatching sub-agents into the environment when necessary without blocking the remaining questions of the current round), while decision-making belongs to the user.

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.
What it does: permits parallel sub-agent dispatching to inspect file systems/tool facts while continuing to ask unaffected frontier questions in the foreground—neither pushing the verification burden onto the user nor allowing exploration to stall the conversation. Sub-agent capabilities rely on host support; the skill itself contains no scripts.

Explicit termination conditions and action gates: the session ends when the frontier is empty; the agent must not proceed with implementation until the user confirms a 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.
Prevents overstepping boundaries like drifting into implementation mid-questioning: grilling produces a decision consensus, whereas execution requires explicit user authorization.

Stateless positioning: both the grill-me and grilling directories contain only SKILL.md and agents/openai.yaml with no file-writing instructions throughout; the documentation page explicitly states "writes no files", positioning it in the repository as an entry point for non-code purposes or scenarios without a working directory.

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`.
The only substantial difference from grill-with-docs is state: the latter runs the same grilling primitive but writes CONTEXT.md/ADRs (which is why engineering sessions are guided toward grill-with-docs).

2Core Capabilities

01Clarify requirements via an explicit user-invoked relentless interview (/grill-me, human-triggered only)
02Dependency-aware round-based questioning: asks the entire frontier per round without prematurely raising unsettled dependency questions
03Model-recommended answers attached to every question (fixed ❓/➡️ format) for low-cost user agreement or refutation
04Autonomous agent verification: dispatches sub-agents to inspect environment facts while reserving decision-making for the user
05Explicit convergence and action gate: terminates only when the frontier is empty, prohibiting implementation before the user confirms a shared understanding
06Stateless and portable: writes no files, requires no repository, and is not limited to code topics

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Can be auto-loaded
For Administrators
Register source and version
Evidence & Triggers (File Paths & Excerpts)
  • SKILL.md: Pure prompt instructions and rule text without script execution or external impact
Audit Notes: Purely instruction-based skill: executes no scripts, makes no outbound network calls, reads no credentials, and performs no local file writes; furthermore, grill-me dual manifests (disable-model-invocation: true + allow_implicit_invocation: false) restrict execution strictly to explicit user invocation. The only operational considerations involve conversational steering/anchoring and host permission boundaries when sub-agents inspect the environment, neither of which presents code-level security risks.

5Second-Pass Verification

  • [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' 与源码一致。

6Verdict & Scenarios

  • Composable thin wrapper design: grill-me turns the grilling primitive into a user-facing entry point with a single-line body, allowing multiple engineering skills to reuse the same primitive from a single source of truth.
  • Algorithmic questioning structure: frontier rounds ensure only currently answerable questions are asked across a full layer per round, remaining terminable and thorough (completes once the frontier is empty).
  • No offloading of verification to the user: facts are inspected by the agent/sub-agent, and every question includes a recommended answer, requiring only user stance evaluation.
  • Zero side effects and cross-host portability: stateless, no scripts, no network access, and no file writes; complete dual manifests for Claude Code and Codex, usable across any model or topic.
  • Action gate preventing boundary overreach: implementation is prohibited until user confirmation of shared understanding, ensuring grilling produces only decisions.
  • Best for: Ideal for any scenario requiring vague ideas to be rigorously questioned into committed decisions before starting work, especially non-repository or non-code topics (product direction, writing, business decisions); also suitable for skill authors who want to adapt the grilling primitive to reuse its questioning mechanism. Within Claude Code, /grill-me works best when launched in a fresh conversation (as suggested in docs).
    Not for: Not suitable for scenarios where precise specifications already exist and questioning is unnecessary (docs: "If you can already specify the thing precisely, you don't need to grill it"); not suitable for engineering sessions that require documented artifacts (grill-with-docs should be used instead to produce CONTEXT.md/ADRs); not suitable for questions needing physical or concrete feedback (ungrillable questions should turn into prototypes); not suitable for workflows expecting the skill itself to automatically verify facts or write files—it only questions without querying or writing.
    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
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cca18b368.