domain-modeling

Build and maintain project glossaries and architecture decision records during design discussions.

Updated Apr 23, 2026
One-click install
npx skills add https://github.com/sndrgrdn/skills --skill domain-modeling-sndrgrdn
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/sndrgrdn/skills/tree/main/domain-modeling
Command: npx skills add https://github.com/sndrgrdn/skills --skill domain-modeling-sndrgrdn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Domain language drifts as a project grows: the same concept gets called three different names, and the reasoning behind key architectural choices gets lost. This Skill actively sharpens a project's domain model during design conversations by challenging fuzzy terminology, stress-testing concepts with edge-case scenarios, and recording decisions the moment they crystallize. ## Core Features & Use Cases - Ubiquitous Language Management: Maintains a CONTEXT.md glossary with opinionated canonical terms and explicit "avoid" lists, updated inline as terms are resolved. - Architecture Decision Records: Creates lightweight ADRs in docs/adr/ only when a decision is hard to reverse, surprising without context, and the result of a real trade-off. - Multi-Context Support: Handles both single-context repos (one root CONTEXT.md) and multi-context repos via a CONTEXT-MAP.md describing bounded contexts and their relationships. - Use Case: While designing an ordering system, the user says "account" ambiguously. The Skill asks whether they mean Customer or User, records the resolved term in CONTEXT.md, and later offers an ADR when the team decides Ordering and Billing will communicate via domain events instead of synchronous HTTP. ## Quick Start Help me sharpen the domain model for my ordering system and record any key architectural decisions as ADRs.

Frequently Asked Questions about domain-modeling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a domain glossary for my codebase?▼

Create a CONTEXT.md file at the repo root listing canonical terms with one or two sentence definitions and an "Avoid" list of rejected synonyms. Update it inline whenever a term is resolved during design discussions, and keep it free of implementation details.

When should I write an architecture decision record?▼

Write an ADR only when all three conditions hold: the decision is hard to reverse, it would surprise a future reader without context, and it resulted from a genuine trade-off between alternatives. Skip ADRs for easily reversed or obvious choices.

How do I document multiple bounded contexts in one repo?▼

Place a CONTEXT-MAP.md at the repo root listing each context, where it lives, and how contexts relate to each other, such as event flows or shared types. Each context then keeps its own CONTEXT.md glossary and context-specific ADR directory.

What belongs in a CONTEXT.md glossary file?▼

Only terms specific to the project's domain belong in CONTEXT.md, each with a tight one or two sentence definition. General programming concepts like timeouts or error types should be excluded, and implementation details must never appear in the glossary.

What is the correct format for an ADR file?▼

ADRs live in docs/adr/ with sequential numbered filenames like 0001-slug.md. The body can be as short as a title plus one to three sentences covering context, decision, and rationale, with optional Status, Considered Options, and Consequences sections only when they add value.