grill — Claude Code skill: what it does, how to install
Stress-tests vague feature ideas one question at a time before any formal specification or code is written.
npx skills add JuliusBrussee/cavekit --skill grill -a claude-codeWhat grill does
grill interrogates half-formed project ideas before technical task lists exist. The skill asks exactly one question at a time, recommends an answer, and sorts the results into goals (§G) or constraints (§C). Missing details are parked with a ? tag instead of being guessed.
The questioning ladder adapts to how well the developer knows the domain and the chosen pressure level, such as normal or brutal. It clarifies boundaries, technical locks, and breaking inputs before any planning begins.
The skill makes no product decisions on its own and never writes SPEC.md directly. Once the idea is clear, grill hands the structured requirements block off to the companion spec skill.
What it helps with
- stress-test a vague feature concept before writing a specification
- identify rigid technical constraints and out-of-scope boundaries
- mark unresolved architecture questions with
?without guessing - prepare structured goals and constraints for the spec skill
Example prompts for the agent
- /ck:grill challenge my plan for migrating session auth to Redis
- Interview me before I spec this background worker pipeline
- Stress-test this caching idea with normal pressure
How to install grill
1Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill grill -a claude-code2Manually: put the files in place
~/.claude/skills/grill/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/grill/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill grill -a codex2Manually: put the files in place
.agents/skills/grill/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill grill -a cursor2Manually: put the files in place
.cursor/skills/grill/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/cavekit grill2Manually: put the files in place
.github/skills/grill/SKILL.md1Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill grill -a gemini-cli2Platform CLI
gemini skills install https://github.com/JuliusBrussee/cavekit --path skills/grillManually: put the files in place
.devin/skills/grill/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add JuliusBrussee/cavekit --skill grill -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about grill
How to install grill in Claude Code?
Run npx skills add JuliusBrussee/cavekit --skill grill -a claude-code.
What does the grill skill do?
It runs a calibrated interview to extract clear goals and constraints from an ambiguous idea before a specification is drafted.
Does grill write to SPEC.md directly?
No, grill never alters SPEC.md. It formats the verified goals and constraints into a compact block and delegates writing to the spec skill.
Source text
SKILL.md · MIT
--- name: grill description: | Calibrated interrogation of a fuzzy idea before it becomes a spec. Asks one question at a time, recommends an answer, and lands each answer in §G (goal) or §C (constraints) — unknowns parked as `?` items, never guessed. The cheapest place to kill a bad idea is before §T exists. Triggers when the user has a vague idea, says "grill me", "stress-test this", "challenge my plan", "interview me before I spec", or invokes /ck:grill. Defers the actual write to the spec skill. --- # grill — 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 new` on 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: 1. How well does user know this domain? (sets question depth) 2. How locked is the idea? (exploring vs committed) 3. 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. 1. **Goal** — what must the code *do*, in one line? (→ §G) 2. **Done** — how do we know it works? name the observable. (→ §C / future §V) 3. **Boundary** — what is explicitly out of scope? (→ §C) 4. **Lock** — what tech/lib/pattern is non-negotiable? what is forbidden? (→ §C) 5. **Surface** — what does the outside world touch — cmd, api, file, env? (→ §I) 6. **Edge** — the one input that breaks the happy path? (→ future §V) 7. **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.
© JuliusBrussee · MIT · JuliusBrussee/cavekit