grill-me
Skill3 starsChanged 11 days agoMITView on GitHub
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
193 other projects use a version of this, 67 of them edited.
Adopted by
Most recently taken up by
- xiaoxiaosrm/dsh-mattpocock-skillstheir own version, first seen Nov 8, 2026
- ishandutta2007/Awesome-Claude-Skillstheir own version, first seen Nov 8, 2026
- microsoft/frontier-agentic-modernization-rvastheir own version, first seen Nov 8, 2026
- The-Vibe-Company/quivrtheir own version, first seen Nov 8, 2026
- anotherben/claude-harnessedited, first seen Nov 8, 2026
- codedb-io/codedb-lenstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use brief-to-tasks, writing-beats and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
julianoczkowskiSkillbrief-to-tasks
Break a design brief into an ordered checklist of independently buildable tasks using vertical slices. Saves as a markdown checklist. Use when user wants to break down work, create tasks from a brief, plan implementation order, or mentions "tasks" or "breakdown".
Also in 7 projects that use this
LesaniSkillwriting-beats
Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.
Also in 66 projects that use this
simo97Skillrequest-refactor-plan
Use this skill when user wants to create a refactor plan.
Also in 43 projects that use this
simo97Skillmigrate-to-shoehorn
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
Also in 71 projects that use this
LesaniSkillwriting-shape
Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.
Also in 65 projects that use this
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 42 projects that use this
- +2 more from simo97
Other versions193 projects use a version of this.
Word for word · 0
None found.
Edited · 67
- langfuse/langfuse★ 37k39% same
- openstatusHQ/openstatus★ 9.3k43% same
- webiny/webiny-js★ 8k40% same
- sanity-io/sanity★ 6.4k43% same
- camunda/camunda★ 4.4k43% same
- event-catalog/eventcatalog★ 3k40% same
- Akylas/OSS-DocumentScanner★ 2.6k40% same
- openstatusHQ/data-table-filters★ 2.3k43% same
- owid/owid-grapher★ 1.6k41% same
- ifer47/markeron★ 1.2k40% same
57 more not listed
Wrote their own version · 126
- mattpocock/skills★ 309ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- nrwl/nx★ 29ksame name
- windmill-labs/windmill★ 18ksame name
- GreyDGL/PentestGPT★ 16ksame name
- humanlayer/humanlayer★ 13ksame name
- jaredpalmer/kev★ 9.8ksame name
- ArcReel/ArcReel★ 6.3ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
116 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository36 other files it gives its agents.
- agent-statsSkill
- aristotle-deconstructorSkill
- babysit-prsSkill
- briefingSkill
- code-auditorSkill
- core-editSkill
- create-jira-ticketSkill
- create-tech-specSkill
- cyrus-tdd-engineerSkill
- doctorSkill
- dotfiles-syncSkill
- forgeSkill
- google-docsSkill
- google-driveSkill
- handoffSkill
- lessons-reviewSkill
- mermaid-diagramsSkill
- metrics-emitSkill
- obligationsSkill
- optimus-plannerSkill
- overlay-initSkill
- performance-reviewSkill
- pr-create-from-commitsSkill
- ranger-reviewerSkill
- record-demoSkill
- review-contextSkill
- review-respondSkill
- scout-reviewerSkill
- self-evaluateSkill
- smart-compactSkill
- smart-statuslineSkill
- swarm-retroSkill
- team-leadSkill
- ticket-pickupSkill
- ticket-swarmSkill
- to-prdSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 6 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 177 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Before asking the first question, identify the major decision branches in the plan or design.
- Very specific: line 17
If a plan file exists (e.g., in ~/.claude/tasks/<project>/plans/), read it.
- Distinctive: line 25
If there is no written document, ask the user for a one-paragraph summary and infer the tree from there before asking anything substantive.
- Distinctive: line 30
Never batch questions. Ask one.
- Distinctive: line 39
Every question must come with your recommended answer and the reasoning behind it.
- Distinctive: line 46
If your recommendation is wrong, that is a success — the pushback surfaces a constraint the plan had not captured.
- Distinctive: line 51
If a question is answerable by reading the code, read the code instead of asking.
- Distinctive: line 66
After each answer, restate the decision in one line: "Decided: we will use a feature flag with a 1% → 10% → 100% ramp, with a kill-switch …
- Very specific: line 74
When all branches of the tree are resolved, summarize the full decision set and ask the user if they want to capture it as a plan file or …
- Very specific: line 152
If you already have a finalized plan and want a quality pass rather than a design interview, use /scout-reviewer or /ranger-reviewer …
“Common” is measured: kept by at least 6 in 10 of the 177 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
This skill runs an interactive design interview. The user has a plan, design, or proposal that needs stress-testing. Walk down the decision tree one branch at a time, ensuring every dependency between decisions is resolved before moving on. The goal is not to critique — it is to surface assumptions the user has not yet made explicit.
Process
1. Survey the design tree
Before asking the first question, identify the major decision branches in the plan or design.
If a plan file exists (e.g., in ~/.claude/tasks/<project>/plans/), read it. If the user
referenced a tech spec, PRD, or design doc, read that too.
Map out open decisions in the order they need to be made — earliest dependency first, latest dependent last. For a feature rollout, that might be: rollback strategy, then rollout mechanism, then observability, then cleanup. For a schema change, it might be: migration strategy, then backward compatibility, then validation, then indexing.
If there is no written document, ask the user for a one-paragraph summary and infer the tree from there before asking anything substantive.
2. Ask one question at a time
Never batch questions. Ask one. Wait for the answer. Then decide the next question based on what you just learned. The point is sequential resolution, not a survey. A list of ten open questions handed to the user at once is not an interview — it is homework.
Pick the question that unblocks the most downstream decisions. If the rollback strategy determines what the rollout mechanism can be, ask about rollback first.
3. Recommend an answer with each question
Every question must come with your recommended answer and the reasoning behind it.
The user is stress-testing with your help — they need a concrete position to push back on, not an open-ended prompt. If the user accepts the recommendation, lock the decision and advance down the tree. If they push back, follow the pushback: revise your understanding, update the tree, and ask the next question that flows from the new answer.
If your recommendation is wrong, that is a success — the pushback surfaces a constraint the plan had not captured.
4. Explore the codebase before asking
If a question is answerable by reading the code, read the code instead of asking.
Asking the user about something they could discover with grep is friction. Examples of
questions to answer yourself before asking the user:
- "What is the existing pattern for X in this repo?"
- "Is there already a helper that does Y?"
- "How does module Z handle this edge case today?"
- "What does the current schema for this table look like?"
Surface what you find — "I looked at the existing implementation and it does X, which means the question becomes..." — so the user can see your reasoning and correct it if the code is misleading.
5. Lock decisions as they resolve
After each answer, restate the decision in one line: "Decided: we will use a feature flag with a 1% → 10% → 100% ramp, with a kill-switch toggle in the admin panel."
Maintain a running list of locked decisions visible in the conversation. Before asking a new question, briefly note which locked decisions it depends on. This keeps the conversation from looping back to already-resolved branches and gives the user a clear picture of what remains open.
When all branches of the tree are resolved, summarize the full decision set and ask the user
if they want to capture it as a plan file or PRD (offer /to-prd if appropriate).
Example interactions
Example 1: Stress-testing a feature flag rollout
User: grill me on my plan to roll out the new tax calculation engine behind a feature flag
Assistant: I read the plan doc. Before asking about the rollout ramp, I need to lock the rollback strategy first — it constrains what the ramp can be.
Question: What is the rollback path if the new engine produces wrong results for 0.5% of users in the first hour?
My recommendation: the flag should be a kill-switch in the admin panel that immediately falls back to the old engine for all users, with no code deploy required. This means we need the old engine to stay hot (no lazy-loading) for the full duration of the rollout.
User: agreed, kill-switch makes sense. The old engine can stay hot.
Decided: kill-switch in admin panel, old engine stays warm throughout rollout.
Next: I looked at the existing observability setup. There is a tax_calc_latency_ms metric
but no per-engine breakdown. We need to be able to compare old vs. new engine error rates
during the ramp. Do we add a engine_version tag to the existing metric, or create a
separate metric for the new engine?
My recommendation: tag the existing metric with engine_version=legacy|v2 — one dashboard,
direct comparison, no metric proliferation.
User: yes, tag approach. Let's move on.
Decided: engine_version tag on tax_calc_latency_ms.
Next question: what is the ramp schedule — percentages and time gates between each step?
Example 2: Resolving a schema design fork
User: grill me on adding a
preferencescolumn to theuserstable
Assistant: I looked at the users table schema. It has 23 columns already, some of which
look like they started as single columns and grew into multi-column families (the four
notification_* columns, the three address_* columns). That pattern suggests we have a
history of schema growth.
Question: should preferences be a JSONB column or a separate user_preferences table?
My recommendation: a separate user_preferences table with one row per preference key. It is
harder to query ad-hoc but avoids the JSONB indexing cost and keeps preferences individually
auditable and individually deleteable — important if any preference could be regulated data.
User: I see the auditing argument, but we only have three preference keys and I don't think that will grow past ten. JSONB is simpler.
That constraint changes things — fewer than ten stable keys is a different design point.
Decided: JSONB column on users.
Next: with JSONB, we need a migration strategy for existing rows. I can see from the
migration history that the last three ALTER TABLE users migrations used DEFAULT NULL with
a subsequent backfill job. Should we follow that pattern here?
My recommendation: yes, same pattern — add the column as nullable with no default, backfill
existing rows to '{}'::jsonb in a separate migration, then add the NOT NULL DEFAULT '{}'
constraint. Three migrations, safe on a live table.
User: yes, follow that pattern.
Decided: three-migration approach matching the repo's existing convention.
When NOT to use
If you already have a finalized plan and want a quality pass rather than a design interview,
use /scout-reviewer or /ranger-reviewer instead — they review completed work. Use
/grill-me while you are still in design, when the plan has open questions or untested
assumptions. If you want to turn a resolved conversation into a document, chain to /to-prd
at the end of the interview.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

