The interview primitive for putting open decisions to an owner. Use on 'grill me', 'stress-test this', or 'what do you need from me before you build this', and whenever a plan, scope, spec, vision, or question ledger needs owner rulings. NOT for steps only a human can perform (use a guided session).
Pro scans all 2 files and shows the line behind each finding
Scanned 10/3/2026
npx -y skills add armanisadeghi/ai-matrx --skill grilling --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Grilling?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/armanisadeghi-grilling)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: grilling
type: Skill
title: "grilling — interview by design tree, defaults ship"
description: "The interview primitive for putting open decisions to an owner. Use on 'grill me', 'stress-test this', or 'what do you need from me before you build this', and whenever a plan, scope, spec, vision, or question ledger needs owner rulings. NOT for steps only a human can perform (use a guided session)."
tags: [interview, decisions, doctrine]
timestamp: 2026-09-12T00:00:00Z
---
<!-- SYNCED COPY — do not edit here.
Canonical: common-docs/skills/grilling/SKILL.md
This file is distributed to every consuming repo by
common-docs/meta/scripts/sync_skills.py. Edit the canonical, run the
sync, and commit each repo. Edits made here are overwritten and lost. -->
# grilling — interview by design tree
Mechanic adapted from Matt Pocock's `grilling`. Every sentence to the owner follows
[talk to Arman like a person](/policies/talk-to-arman-like-a-person.md); filing and delivery follow
the [ask-arman](/skills/ask-arman/SKILL.md) skill.
## 1. Build the tree, then prune it (before any question)
Draft privately: every open decision, and the decisions that hang off it. Then DELETE every node that is:
- **Settled** — a node's DECISIONS.md or "settled — never re-ask" table, or
[table stakes](/policies/talk-to-arman-like-a-person.md) (stream, persist, resume, never lose
input = always yes).
- **A fact** — dispatch a subagent (lane named). Never ask him anything you can look up.
- **Decidable** from code, doctrine, or established best practice — decide it, with its companion
machinery ([decisions are complete](/policies/talk-to-arman-like-a-person.md)). List it under
"Decided" so he can override.
- **A number that is really a mechanism** — bring the mechanism.
What survives is only: vision, product semantics, money, brand, legal, deleting real data, an account
only he holds, his eyes on a real screen. The one exception: Arman invoking "grill me" on HIS OWN
plan — then challenge his assumptions too, still never ask facts.
## 2. Rounds
- **Frontier** = surviving nodes whose prerequisites are settled. A question whose answer depends on
another question open this round waits for a later round.
- **Round size:** per [talk to Arman like a person](/policies/talk-to-arman-like-a-person.md); the
rest wait on the Question Desk ([ask-arman](/skills/ask-arman/SKILL.md)), ordered by how much of
the tree each answer unblocks.
- **Never block on exploration.** Send the fact-independent frontier now; only questions downstream of
a running subagent wait. If he can step away while you explore, say so.
- **Number continuously across rounds** (round 2 starts at Q5), so "5 yes" is never ambiguous.
## 3. Question shape — exactly this
**Q<n> — <title>.** 2–3 plain sentences of background: no doc references, codenames, item IDs, or
emojis. Then the question, in one sentence.
- **Closed:** options only where they differ in approach, never just in magnitude; the best practice in
one sentence; **Rec:** one recommendation + the companion work that makes it true + why.
- **Open (vision):** ask open, no rec; capture his words verbatim.
- **About a flow, surface, or behavior:** attach the clickable URL + where to look, OR a mermaid
diagram of what actually happens, OR a throwaway prototype (Artifact or demo route) labeled
PROTOTYPE. A question he cannot answer from what you gave him is a defect in the question — and often
a sign the PATH is broken, which is the real finding.
- **Delivery:** plain numbered chat text — **never a structured question picker**.
Every round ends with:
`Decided (override by number): D1 … · D2 …` / `Anything you skip ships with my recommendation.` /
`What else should I know that I didn't ask?`
A question he skipped in an earlier round joins the Decided list as its own numbered item, carrying
the recommendation that shipped and the words **"default, not ruled"** — never written as though he
ruled it.
## 4. After every answer
1. **Record it where it belongs, then commit:** vision → verbatim in VISION/STATE; ruling → the settled
table, dated; creates work → the pending list or owning handoff; kills work → remove it.
2. **Recompute the frontier:** prune branches the answer killed (say which queued questions died);
unblock children; a partial answer gets a follow-up next round — never smoothed over.
3. **Skipped** = the recommendation ships, recorded as "default, not ruled". **"Defer"** = a dated
explicit deferral. **"I need to see it first"** = deferral + the URL he needs. **"I don't know" /
"we have options"** = the question failed him: research, then bring it back next round with
better facts, best practice, and a rec — never picked silently, never re-asked as-is
([decisions are complete](/policies/talk-to-arman-like-a-person.md)).
## 5. Done
The frontier is empty: every node is answered, decided-with-override-offered, or deferred with a date.
Then act — no separate "confirm shared understanding" gate. State the final decisions in ≤10 lines in
the same message in which you start the work.
## Banned
One question per message · approval after each design section · "see the doc" · menus of numbers ·
asking whether it should stream/persist/resume · asking a fact · a fork with no recommendation · making
him wait for a full audit before round 1 · inventing a question that was not on the pruned tree.
**Never invent a question to have one to ask.** A candidate that was not on the tree goes through the
§1 prune first, like every other node — a decidable best practice spends a slot that belongs to
vision. If the frontier comes up empty, say so and ship (§5); an empty frontier is the success
condition, not a gap to fill.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!