Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/toverux-grilling
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/grilling
What's inside
- Skill name
grilling- Description
- Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to be grilled about a plan, wants a decision stress-tested, or when requirements are fuzzy before a spec is written.
- License
- MIT
- Instructions
- 41 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
Interview the user relentlessly until you reach a shared understanding. Map this as a **decision tree**: every decision branches into the decisions that hang off it. 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. Number sequentially across the whole interview rather than restarting each round, so an answer naming Q2 points at one question. Then wait for the user's answers before the next round. Where this session engaged a deputy through `/deputy` and has not dismissed it, what is put to the user here goes to the deputy instead, as [ROUNDS.md](../deputy/ROUNDS.md) says, and the deputy's reply is printed verbatim under a one-line header before anything acts on it; otherwise it goes to the user as written. Each question should be formatted like so: ``` ❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices> ➡️ <your recommended answer> ``` A presented question is **locked**: title, body, options and recommendation stay word-for-word as first shown, and only the user's own feedback can reshape or retire it. Presenting is therefore a commitment — put a question to the user only once you are sure nothing still running can change what you'd ask. Every message of the interview ends with its questions: newly ready ones in full in the format above, under fresh numbers, then one line naming the numbers still open from earlier messages. The lock is what makes that line safe — a number keeps pointing at the exact text first shown, so scrolling to it beats reprinting it. Anything above the questions — findings, replies to the user's remarks — is commentary. 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. When the user's answers carry a question or remark of their own, answer it before opening the next round; never let a new round bury the reply. Finding _facts_ is your job, never the user's. When a frontier question needs a fact from the environment (filesystem, tools, etc.), dispatch a sub-agent to find it — in the background (Claude Code: do not use `run_in_background: false`) — rather than asking the user for anything you could look up yourself. Don't block on it: a running exploration is an unsettled prerequisite — ask the rest of the frontier now, and hold every question the report could reword. A question is downstream of an exploration when its body, options, or recommendation would read differently depending on what comes back — a body that mentions the pending result has declared itself downstream; when in doubt, hold it, since a held question costs one round and a locked question overtaken by facts costs the user's trust in every question still on the table. When an exploration reports, give its findings one short paragraph and fold them into the questions it unblocks; a finding that bears on a locked question goes in that paragraph as commentary for the user to weigh, and the question stands as asked. When the fact lives in external docs or specs rather than the environment, propose `/research` instead. The _decisions_ are the user's — put each to them and wait. ## Closing The session is done when the frontier is empty: every branch of the decision tree visited, nothing left silently assumed. Where another skill invoked this interview, hand back to it there — the close belongs to whichever skill owns the flow. Otherwise close with a single sentence stating that shared understanding is reached — no summary — then recommend the next step as a flow pointer (the message's final paragraph, a blockquote in full italics opening `Next:` — or `Next steps:` over one bullet per pointer — each pointer naming its skill the way this skill was itself invoked, same prefix and namespace, and ending in a one-clause rationale after an em dash) — a **choice**, rendering the step whose condition holds — and wait for the user's go-ahead: - `/spec` (user-invoked) when the outcome is a feature worth a written contract — in this session, since it synthesizes the interview; implementation then starts fresh. - `/implement` (user-invoked) directly when it's a small fix that needs no spec — in this session, which already carries the context. - `/prototype` when an unresolved question survived the interview and needs empirical evidence — in this session, feeding the verdict back here. - `/research` when an unresolved question needs facts from primary sources — it runs in the background while this session continues. - `/questionnaire` (user-invoked) when an unresolved question needs facts only another person holds — in this session, drafting the document; the answers come back on the recipient's clock. Where this session engaged a deputy through `/deputy` and has not dismissed it, a choice is put to the deputy as [ROUNDS.md](../deputy/ROUNDS.md) says and rendered as the one step it chose, any other closing is rendered as written, and each rendered step that names a skill is then taken: one marked `(user-invoked)` by notifying the user where the harness has a tool for it and waiting for them to type it, any other by invoking it, notifying nobody.
From toverux/cantrips, MIT.
More from toverux/cantrips
- 0.606score
review-gate
toverux
The review gate — effort-scaled, multi-angle review of the working diff or the changes since a fixed point, every finding independently verified.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
compound
toverux
Capture this session's durable learnings and route each to the right knowledge store, every write gated on the user or their deputy.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
simplify
toverux
Optional pre-review quality pass — preserving fixes through the reuse, simplification, and efficiency lenses.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
compound-refresh
toverux
Garbage-collect the knowledge stores — audit AGENTS.md, and docs/solutions/ where that store is enabled, against the current code.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
commit
toverux
Scan the session for compound-worthy learnings, then commit the working tree with a repo-appropriate, value-communicating message.
SkillAFreshness: A★ 3Claude Code +9 - 0.600score
sync-upstream
toverux
Reconcile this repo's forked skills with a new upstream release.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
setup-cantrips-loop
toverux
Configure this repo's cantrips loop — knowledge stores and storage backend — by writing docs/agents/cantrips-loop.md.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
implement
toverux
Implement a spec or a single ticket, driving TDD at the seams agreed in the spec.
SkillAFreshness: A★ 3Claude Code +9 - 0.596score
deputy
toverux
Engage a stand-in that answers every later round, gate and closing in your place for the rest of the session, handing back only the decisions you kept, or…
SkillAFreshness: A★ 3Claude Code +9 - 0.590score
afk
toverux
Keep the session's prompt cache warm while you step away.
SkillAFreshness: A★ 3Claude Code +9 - 0.584score
diagnosing-bugs
toverux
Diagnosis loop for hard bugs and performance regressions.
SkillAFreshness: A★ 3Claude Code +9 - 0.579score
codebase-design
toverux
Shared vocabulary for designing deep modules.
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 14, 2026 (16 days ago)
- Last release
- Oct 18, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/toverux/cantrips
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from toverux
- 0.606score
review-gate
toverux
The review gate — effort-scaled, multi-angle review of the working diff or the changes since a fixed point, every finding independently verified.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
compound
toverux
Capture this session's durable learnings and route each to the right knowledge store, every write gated on the user or their deputy.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
simplify
toverux
Optional pre-review quality pass — preserving fixes through the reuse, simplification, and efficiency lenses.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
commit
toverux
Scan the session for compound-worthy learnings, then commit the working tree with a repo-appropriate, value-communicating message.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
compound-refresh
toverux
Garbage-collect the knowledge stores — audit AGENTS.md, and docs/solutions/ where that store is enabled, against the current code.
SkillAFreshness: A★ 3Claude Code +9 - 0.600score
sync-upstream
toverux
Reconcile this repo's forked skills with a new upstream release.
SkillAFreshness: A★ 3Claude Code +9
Cite this page
grilling skill. Agent Mart. https://agentmart.dev/skills/toverux-grilling (last updated 2026-10-24)