From tdder
Interviews Product Owner about plans, challenges them against existing domain model, sharpens terminology, and updates bounded-context files and Gherkin features inline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tdder:grill-poThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interview the user relentlessly about every aspect of their plan until you reach a shared understanding.
Interview the user relentlessly about every aspect of their plan until you 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 questions one at a time, waiting for feedback on each before continuing.
If a question can be answered by exploring the codebase, explore the codebase instead.
During codebase exploration, also look for existing documentation.
Single-context repo:
/
├── bounded-context.md
├── docs/
│ └── features/
│ ├── place-order.feature
│ └── cancel-order.feature
└── src/
Multi-context mono-repo:
/
├── README.md ← contains "Bounded Contexts" section (context map)
├── AGENTS.md ← contains "Bounded Contexts" section (context map)
├── docs/
├── src/
│ ├── ordering/
│ │ ├── ordering-bounded-context.md
│ │ └── docs/features/ ← context-specific features
│ └── billing/
│ └── billing-bounded-context.md
Create files lazily — only when you have something to write.
Detecting the structure:
bounded-context.md exists at root → single context*-bounded-context.md files exist elsewhere → multi-context; read the "Bounded Contexts" section of
README.md or AGENTS.md for the context mapbounded-context.md lazily when the first term is resolvedWhen multiple contexts exist, infer which one the current topic relates to. If unclear, ask.
When the user uses a term that conflicts with the existing language in the bounded-context file, call it out immediately. "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?"
Also scan existing .feature files for terminology drift: if a scenario uses a term differently from the
bounded-context file, surface it. "Your feature file says 'purchase' but the glossary defines that concept
as 'order' — which should it be?"
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."
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.
When a term is resolved, update the bounded-context file right there. Don't batch these up — capture them as they happen. Use the format in bounded-context-format.md.
The bounded-context file must be totally devoid of implementation details. Do not treat it as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else.
When a feature is agreed on, write or update a .feature file in docs/features/ (or the context-specific
equivalent). Use standard Gherkin (Feature, Scenario, Given/When/Then). Rules:
.feature file per feature area, named after it (e.g. place-order.feature)Only offer to create a DMD when all three are true:
If any of the three is missing, skip the DMD. Use the format in dmd-format.md.
npx claudepluginhub t1/tdder --plugin tdderStress-tests plans and terminology against the project's domain model and documented decisions via Socratic questioning. Updates CONTEXT.md and ADRs inline as decisions crystallise.
Stress-tests a plan against the project's domain model, sharpens terminology, and updates CONTEXT.md and ADRs inline as decisions crystallise. Run before /claude-setup:build on non-trivial features in repos that have (or should have) a CONTEXT.md.
Stress-tests a plan against existing domain model, refines terminology, and updates CONTEXT.md/ADRs inline as decisions crystallize.