grilling is the interview itself. The agent questions you "relentlessly until you reach a shared understanding."
It maps your plan as a design tree: every decision branches into the decisions that hang off it. Then it works in rounds:
The frontier is every decision whose prerequisites are already settled: the questions it can ask now without guessing.
Each round asks the whole frontier at once. Questions are numbered, each with the agent's recommended answer, worded so "yes" accepts it.
A question that depends on another question still open waits for a later round.
Your answers settle decisions, which opens up the decisions that hang off them; the agent recomputes the frontier and asks the next round.
Facts are the agent's job; decisions are yours. If it needs a fact from the repo or the tools, it sends a sub-agent, started with a fresh context window, to look it up instead of asking you. (A sub-agent is a separate agent given one narrow job, which reports back.)
The frontier
Each round asks the whole frontier
every decision is put to you
the decisions that hang off it
Facts are the agent's job
The session is done when the frontier is empty
The session is done when the frontier is empty, and the agent doesn't act until you confirm you share an understanding.
When to use it
Use it when you want your thinking stress-tested: a plan, a decision or an idea.
Usually you don't call it by name. grill-me and grill-with-docs are the two named ways in, and triage, wayfinder and improve-codebase-architecture each run it internally. Matt says to reach for it directly "only when you want the interview with no wrapper around it."
When not to use it
You are in a repo. Start with grill-with-docs. It runs grilling together with domain-modeling, so the decisions also land in GLOSSARY.md and ADRs.
You want the plain interview with no repo.grill-me is the named way in for that.
The answers are in someone else's head. Use to-questionnaire to write them questions instead.
What it needs to start
A plan, decision or idea, and you, ready to answer: every decision is put to you, and the agent waits. When a question needs a fact from the repo or the tools, a sub-agent looks it up.
What it creates
A shared understanding, with every branch of the design tree visited and nothing left silently assumed. On its own it writes no files. The docs that grill-with-docs leaves come from domain-modeling, which grill-with-docs runs alongside it.
Going deeper
6 min read · Going deeper not read
Why it exists
In March 2026 Matt named the problem. "Claude Code tends to spit out a plan really early when in plan mode, creating a document before we've truly understood each other. But the grill me skill forces that conversation."
That interview now lives in its own Skill. Matt's page (updated 2026-08-24) calls grilling a primitive: "the single source of truth for the interview technique, kept in one place so every skill that needs an interview reaches for it instead of inventing one." A primitive is a small building block that other Skills call.
By v1.1 (2026-07-08), grill-me and grill-with-docs already "rely on a central reference grilling skill that shows the LLM how to grill a person effectively." One home means one fix. When rounds moved into grilling, "everything built on the primitive (grill-me, grill-with-docs, triage, wayfinder) got it at once."
How it works underneath
The design tree comes from Fred Brooks. In March 2026 Matt wrote: "The concept of a "design tree" comes from The Design of Design by Frederick P. Brooks." Brooks (2010) adds the part that matters here. A designer "can rarely sit down and a priori map out the design tree." Instead, "designers discover the design tree as they work— making a decision, and then seeing the alternatives it opens and closes for the next consequent design decision."
That is why the agent can't ask everything on day one. Your answers grow the tree, so the next questions only exist after you answer.
Citations (83)
From snapshot/skills/grilling/SKILL.md, line 6: “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.”
From snapshot/skills/grilling/SKILL.md, line 8: “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.”
Why rounds, not one question at a time. Until v1.2, the interview asked one question per turn. In the v1.2 video (2026-08-05), Matt explains the problem. Near the end of a session the hard part is done, and you answer easy questions one per turn: "This is incredibly frustrating and it feels dead slow." His way out: "these questions are really like a graph." So each round asks only the questions that are open now. The v1.2 changelog puts the gain as: "The same 13 questions land in about 3 rounds instead of 13 turns."
Why not every question at once. Matt's page answers the common worry: "A round only contains questions that do not depend on each other, so no answer in a round can invalidate another question in that round."
Where two rules came from. Both were fixes in v1.1 (2026-07-08):
The wait for your confirmation. "Many people reported that grilling sessions would just end and then the model would jump straight into implementation."
Facts versus decisions. "In some odd situations, the model would grill itself—exploring the code base and grilling without human input." Matt added "leading words" to tell the two kinds of information apart.
one question per turn
This is incredibly frustrating and it feels dead slow.
these questions are really like a graph.
each round asks only the questions that are open now
Why rounds, not one question at a time.
A real example
The v1.2 video shows a real session. Round one arrives as numbered questions, each with its recommendation. Matt answers by dictation: "Okay, Q1, I agree. Q2, I agree." Then: "Q3, we need something to change there." After that, "round two came in and the same setup."
The changelog names the same habit: you answer by number ("Q1 agree, Q2 agree, Q3 change this"), "which suits dictation."
The interview started as grill-me's prompt. In March 2026 it was "only three sentences long", and it walked the tree "resolving dependencies between decisions one by one." Before v1.1 the guidance said "asking multiple questions at once is bewildering." Models still did it, so v1.1 (2026-07-08) explained why more explicitly. v1.2 then switched to rounds. The current SKILL.md at the pin commit (2026-10-29) asks in rounds, so this Lesson follows rounds.
Where it goes wrong
Matt's page lists the known failures, each with its fix.
Two linked questions in one round. "The frontier has one limit. The agent chooses it by judgement; it does not compute it from a graph." If you spot it, say so: "That reopens the affected branch in the next round."
A "yes" that means "no". Matt's page (2026-08-24) reported: "The recommendation sometimes argues against the question as it was worded." The SKILL.md fixed this in v1.3.2 (2026-10-29), which is newer: "Word each question so "yes" accepts your recommended answer." If it still happens, the older page's fallback is to "answer the recommendation and say so."
It starts building anyway. Weaker and faster models "still skip the gate." The fix is "a line in your own AGENTS.md or CLAUDE.md telling the agent not to implement without permission."
It answers its own questions. This "happens most when another skill runs grilling to resolve a ticket." It is also why there is no async mode: a session nobody answers "has produced the agent's opinion rather than yours."
Rounds feel wrong to you. Issue #1167 (2026-10-05) called rounds "completely unusable in this multi question mode": some questions "rely on particular answers to previous questions that you have not given yet (even with latest models like Opus 5.5)". Matt replied: "See the docs on how to go back to one question at a time." The docs give one line for your global CLAUDE.md: "When grilling, ask one question at a time." Matt calls it "a supported setting, not a workaround."
Too many questions. Issue #44 (2026-04-19) asked for "a limit to the number of questions you can be grilled on". It is labelled wontfix, and Matt's page says: "No, and a cap is out of scope on purpose." Tell it to wrap up, or "break the work up and grill the pieces."
Try it
In your practice project (set it up first with keeping-track's Try it step if you haven't), open an agent session in the yoga-studio repo. Call grilling directly, with no wrapper, on one decision: "How should cancelling a class booking work?"
Then check the first two rounds against Matt's "It's working if" list:
each question has its recommendation on its own ➡️ line, and you can answer the whole round by number;
"Nothing in a round needs another question in the same round answered first";
when it needs a fact, such as which tables api/ already has, it looks it up instead of asking you;
at the end it asks you to confirm, instead of starting work.
If any check fails, tell the agent which one, and note what changed in the next round.
Going deeper's Check questions are asked in Next up.
“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 with a fresh context window to find it”
From snapshot/skills/grilling/SKILL.md, line 30: “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.”
From snapshot/skills/ask-matt/SKILL.md, line 86: “/grill-me and /grill-with-docs are the two named ways in, and /triage, /wayfinder and /improve-codebase-architecture all run it internally. Reach for it directly only when you want the interview with no wrapper around it.”
From snapshot/web/aihero.dev/skills-grilling.md, line 175: “grilling is a primitive, not a step you schedule: the single source of truth for the interview technique, kept in one place so every skill that needs an interview reaches for it instead of inventing one.”
From snapshot/skills/grilling/SKILL.md, line 26: “Each round the user answers reshapes the tree: settled decisions push the frontier outward and unblock questions that depended on them.”
From snapshot/web/youtube.com/watch-v-gaddrddczo4.md, lines 64–66: “Previously, Grill Me used to grill you one question at a time. [04:11] In other words, you'd get a question and then you would respond and then another question, then you would respond. [04:16] So, one question per turn.”
From snapshot/web/youtube.com/watch-v-gaddrddczo4.md, lines 67–70: “However, this has a horrible failure mode, which is when you get to the end of a grilling session and most of the hard stuff is already done, you just have a bunch of easy questions, one per [04:28] turn”
From snapshot/web/aihero.dev/skills-grilling.md, line 118: “The frontier has one limit. The agent chooses it by judgement; it does not compute it from a graph. So it can put two questions in one round and only later find that one answer should have changed the other. The only guard is to tell it. That reopens the affected branch in the next round.”
From snapshot/web/aihero.dev/skills-grilling.md, line 114: “The recommendation sometimes argues against the question as it was worded, so agreeing with the recommendation means answering "no" to the question. When that happens, answer the recommendation and say so.”
From snapshot/web/aihero.dev/skills-grilling.md, line 153: “It happens most when another skill runs grilling to resolve a ticket, and the agent takes that task as permission to keep moving. The same constraint is why there is no async mode.”
From snapshot/web/aihero.dev/skills-grilling.md, line 156: “Tell it to wrap up, or stop and accept the plan where it stands. If a session is running very long, the cause is usually that the scope was too big; break the work up and grill the pieces.”