domain-modeling

Build and maintain project domain glossaries and architectural decision records.

Updated Jul 28, 2026
One-click install
npx skills add https://github.com/CybernetKZ/sdd-kit --skill domain-modeling-cybernetkz
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/CybernetKZ/sdd-kit/tree/main/templates/_migrated/skills/domain-modeling
Command: npx skills add https://github.com/CybernetKZ/sdd-kit --skill domain-modeling-cybernetkz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose shared understanding of domain terminology and forget why architectural decisions were made, leading to inconsistent language in code and repeated debates over settled trade-offs. ## Core Features & Use Cases - Ubiquitous Language Management: Challenge conflicting terms, sharpen vague language, and record resolved terms in a CONTEXT.md glossary with preferred words and terms to avoid. - Architectural Decision Records: Offer and write 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: Handle single-context repos with one CONTEXT.md or multi-context repos via a CONTEXT-MAP.md linking per-context glossaries and ADRs. - 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 drafts an ADR when the team picks event-sourced orders over a CRUD model. ## Quick Start Ask the assistant to use the domain-modeling skill to pin down the term "cancellation" in CONTEXT.md and record why we chose Postgres for the write model as an ADR.

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 ubiquitous language glossary for my project?▼

Create a CONTEXT.md file at the repo root listing each domain term with a one or two sentence definition and an _Avoid_ line for rejected synonyms. Update it inline whenever a term is resolved during design discussions rather than batching changes.

When should I write an architectural decision record?▼

Write an ADR only when all three conditions hold: the decision is hard to reverse, it is surprising without context, and it resulted from a real trade-off between genuine alternatives. If any condition is missing, skip the ADR.

How do I handle domain modeling in a multi-context or monorepo project?▼

Place a CONTEXT-MAP.md at the repo root listing each bounded context, its location, and its relationships. Each context then keeps its own CONTEXT.md glossary and context-specific docs/adr/ directory, while system-wide decisions live in the root docs/adr/.

What belongs in CONTEXT.md versus an ADR?▼

CONTEXT.md is purely a glossary of domain terms with definitions and avoided synonyms, containing no implementation details. ADRs capture decisions and their rationale, such as technology lock-ins, integration patterns, or deliberate deviations from the obvious approach.

What format should an ADR follow?▼

An ADR is a sequentially numbered Markdown file in docs/adr/ like 0001-slug.md, containing a title and one to three sentences covering context, decision, and rationale. Optional sections for status, considered options, and consequences are added only when they add genuine value.