grill-me
Interview the user relentlessly about a plan or design until reaching confidence through Socratic questioning. Use when: stress-testing a plan, probing design assumptions, validating feasibility. Triggers on: grill me, stress-test, interview me, validate plan, probe design.
Best use case
grill-me is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Interview the user relentlessly about a plan or design until reaching confidence through Socratic questioning. Use when: stress-testing a plan, probing design assumptions, validating feasibility. Triggers on: grill me, stress-test, interview me, validate plan, probe design.
Teams using grill-me should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/grill-me/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How grill-me Compares
| Feature / Agent | grill-me | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Interview the user relentlessly about a plan or design until reaching confidence through Socratic questioning. Use when: stress-testing a plan, probing design assumptions, validating feasibility. Triggers on: grill me, stress-test, interview me, validate plan, probe design.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Grill Me Interview the user relentlessly about a plan or design using structured Socratic questioning until reaching high confidence. Walk the decision tree systematically, uncover hidden assumptions, expose edge cases, and validate feasibility before implementation. ## Workflow ### Phase 1: Read Context and Scope Before asking anything, gather the full context: - Read any provided design documents, specs, or written plans - Read relevant code if the user references existing systems - Understand the scope: is this a new feature, refactor, infrastructure change, architecture shift? - Identify the primary risk factors and dependencies If the user hasn't provided context, ask them to share the plan first: ``` What's the design or plan you want me to grill you on? Please share: - A brief description or goals - Any relevant code or documentation - Constraints or requirements ``` **Do not proceed until you have context to work with.** ### Phase 2: Identify Question Categories Structure your questioning around these categories: | Category | Focus | Example Questions | |----------|-------|-------------------| | **Requirements** | What is the user trying to solve? | "What problem does this solve?" "Who are the users?" "What success looks like?" | | **Assumptions** | What is the user taking for granted? | "Why are you using technology X?" "What if that assumption is wrong?" "Have you validated this with users?" | | **Constraints** | What are the boundaries? | "What are the hard constraints (time, budget, scale)?" "What are you not allowed to change?" "What's the deployment path?" | | **Dependencies** | What else must be true? | "What other systems must exist?" "What's the critical path?" "What could block you?" | | **Edge Cases** | What could break it? | "What happens at scale?" "What about error cases?" "What if X fails?" | | **Validation** | How will you know it works? | "How will you measure success?" "What are your test criteria?" "How will you catch regressions?" | ### Phase 3: Build the Decision Tree Map out the logical dependencies between decisions: ``` Primary decision ├── Sub-decision A │ ├── Implementation choice A.1 │ └── Implementation choice A.2 ├── Sub-decision B │ ├── Validation approach B.1 │ └── Rollback plan B.2 └── Sub-decision C ``` Identify which decisions must be resolved first (blockers) and which can be explored in parallel. **Important:** Ask about high-impact, high-uncertainty decisions first. Skip decisions that are already locked down (unless you spot contradictions). ### Phase 4: Ask Questions Sequentially For each unresolved branch, ask exactly one focused question: **Structure of each question:** 1. **Establish context** — briefly remind the user why this matters 2. **Ask the question** — specific, not open-ended 3. **Provide your recommended answer** — what you'd do or what you've seen work 4. **Flag risks** — what could go wrong if the opposite choice is made 5. **Pause for response** — wait for the user's answer before moving on Example: ``` You're planning async message processing. The question is: should messages be processed in order (FIFO) or can they be out of order? My recommendation: enforce FIFO unless you have a specific reason not to. Out-of-order processing complicates debugging and introduces race conditions. Risk if you go out-of-order: state consistency bugs that are hard to reproduce. What's your thinking here? ``` ### Phase 5: Explore the Codebase When Applicable If a question can be answered by reading code, do that instead of asking: ```bash # Examples: grep -r "MessageQueue" src/ # How are messages currently queued? grep -r "error handling" src/ # What error patterns already exist? find . -name "*.test.ts" | head -5 # What's the testing pattern? ``` Surface findings to the user: ``` I found that your existing API already has retry logic in [file:line]. Given that, my question becomes: should we reuse this pattern or replace it? ``` ### Phase 6: Escalate on Conflicts If the user's answer contradicts earlier statements or introduces new risks, surface this explicitly: ``` You said earlier that latency is critical, but now you're proposing a synchronous validation step that could block for seconds. How do you reconcile these constraints? ``` Do not accept contradictions silently. Push back gently but clearly. ### Phase 7: Recognize Completion Signals Stop questioning when: - **All high-impact decisions are resolved** — the user has clear answers to every critical question - **All branches of the decision tree are explored** — you've walked the full dependency graph - **Validation plan is solid** — the user knows how to measure success and catch failures - **Risk mitigation is addressed** — for each major risk, there's a mitigation or acceptance - **The user signals confidence** — they say "I'm confident now" or "This is locked" - **You've reached a decision impasse** — the user is unwilling to change their mind despite contradictions (note this in your closing) ### Phase 8: Summarize and Confirm When you've finished questioning, provide a brief summary: ``` ## Summary ### Decisions Locked - Message processing: FIFO with retry logic (max 3 retries) - Deployment: Blue-green with health checks - Monitoring: Custom metrics on latency percentiles ### Remaining Risks - Database scaling: you identified this but haven't validated with ops yet - Failover time: depends on network convergence (currently untested) ### Next Steps 1. Validate with ops team on database capacity 2. Run failover simulation to measure real time 3. Build monitoring dashboard before launch Confidence level: High on architecture, Medium on operational readiness. Ready to design in detail? ``` ## Question Categories Reference ### Requirements Questions - "Who are the end users of this feature?" - "What's the primary problem this solves?" - "What's the definition of success?" - "What's the deadline, and is it flexible?" - "What's the budget or resource constraint?" ### Assumptions Questions - "Why did you choose technology/pattern X?" - "What are you assuming about user behavior?" - "What if that assumption is wrong?" - "Have you validated this with real users/data?" - "Are there alternatives you considered and rejected?" ### Constraints Questions - "What can't you change about the existing system?" - "What are the hard limits (performance, cost, security)?" - "What dependencies do you have on other teams?" - "What's your deployment window?" - "What's the rollback plan if things go wrong?" ### Dependencies Questions - "What has to be true for this to work?" - "What systems must integrate with yours?" - "What's the critical path?" - "What could cause cascading failures?" - "How do you handle partial failures?" ### Edge Cases Questions - "What happens when X fails?" - "How do you handle malformed input?" - "What's your load limit, and what happens beyond it?" - "How do you prevent race conditions?" - "What about old API clients or legacy data?" ### Validation Questions - "How will you know this is working?" - "What metrics matter most?" - "How will you catch regressions?" - "What's your monitoring strategy?" - "What's your testing approach—unit, integration, e2e, load?" ## Examples ### Positive Trigger User: "Grill me on this auth system design." Expected behavior: Read the design, identify key decisions, ask probing questions about assumptions and edge cases, validate feasibility, and push back on contradictions. --- User: "Stress-test my plan for migrating to a new database." Expected behavior: Map out the migration steps, probe assumptions about downtime and rollback, identify risks around data consistency, ask validation questions. --- User: "Interview me on this feature proposal before I write code." Expected behavior: Understand the requirements, validate the approach against constraints, uncover hidden dependencies, ensure the user is thinking through edge cases. ### Non-Trigger User: "Review this code and fix the bugs." Expected behavior: Do not use grill-me. The user wants code review and fixes, not an interview. Use a code review skill instead. --- User: "What do you think of this design?" Expected behavior: Do not use grill-me unless the user explicitly asks to be grilled. Provide direct feedback or a review instead. ## Troubleshooting ### Skill Does Not Trigger - Error: Claude gives feedback or suggestions instead of asking questions. - Cause: User said "review" or "give feedback" instead of "grill me" or "stress-test". - Solution: Explicitly ask to be grilled: "Grill me on this plan", "Stress-test my design", "Interview me about this architecture". ### Questions Feel Generic or Repetitive - Error: Questions don't reflect the specific plan or codebase context. - Cause: Insufficient context provided, or questions asked too quickly before analysis. - Solution: Share the plan, design doc, or code first. Spend Phase 1 understanding the context thoroughly before asking. ### User Feels Defensive - Error: User pushes back on the questioning style or says "I know this already". - Cause: Questions felt accusatory or didn't acknowledge the user's expertise. - Solution: Reframe as collaborative: "Let me make sure I understand your thinking..." instead of "Have you considered...?" ### No Clear Direction Emerges - Error: After many questions, the plan is still unclear or contradictory. - Cause: Too many parallel branches explored at once, or user is uncertain about goals. - Solution: Zoom out. Ask: "What's the ONE most important constraint for this design?" and rebuild the decision tree from there.