Files
skills/skills/grilling/SKILL.md
vitya ff68762516 fix(grilling): collapse family to one skill — behavioral test evidence
RED (2026-08-12, clean pi -p subprocesses): user phrases «прогриль мой план»,
«grill my plan», «хватит, точи план», «прогриль с доками» all resolved to
grilling, NOT grill-me/grill-with-docs. Root cause (verified in pi docs
skills.md): disable-model-invocation: true hides a skill from the system
prompt — the thin user-wrapper split (mattpocock's slash-command model) is
structurally unreachable in pi's natural-language matching.

GREEN: single grilling v0.2.0 with integrated Docs mode (trigger «с доками» /
«зафиксируй» → decision record to .wiki/concepts/<topic>-decision.md or
.brainstorm/ append). Re-run: 5/5 positive → grilling, 4/4 negative clean.

Removed grill-me + grill-with-docs (invisible in pi, dead weight); README
table updated; lint 0/0; ~/.claude/skills = 39; dist pruned+rebuilt.
2026-08-12 16:02:12 +03:00

4.3 KiB

name, adapted-from, version, description
name adapted-from version description
grilling mattpocock/skills @ 84fdeffd12f2ee307994d1eb6feb48173b6e0502 (MIT) 0.2.0 Interview the user relentlessly about a plan, decision, or idea until you reach shared understanding — the convergent phase after a brainstorm. The interview machine: design tree, frontier, rounds of numbered questions with recommended answers. Trigger (user): «прогриль», «grill my plan», «хватит, точи план», «хватит, к промоушену», "stress-test my plan". Docs mode (trigger: «с доками», «зафиксируй», "with docs"): after the frontier is empty, also write the decision record (context / numbered decisions with rationale / glossary) to `.wiki/concepts/<topic>-decision.md` or append to the `.brainstorm/` running record in the workshop zone.

Grilling

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

This is the convergent phase after the divergent brainstorm: the user says «хватит, к промоушену» / "enough, sharpen it" — then run the interview machine until the frontier is empty and the plan is sharp enough to promote or implement without open questions.

Work the tree in rounds. The frontier is every decision whose prerequisites are already settled — the questions you can ask now without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.

Each question should be formatted like so:

❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>

➡️ <your recommended answer>

Each round the user answers reshapes the tree — settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a later round, not this one.

Finding facts is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, docs), look it up yourself — or dispatch a clean-context sub-agent where your harness supports it. Don't ask the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite, so only the questions downstream of it wait — ask the rest of the frontier now. The decisions are the user's — put each to them and wait.

The session is done when the frontier is empty: every branch of the design tree visited, nothing left silently assumed. Do not act on it until the user confirms you have reached a shared understanding.

Docs mode

If the user asked for docs («с доками», «зафиксируй», "with docs"), write the decision record as the byproduct once the frontier is empty and the user confirms shared understanding:

  • Context — what we set out to decide, in one paragraph.
  • Decisions — the numbered Q&A from the session: each decision, the options considered, the chosen one, one-line rationale.
  • Glossary — domain terms that came up, defined so a fresh agent (or the promotion pipeline) reads the record without asking.

Target (per project-discipline Rule 1):

  • regular project → .wiki/concepts/<topic>-decision.md
  • workshop zone → append the Q&A to .brainstorm/<topic>.md (running record), then the promotion pipeline takes over (workshop-promote-brainstorm)

The record is the sharpened input for promotion/implementation — readable by a fresh agent with no open questions, mirroring the done-when-frontier-empty criterion.

Cross-agent applicability

Pure interview methodology — no harness-specific tool references. Works on pi, Claude, or any agent. The only harness-dependent line is the sub-agent note above; without sub-agent support the agent looks facts up directly.

Out of scope

  • Does NOT write any artifact unless the user asked for docs mode («с доками», «зафиксируй") — then it writes the decision record (see Docs mode).
  • Does NOT run the divergent brainstorm — that's the brainstorming phase before this skill («хватит, к промоушену» is the switch).