Files
command-center/agent/skills/grilling/SKILL.md
T
Frank 6134e1168e fix(grilling): plain-mechanics rephrase of the dialog line (Refs #20)
'Too Claudish': drop the aside ('the gotchas no doc confesses') and the
simile ('watches it fall'); lead with the constraint itself. Facts
unchanged: exclusive dialog, scouts before ask, Esc ends the run, the
ledger survives.
2026-10-18 19:31:32 -07:00

3.6 KiB
Raw Blame History

name, description
name description
grilling Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

Grilling

Interview the user relentlessly until nothing is silently assumed and you reach a shared understanding. Map this as a design tree: every decision branches into the decisions that hang off it.

A decision is frontier when it can be asked now, without an answer you haven't heard yet. The interview is done when the frontier is empty: every branch of the tree visited.

Rounds

Work the tree in rounds: ask the whole frontier at once, then wait. A decision whose answer hangs on an open question or an unfetched fact joins a later round.

Ask each closed decision - anything expressible as 2–5 options - through the ask tool:

  • One artefact per question, counted before sending. Name the artefact each question decides; two names means two questions. Shared plumbing (an endpoint, a service, a build step) still leaves two artefacts.
  • Recommended answer first, marked recommended: 0, which labels it "(Recommended)" for one-glance acceptance. Every reply names what was picked, so the record is unambiguous.
  • Options quote the user's goal. Their words, their stated goal, ground the wording; your todo text and table rows stay out of it.
  • Your own idea is welcome: it gets its own recommended question. Attach it to its own question, so it rides there on its merits.
  • multi: true for pick-many, header for the branch chip, preview when the decision needs code or config in front of the user.

Open narrative - "walk me through the deploy flow" - has no options to offer; ask it as prose in chat. Without an ask tool the whole round degrades to text: ❓ **Q1 — title**: body, then ➡️ recommendation, phrased so one bare "yes" accepts every recommendation.

The dialog is exclusive: dispatch scouts before the ask call in the same message, or they wait behind it; their results land between rounds. Esc ends the run outright, with no turn to wrap up, so the ledger is what survives it.

The ledger

The tree lives in the todo list while the interview runs, so the user watches it fall:

  • One task per decision, filed under the phase for its branch; via: <parent decision> in the task text carries the edge.
  • pending is the frontier; block with a one-line reason waits on a fact or an open decision; done is settled. Unblock the moment the dependency settles.

Write local://grilling-state.md at the end of every round: the tree, each decision's verdict and one-line rationale. It is the durable copy of the interview; keep it current so an Esc costs one round.

Facts are yours, decisions are theirs

  • Environment facts (filesystem, repo, live config): dispatch a scout per fact-cluster, batched into one task call, before the round's ask. Cluster tightly; doing so keeps each scout more aware of possible adjacencies.
  • Outside-world facts: call web_search directly, do not delegate to a subagent.
  • Cheap lookups: read/grep inline.
  • The main session is where questions happen: every spawn carries the exact facts to return, and comes back into the next round.

Definition of Done

The frontier is empty and nothing sits blocked. Distil the ledger into a brief: one line per decision, verdict plus rationale, grouped by branch. Put it in chat, then one closing ask: "Proceed on this brief?" Nothing executes before that yes. After it, fold the brief into the project's knowledge base, or a log markdown file, wherever the project keeps its decisions.