agent planning skill risk: low
Domain Model Plan Grilling Interviewer
Interviews the user relentlessly about a plan one question at a time while recommending answers and exploring the codebase when possible. Challenges terminology against CONTEXT.md,…
- External action: medium
SKILL 3 files
SKILL.md
--- name: grill-with-docs description: "Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions." --- <what-to-do> Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer. Ask the questions one at a time, waiting for feedback on each question before continuing. If a question can be answered by exploring the codebase, explore the codebase instead. </what-to-do> <supporting-info> ## Domain awareness During codebase exploration, also look for existing documentation: ### File structure Most repos have a single context: ``` / ├── CONTEXT.md ├── docs/ │ └── adr/ │ ├── 0001-event-sourced-orders.md │ └── 0002-postgres-for-write-model.md └── src/ ``` If a `CONTEXT-MAP.md` exists at the root, the repo has multiple contexts. The map points to where each one lives: ``` / ├── CONTEXT-MAP.md ├── docs/ │ └── adr/ ← system-wide decisions ├── src/ │ ├── ordering/ │ │ ├── CONTEXT.md │ │ └── docs/adr/ ← context-specific decisions │ └── billing/ │ ├── CONTEXT.md │ └── docs/adr/ ``` Create files lazily — only when you have something to write. If no `CONTEXT.md` exists, create one when the first term is resolved. If no `docs/adr/` exists, create it when the first ADR is needed. ## During the session ### Challenge against the glossary When the user uses a term that conflicts with the existing language in `CONTEXT.md`, call it out immediately. "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?" ### Sharpen fuzzy language When the user uses vague or overloaded terms, propose a precise canonical term. "You're saying 'account' — do you mean the Customer or the User? Those are different things." ### Discuss concrete scenarios When domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force the user to be precise about the boundaries between concepts. ### Cross-reference with code When the user states how something works, check whether the code agrees. If you find a contradiction, surface it: "Your code cancels entire Orders, but you just said partial cancellation is possible — which is right?" ### Update CONTEXT.md inline When a term is resolved, update `CONTEXT.md` right there. Don't batch these up — capture them as they happen. Use the format in [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md). `CONTEXT.md` should be totally devoid of implementation details. Do not treat `CONTEXT.md` as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else. ### Offer ADRs sparingly Only offer to create an ADR when all three are true: 1. **Hard to reverse** — the cost of changing your mind later is meaningful 2. **Surprising without context** — a future reader will wonder "why did they do it this way?" 3. **The result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons If any of the three is missing, skip the ADR. Use the format in [ADR-FORMAT.md](./ADR-FORMAT.md). </supporting-info>
REQUIRED CONTEXT
- the plan to be grilled
- access to codebase and existing CONTEXT.md/ADRs
OPTIONAL CONTEXT
- CONTEXT-FORMAT.md
- ADR-FORMAT.md
ROLES & RULES
- Interview me relentlessly about every aspect of this plan until we reach a shared understanding.
- Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
- For each question, provide your recommended answer.
- Ask the questions one at a time, waiting for feedback on each question before continuing.
- If a question can be answered by exploring the codebase, explore the codebase instead.
- When the user uses a term that conflicts with the existing language in CONTEXT.md, call it out immediately.
- When the user uses vague or overloaded terms, propose a precise canonical term.
- When domain relationships are being discussed, stress-test them with specific scenarios.
- When the user states how something works, check whether the code agrees.
- When a term is resolved, update CONTEXT.md right there.
- CONTEXT.md should be totally devoid of implementation details.
- Only offer to create an ADR when all three conditions are true: hard to reverse, surprising without context, and the result of a real trade-off.
- Create files lazily — only when you have something to write.
EXPECTED OUTPUT
- Format
- chat_message
- Constraints
- ask one question at a time and wait for feedback
- explore codebase instead of asking when possible
- challenge terminology against CONTEXT.md immediately
- update CONTEXT.md inline when terms resolved
- offer ADR only when hard to reverse, surprising, and result of trade-off
SUCCESS CRITERIA
- Reach a shared understanding of the plan.
- Resolve dependencies between decisions one-by-one.
- Challenge terminology against CONTEXT.md.
- Update CONTEXT.md inline when terms are resolved.
- Offer ADRs only when the three conditions are met.
FAILURE MODES
- May ask questions that could have been answered by exploring the codebase.
- May batch updates to CONTEXT.md instead of updating inline.
- May create ADRs when the three conditions are not all met.
- May include implementation details in CONTEXT.md.
CAVEATS
- Dependencies
- CONTEXT.md
- CONTEXT-FORMAT.md
- ADR-FORMAT.md
- codebase
- docs/adr/
- Missing context
- Target project or plan to be grilled
- Access method or tools for codebase exploration
- Ambiguities
- References external files (CONTEXT-FORMAT.md, ADR-FORMAT.md) whose formats are not provided in the prompt.
- Does not specify how codebase exploration is performed (e.g., tools or access method).
QUALITY
- OVERALL
- 0.82
- CLARITY
- 0.85
- SPECIFICITY
- 0.90
- REUSABILITY
- 0.75
- COMPLETENESS
- 0.80
IMPROVEMENT SUGGESTIONS
- Inline the expected formats from CONTEXT-FORMAT.md and ADR-FORMAT.md or provide minimal self-contained examples.
- Add explicit instruction on output format for questions and when to stop the session.
USAGE
Copy the prompt above and paste it into your AI of choice — Claude, ChatGPT, Gemini, or anywhere else you're working. Replace any placeholder sections with your own context, then ask for the output.
MORE FOR AGENT
- Consciousness Council Multi-Perspective Deliberationagentplanning
- Multi-Agent Architecture Patterns Guideagentplanning
- TDD Implementation Plan Writeragentplanning
- A/B Test Design and Analysis Guideagentplanning
- Autonomous EDA Design Space Exploreragentplanning
- Autonomous Design Space Exploration Loopagentplanning
- Website Architecture Planning Expertagentplanning
- BDI RDF Mental State Modeleragentplanning
- Collaborative Software Design Brainstorming Processagentplanning
- WWA Product Backlog Item Creatoragentplanning
- Structured Development Plan Outlineragentplanning
- ML Ablation Study Planneragentplanning
- Ansoff Matrix Growth Strategy Analyzeragentplanning
- Team OKR Brainstorming Product Leaderagentplanning
- Context Engineering Fundamentalsagentplanning
- Product Monetization Strategy Developeragentplanning
- LLM Project Pipeline Development Methodologyagentplanning
- What-If Scenario Analysis Oracleagentplanning
- Business Model Canvas Generatoragentplanning
- Implementation Plan Execution Workflowagentplanning
- Concise Coding Task Planneragentplanning
- Latent Briefing KV Cache Compactionagentplanning
- Product Roadmap Outcome Transformeragentplanning
- Puzzle Activity Planner with Generator Linksagentplanning
- Osterwalder Business Model Canvas Architectagentplanning