domain-model

OWNER/REPO · updated Apr 27, 2026

$npx skills add https://github.com/mattpocock/skills/blob/main/domain-model/SKILL.md --skill domain-model
0 commentsdiscussion
summary

Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation inline as decisions crystallise.

skill.md

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.

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.

Don't couple CONTEXT.md to implementation details. Only include terms that are meaningful to domain experts.

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.

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.737 reviews
  • Soo Rao· Dec 24, 2024

    Registry listing for domain-model matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Noah Robinson· Dec 8, 2024

    Keeps context tight: domain-model is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Isabella Desai· Dec 4, 2024

    I recommend domain-model for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Mia Gill· Nov 27, 2024

    domain-model has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Hana Harris· Nov 23, 2024

    domain-model reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Maya Perez· Nov 15, 2024

    Useful defaults in domain-model — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Lucas Lopez· Oct 18, 2024

    Solid pick for teams standardizing on skills: domain-model is focused, and the summary matches what you get after install.

  • Benjamin Thompson· Oct 14, 2024

    Registry listing for domain-model matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Diya Huang· Oct 6, 2024

    I recommend domain-model for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Diya Anderson· Sep 25, 2024

    Keeps context tight: domain-model is the kind of skill you can hand to a new teammate without a long onboarding doc.

showing 1-10 of 37

1 / 4