Skip to main content
NEW · APP STORE Now on iOS · macOS · iPad Android & Windows soon GET IT
Prompts Domain Model Plan Grilling Interviewer

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

  1. Interview me relentlessly about every aspect of this plan until we reach a shared understanding.
  2. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
  3. For each question, provide your recommended answer.
  4. Ask the questions one at a time, waiting for feedback on each question before continuing.
  5. If a question can be answered by exploring the codebase, explore the codebase instead.
  6. When the user uses a term that conflicts with the existing language in CONTEXT.md, call it out immediately.
  7. When the user uses vague or overloaded terms, propose a precise canonical term.
  8. When domain relationships are being discussed, stress-test them with specific scenarios.
  9. When the user states how something works, check whether the code agrees.
  10. When a term is resolved, update CONTEXT.md right there.
  11. CONTEXT.md should be totally devoid of implementation details.
  12. 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.
  13. 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