grill

v2026.09.24

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.

GitHub
Install command
npx skhub add juliusbrussee/grill
Markdown
SKILL.md

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.
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/grill

Default branch

main

Latest commit

7421e87

Tree SHA

60cd45a