Grill
Adapted from https://github.com/mattpocock/skills (mattpocock/skills, MIT) — rewritten, not copied.
Overview
The most common failure in a build is misalignment found after the code exists. The fix is to spend the questions up front: interview the user until every branch of the design is decided, not assumed. Model the design as a tree — each decision spawns the decisions that hang off it — and work it breadth-first in rounds.
When to use
- Before implementing anything from a brief that still has open choices.
- When the user asks to have a plan, spec, or idea stress-tested.
- Not for open "what could we build" ideation: that is
superpowers:brainstorming. Not for a scored objective review with a dissenter: that is/prompt-scan. Not for one missing fact: that is a singleAskUserQuestion.
The loop
- Map the frontier. The frontier is every decision whose prerequisites are already settled: the questions you can ask now without guessing at answers you have not heard. A question whose answer depends on another still-open question belongs to a later round.
- Ask the whole frontier in one round. Number each question, give your recommended answer.
- Wait for answers. Do not proceed on assumptions.
- Recompute. Each answer settles decisions and pushes the frontier outward, unblocking downstream questions. Return to step 1.
- Done when the frontier is empty: every branch visited, nothing silently assumed. Confirm shared understanding before acting.
Rules
- Facts are your job, never the user's. When a frontier question needs a fact from the environment (a file, a dependency version, an API shape), dispatch a subagent (
cavecrew-investigator, orExplore) to find it. Do not ask the user what you can look up. - Do not block on fact-finding. A running exploration is an unsettled prerequisite: only its downstream questions wait. Ask the rest of the frontier now.
- Decisions are the user's. Put each to them and wait.
- Prefer
AskUserQuestionwhen the round has 4 or fewer questions and each has discrete options. Otherwise use the numbered format below.
Round format (when not using AskUserQuestion)
Q1 - <question title>: <body, may be several paragraphs, may include options>
Recommended: <your answer>
---
Q2 - <question title>: <body>
Recommended: <your answer>
This workspace
Personal Context rule "large task -> brief plan first, wait for approval" still holds: a grilling session resolves the design, then the plan goes to the user before code. If the work will outlive one session, the resolved design is written out via persistent-file-planner.