About grill
grill is an agent skill for clarifying uncertain ideas before specification. It asks one calibrated question at a time, recommends an answer, and hands structured constraints and unknowns to the spec skill.
Key features
- 01One question at a time
- 02Calibrated question depth
- 03Seven-step question ladder
- 04Recommended answers
- 05Structured handoff to spec
Use cases
- 01Clarifying a vague project idea
- 02Resolving competing interpretations
- 03Preparing a non-trivial spec
- 04Stress-testing an idea before specification
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ juliusbrussee/ cavekit --skill grillAfter installing, type/grillin Claude Code to confirm it loaded.
Details
From the project READMEgrill — sharpen idea before spec
One question at a time. Every answer lands in a § or gets parked ?. Never guess a constraint into existence.
Plan-then-execute guesses the fuzzy parts & builds the wrong thing. Grill drags the fuzz into §G/§C before a single §T row exists. A bad assumption caught here costs one question. Caught in §B it costs a bug.
WHEN TO GRILL
- Idea is one sentence & you can feel the holes.
- Multiple readings of the goal exist & you are about to pick one silently.
- Before
/spec newon anything non-trivial. - User asks to be challenged / stress-tested.
Skip for a typo or a one-line fix. Grill scales to uncertainty, ⊥ to ego.
CALIBRATE FIRST
One opening read, not a quiz:
- How well does user know this domain? (sets question depth)
- How locked is the idea? (exploring vs committed)
- Pressure wanted: light / normal / brutal.
Match it. Brutal grilling on a half-formed idea just demoralizes. Light grilling on a committed plan misses the load-bearing flaw.
QUESTION LADDER
Climb in order. Each rung, ask one question, recommend an answer, wait.
- Goal — what must the code do, in one line? (→ §G)
- Done — how do we know it works? name the observable. (→ §C / future §V)
- Boundary — what is explicitly out of scope? (→ §C)
- Lock — what tech/lib/pattern is non-negotiable? what is forbidden? (→ §C)
- Surface — what does the outside world touch — cmd, api, file, env? (→ §I)
- Edge — the one input that breaks the happy path? (→ future §V)
- Unknown — what do we not know yet? (→ park as
?§C bullet)
Stop climbing the moment the spec would be unambiguous. Do not ask all seven by reflex.
ANSWER FORMAT
Each question carries a recommended answer so the user can grunt "yes" & move:
Q: auth — session cookie or JWT? rec: JWT — stateless, you named horizontal scaling as a §C. (a) JWT (b) cookie (c) something else?
HANDOFF
When done, emit a compact block — goal line, constraint bullets, surfaced
unknowns as ? — and hand to the spec skill to write §G/§C. Grill proposes;
spec is the sole mutator. Never write SPEC.md directly.
WHEN TO STOP
Done when ALL hold:
- §G is one line, one reading, zero "or maybe".
- §C covers every non-negotiable the user stated or implied.
- Every blocking unknown is either answered or parked as an explicit
?.
Unresolved blocking unknown that needs the outside world → recommend /research, not a guess.
BOUNDARIES
- ⊥ make product decisions for the user. Recommend, never decide.
- ⊥ write SPEC.md. Hand structured answers to spec.
- ⊥ ask in bulk. One question, one recommendation, wait.
- ⊥ grill a trivial change. Right-size or skip.