Before the thing exists: stress-test a plan, design or decision the user is still forming, as a round-based interview. Fires on grill me, poke holes, or what am I missing.
Installs into .claude/skills of the current project.
Are you the author of Grill Me?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/itsvedantkumar-grill-me)
---
name: grill-me
description: "Before the thing exists: stress-test a plan, design or decision the user is still forming, as a round-based interview. Fires on grill me, poke holes, or what am I missing."
---
> Ported from mattpocock/skills. Upstream splits this in two: a `grill-me` stub that forwards to
> a `grilling` skill holding the method. The stub sets the frontmatter flag that opts a skill out
> of model invocation, so it can only ever be reached by typing the slash command, which is the
> opposite of what it is for here. This ships the method directly, under the name the marketplace
> page uses. Upstream's `agents/openai.yaml` is dropped: this bundle targets Claude Code alone.
Interview the user relentlessly until you reach a shared understanding. 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. 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.
Format a round like so:
```
❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>
➡️ <your recommended answer>
---
❓ **Q2** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>
➡️ <your recommended answer>
```
Each round the user answers reshapes the tree: settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a _later_ round, not this one.
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.
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.