Agent skill

Grill

by SethGammon in SethGammon/Citadel

Relentless one-question-at-a-time interview that sharpens a vague plan or design into shared understanding before any build.

MITAuto-check passedAgent Workflows

Install Grill

skills CLI
$ npx skills add SethGammon/Citadel --skill grill -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install SethGammon/Citadel grill --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/grill .claude/skills/grill && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
grill
GitHub stars
922
Token cost
~1.2k tokens
SKILL.md length
679 words
Files
1
Skills in repo
48
Repo updated
First seen
Licence
MIT

At a glance

Relentless one-question-at-a-time interview that sharpens a vague plan or design into shared understanding before any build.

  • Works in 4 steps: ONE QUESTION AT A TIME. Ask a single… → EVERY QUESTION CARRIES A RECOMMENDED… → EXPLORE, DON'T ASK. Any question the… → …
  • The user says grill me
  • SKILL.md covers Orientation, Protocol, Quality Gates and Fringe Cases, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Grill is an agent skill from SethGammon/Citadel. 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.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Requirements gathering and Load testing. The repository describes itself as: The operating layer for Claude Code + OpenAI Codex: persistent project memory, intent routing, safety hooks, cost telemetry, and parallel agent fleets. The licence is MIT.

When your agent uses it

  • The user says grill me
  • Asks to stress-test a plan
  • Starts a feature whose scope is still fuzzy

Example prompts

  • “grill me”
  • “/grill”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. ONE QUESTION AT A TIME. Ask a single question, wait for the answer, then ask
  2. EVERY QUESTION CARRIES A RECOMMENDED ANSWER. The user edits a default; they
  3. EXPLORE, DON'T ASK. Any question the codebase, docs, git history, or planning
  4. NO PREMATURE EXIT. Do not stop until every branch of the decision tree is

What it can do on your machine

Read from SKILL.md and the folder at commit e41ff1d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Grill loads about 1.2k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 679 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from SethGammon/Citadel at commit e41ff1d, republished under its MIT licence (© SethGammon). 679 words, ~1,227 tokens.

Download SKILL.mdSave it as .claude/skills/grill/SKILL.md (or your agent's skills folder).
name
grill
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.
license
MIT
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.

Show full SKILL.md (234 more words)Show less

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.

© SethGammon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/grill of SethGammon/Citadel.

Open the folder on GitHubat commit e41ff1d

Compare with similar skills

Grill next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Grill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Grill this skillSethGammon/Citadel922—~1.2kAutomated safety check: PassMIT
Grillingbestofjs/bestofjs3.1k30 repos~464Automated safety check: PassMIT
Grill Menateherkai/AIS-OS1.6k—~1.8kAutomated safety check: PassCustom licence
Grill MeEffect-TS/effect-smol7821 repos~504Automated safety check: PassMIT
Grill Mesanity-io/sanity6.4k40 repos~151Automated safety check: PassMIT
Deep Divebyungjunjang/jangpm-meta-skills121—~2.5kAutomated safety check: PassNone

Similar skills

  • Grilling

    bestofjs/bestofjs

    Grill the user relentlessly about a plan, decision, or idea.

    3.1k GitHub starsUsed in 30 repos~464 tokens
    Agent WorkflowsAuto-check passed
  • Grill Me

    nateherkai/AIS-OS

    Interview the user relentlessly about a plan, design, or topic, checkpointing every answer to a brainstorm file so nothing is lost.

    1.6k GitHub stars~1.8k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Grill Me

    Effect-TS/effect-smol

    Interview the user about a plan or design until reaching shared understanding, resolving each branch of the decision tree.

    782 GitHub starsUsed in 1 repo~504 tokens
    Agent WorkflowsAuto-check passed
  • Grill Me

    sanity-io/sanity

    Official

    Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree.

    6.4k GitHub starsUsed in 40 repos~151 tokens
    Agent WorkflowsAuto-check passed
  • Deep Dive

    byungjunjang/jangpm-meta-skills

    Socratic interview skill to deepen a spec or refine an existing agent blueprint.

    121 GitHub stars~2.5k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Grilling

    opencrvs/opencrvs-core

    Grill the user relentlessly about a plan or design. An agent skill from opencrvs/opencrvs-core.

    120 GitHub starsUsed in 2 repos~205 tokens
    Agent WorkflowsAuto-check passed

More from SethGammon/Citadel

All 48 skills in this repo
  • Create Skill

    SethGammon/Citadel

    Creates new skills from the user's repeating patterns. An agent skill from SethGammon/Citadel.

    922 GitHub stars~1.9k tokensUpdated 6 days ago
    Auto-check passed
  • Houseclean

    SethGammon/Citadel

    Cross-drive storage audit and cleanup. An agent skill from SethGammon/Citadel.

    922 GitHub stars~2.2k tokensUpdated 6 days ago
    Auto-check passed
  • Loop

    SethGammon/Citadel

    Bounded foreground repetition for the current session. An agent skill from SethGammon/Citadel.

    922 GitHub stars~1.4k tokensUpdated 6 days ago
    Auto-check passed
  • Triage

    SethGammon/Citadel

    GitHub issue and PR investigator. An agent skill from SethGammon/Citadel.

    922 GitHub stars~2.7k tokensUpdated 6 days ago
    Auto-check passed
  • Watch

    SethGammon/Citadel

    File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills.

    922 GitHub stars~2.9k tokensUpdated 6 days ago
    Auto-check passed
  • Archon

    SethGammon/Citadel

    Autonomous multi-session campaign agent. An agent skill from SethGammon/Citadel.

    922 GitHub stars~5.4k tokensUpdated 6 days ago
    Auto-check passed

Categories

Questions about Grill

What does Grill do?

Relentless one-question-at-a-time interview that sharpens a vague plan or design into shared understanding before any build. Grill is an agent skill from SethGammon/Citadel. Relentless one-question-at-a-time interview that sharpens a vague plan or design into shared understanding before any build.

When should I use Grill?

Grill fits situations like: the user says grill me; asks to stress-test a plan; starts a feature whose scope is still fuzzy.

How do I install Grill in Claude Code?

Run `npx skills add SethGammon/Citadel --skill grill -a claude-code`. Or copy the skill folder (skills/grill in SethGammon/Citadel) into .claude/skills/grill in your project. Claude Code loads it when a task matches its description.

How do I install Grill in Codex?

Run `npx skills add SethGammon/Citadel --skill grill -a codex`. Or copy the skill folder (skills/grill in SethGammon/Citadel) into .agents/skills/grill in your project. Codex loads it when a task matches its description.

Can I use Grill in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SethGammon/Citadel --skill grill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/grill, .gemini/skills/grill, .github/skills/grill and .opencode/skills/grill in your project.

What does Grill need to run?

SKILL.md names no scripts, command-line tools or credentials: Grill is instructions for the agent only.

Does Grill access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Grill safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Grill use?

Grill is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Grill use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Grill?

Skills that share tags, products or a category with Grill: Grilling (bestofjs/bestofjs, 3.1k stars), Grill Me (nateherkai/AIS-OS, 1.6k stars), Grill Me (Effect-TS/effect-smol, 782 stars) and Grill Me (sanity-io/sanity, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Grill?

SethGammon (a GitHub user) maintains it in SethGammon/Citadel, which has 922 GitHub stars. The repository holds 48 skills in this directory. The repository was last updated on October 1, 2026.

Source: SethGammon/Citadel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.