Home / All Skills / Workflow & Core Tools / grilling
Workflow & Core Tools · mattpocock/skills

grilling

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

L1 Basic · Source registration onlyV1 Commit-PinnedDual-pass Audit
Author mattpocockGitHub mattpocock/skills ↗Stars 257659License MIT(GitHub API spdx MIT;仓库根 LICENSE: 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

The only model-invoked primitive in the grilling family within the repository: frontmatter intentionally omits disable-model-invocation, and openai.yaml has no policy block, allowing models or other skills to invoke it automatically; repository rules classify it as model-invoked via negative inference from double-manifests.

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).
Compared to user-invoked skills in the same repository (such as grill-me with its dual manifest of disable-model-invocation: true + allow_implicit_invocation: false), grilling has neither → falls under the repository's definition of model-invoked and can be called by upstream skills via the Skill tool.

Interrogation mechanism = design tree + frontier rounds: models decisions as a dependency tree, asking the entire frontier layer of 'prerequisites settled, currently answerable' questions per round, with each question within a round being independent.

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.
What it does: uses dependency sorting to avoid prematurely asking questions that depend on unheard answers; asking the entire layer in one round minimizes back-and-forth turns (docs cite ~13 questions in ~3 rounds).

Mandates the model's own recommended answer for each question, using strict ❓/➡️ formatted numbering so the user can answer the entire round by number.

skills/productivity/grilling/SKILL.md
❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices> ➡️ <your recommended answer>
The formatting template is embedded as a code block in SKILL.md; the docs page notes a known rough edge: recommended answers occasionally conflict with the question's phrasing, in which case the user should 'answer with the recommendation and explain'.

Strict separation between fact-checking and decision-making authority: facts belong to the agent (dispatched to sub-agents to inspect environment facts without blocking the remaining questions in the round), while decisions belong 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.
CHANGELOG 1.1.0 records the motivation for this split: preventing other skills running grilling inside the resolve-the-ticket framework from 'conveniently answering decisions on the user's behalf' (self-answering = breaking HITL).

Explicit termination conditions and action gates: the session is complete once the frontier is empty; no implementation may begin before 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.
The docs page calls this a confirmation gate: an empty frontier alone is not enough—the user must give the nod; weaker models might still collapse 'interrogating to consensus' into two or three questions plus an outline.

A reusable engine rather than a standalone entry point: the README lists grilling as Model-invoked and designates it as a shared interviewing primitive across multiple user-invoked/orchestration skills.

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 also states 'It is the only skill in the grilling family that is model-invoked'; the ask-matt routing page incorporates it to patch missing routes.

2Core Capabilities

01Model-invoked interviewing primitive: models or upstream skills can automatically invoke it as needed without the user typing slash commands
02Design tree + multi-question whole-frontier rounds (numbered + recommended answer per question)
03Recalculates the frontier each round based on user answers, unlocking only downstream questions that are 'currently answerable'
04Delegates fact-checking to sub-agents; background exploration does not block other questions in the round
05Explicit convergence and action gating: implementation is permitted only when the frontier is empty and the user confirms shared understanding

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; no script execution or external impact.
Audit Notes: Purely instructional prompt skill: involves no script execution, no external network calls, no credential reading, and no local file writes. Being model-invoked means the model can trigger it automatically in matching contexts, but its behavior remains strictly 'ask-and-wait' with zero code-level surface. Key considerations are limited to conversational guidance from recommended answers and host permission boundaries when sub-agents inspect the environment.

5Second-Pass Verification

  • [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 是薄原语一致。

6Verdict & Scenarios

  • Reusable primitive architecture: a single interrogation mechanism reused across 5+ upstream skills, eliminating the need to rewrite questioning logic.
  • Algorithmic questioning structure: frontier/rounds ensure only answerable questions are asked, gathered in complete rounds, and terminable without omissions.
  • Relieves the user of verification burden: facts are delegated to sub-agents and each question includes a recommended answer, leaving the user to merely take a stance.
  • Action gating prevents overreach: implementation is allowed only after the frontier is empty and the user explicitly confirms shared understanding.
  • Zero side effects and portable: pure prompt with no scripts, no network requests, and no file writes; complete dual-host manifests, usable across any model.
  • Best for: Ideal for any scenario requiring reusable 'interrogation-style clarification' inside upstream skills (grill-me/grill-with-docs/triage/wayfinder/improve-codebase-architecture), and for skill authors wanting to add an interviewing step to custom skills; skill authors should treat grilling as a primitive rather than copy-pasting it. Users can also invoke /grilling directly for a pure interrogation session.
    Not for: Not suitable when tangible state artifacts are required (use grill-with-docs for writing CONTEXT.md/ADRs; use loop-me for workflow specs; use grill-me for non-code topics without file writes); not suitable for questions that cannot be answered via conversation (switch to prototype for physical/concrete feedback); not suitable when the skill is expected to verify facts autonomously or execute implementation—it only asks and waits, requiring separate clearance for action.
    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
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cca18b368.