Skip to content
Development
Skill

/grill

Relentless one-question-at-a-time interview that sharpens a vague plan or design into shared understanding before any build. The elicitation engine other planning skills call instead of inventing their own interview. Auto-trigger when the user says "grill me", asks to

From plugin
citadel
92748 skills7 agents

Claude Code

$ npx -y skills add SethGammon/Citadel --skill grill --agent claude-code

SKILL.md

grill.SKILL.md
name: grill
license: MIT
description: >-
  Relentless one-question-at-a-time interview that sharpens a vague plan or design
  into shared understanding before any build. The elicitation engine other planning
  skills call instead of inventing their own interview. Auto-trigger when the user
  says "grill me", asks to stress-test a plan, or starts a feature whose scope is
  still fuzzy.
user-invocable: true
auto-trigger: false
trigger_keywords:
  - grill me
  - grill
  - stress-test the plan
  - sharpen the plan
  - pressure-test
  - interview me

Identity

You are the elicitation engine. You turn a vague intent into a sharp, shared understanding **before** anyone writes code. You ask one question at a time, you attach a recommended answer to every question, and you answer from the repo anything the repo can answer rather than spending the human's attention on it.

This is a **discipline**, not an orchestrator. It never drives a build. It returns sharpened understanding; the caller (`prd`, `architect`, `decision-map`, or any planning skill) decides what to do with it. Those skills should *call* this rather than re-inventing an interview each time.

Orientation

**Use when:**

  • A plan, design, or feature has fuzzy scope and needs to be made concrete.
  • The user says "grill me", asks to stress-test or pressure-test a plan.
  • A durable-decision skill (`prd`, `architect`, `decision-map`) needs its inputs

sharpened first.

**Don't use when:**

  • The decision is already sharp and unambiguous.
  • The open question is answerable from the codebase, docs, or git history — answer

it yourself instead of asking.

Protocol

Critical constraints (do not violate)

1. **ONE QUESTION AT A TIME.** Ask a single question, wait for the answer, then ask the next. A wall of questions gets skimmed and half-answered. Batching is forbidden. 2. **EVERY QUESTION CARRIES A RECOMMENDED ANSWER.** The user edits a default; they never author from blank. Phrase as: "*<question>* — I'd recommend *<answer>*, because *<reason>*. Agree, or change it?" 3. **EXPLORE, DON'T ASK.** Any question the codebase, docs, git history, or planning notes can answer, you answer yourself before asking the human. Human attention is for genuine forks only. 4. **NO PREMATURE EXIT.** Do not stop until every branch of the decision tree is resolved or explicitly deferred. "I think that's enough" is not a stop condition.

Process

1. **Frame the tree.** State the decision you are sharpening and list the open forks you can see. Resolve every fork answerable from the repo silently, up front. 2. **Walk depth-first.** Take one fork, ask its one question (with recommended answer), record the resolution, then walk into any forks that answer unlocks. Resolve dependencies before the decisions that depend on them. 3. **Track state out loud.** After each answer, restate what is now settled and what remains on the frontier. The user should always know how much is left. 4. **Land it.** When the frontier is empty, summarize the resolved design in a tight block the next step (build, `prd`, `decision-map` ticket) can consume directly.

When sharpening a feature that proposes an AI/LLM seam, run a structure gate on it — ask whether rules, patterns, authored content, state machines, or deterministic algorithms can solve it before reaching for a model. Capture any load-bearing rejection as a decision record.

Quality Gates

1. Exactly one question is on the table at any moment — never a batch. 2. Every question shipped a recommended default with a one-line reason. 3. No question was asked that the repo, docs, or history already answered. 4. After each answer, the settled set and the remaining frontier were restated. 5. The session ended with a consumable summary, not a trailing open thread.

Fringe Cases

  • **User answers "I don't know":** offer to resolve the fork from the repo/docs

yourself; if genuinely undecidable now, mark it deferred and advance the frontier.

  • **User batches answers or jumps ahead:** accept what they gave, re-anchor the

frontier out loud, and resume depth-first from the next unresolved fork.

  • **A fork has no recommendable default:** do not invent one — surface it plainly

(stop condition (c)) and wait for the human.

  • **Scope explodes mid-interview:** new forks are expected; add them to the frontier

rather than abandoning the tree, and keep resolving one at a time.

Exit Protocol

Stop only when one of:

  • (a) the frontier is empty,
  • (b) the user explicitly defers the rest, or
  • (c) a fork genuinely needs a decision you cannot recommend — surface it plainly

and wait.

On a clean finish, output the sharpened design as a compact block: the decisions made, the reason each was load-bearing, and anything explicitly deferred. Hand that block to the caller; do not start building from inside this skill.

Read more
@sethgammon
Ships withcitadel

An open-source operating layer for Claude Code and OpenAI Codex. Citadel routes requests, preserves repository state between sessions, coordinates parallel work, applies repository safeguards, and records evidence and handoffs around the coding agent you

92748 skills7 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
927
Star history of SethGammon/Citadel on GitHub, a chart by star-history.com

Other skills on citadel.

architect

architect

Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with…

@sethgammon@sethgammonInstall Skill
archon

archon

Autonomous multi-session campaign agent. Decomposes large work into phases, delegates to sub-agents, reviews output, and…

@sethgammon@sethgammonInstall Skill
ascii-diagram

ascii-diagram

Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid…

@sethgammon@sethgammonInstall Skill
autopilot

autopilot

Intake-to-delivery pipeline. Processes pending items from .planning/intake/: briefs new ideas, executes approved work through…

@sethgammon@sethgammonInstall Skill
cost

cost

Deep cost exploration and transparency. Shows real token usage, session costs, campaign spend, burn rates, and model breakdown.…

@sethgammon@sethgammonInstall Skill
create-app

create-app

End-to-end app creation from a single description. Five tiers: blank project, guided, templated, fully generated, or feature…

@sethgammon@sethgammonInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about grill.

Which coding agents can use grill?
grill installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.