domain-modeling

Build and maintain project domain glossaries and architectural decision records.

1|Updated Mar 2, 2026
One-click install
npx skills add https://github.com/mst-software-vn/mst-checkscam --skill domain-modeling-mst-software-vn
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/mst-software-vn/mst-checkscam/tree/main/.claude/skills/domain-modeling
Command: npx skills add https://github.com/mst-software-vn/mst-checkscam --skill domain-modeling-mst-software-vn

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 code and repeated debates. This Skill actively builds a ubiquitous language glossary (CONTEXT.md) and records architectural decisions (ADRs) as they crystallize during design sessions. ## Core Features & Use Cases - Ubiquitous Language Management: Challenges conflicting or vague terms, proposes canonical definitions, and updates CONTEXT.md inline the moment a term is resolved. - Architectural Decision Records: Offers ADRs only when a decision is hard to reverse, surprising without context, and the result of a real trade-off, using a minimal numbered format in docs/adr/. - Multi-Context Support: Handles single-context repos with one CONTEXT.md or 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 offers an ADR when the team picks event-sourced writes over a CRUD model. ## Quick Start Help me define the domain terminology for my project and record the architectural decisions we make in CONTEXT.md and docs/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 three conditions hold: the decision is hard to reverse, it is surprising without context, and it resulted from a real trade-off between alternatives. If any condition is missing, skip the ADR to avoid documentation noise.

How do I handle multiple bounded contexts in one repository?▼

Create a CONTEXT-MAP.md at the repo root listing each context, where its CONTEXT.md lives, and how contexts relate to each other. Each context keeps its own glossary and can have its own docs/adr/ directory for context-specific decisions.

What format should an ADR follow?▼

ADRs live in docs/adr/ with sequential numbering like 0001-slug.md. The minimal format is a title plus one to three sentences covering context, decision, and rationale; optional sections like Status or Considered Options are added only when they add genuine value.

What are the limitations of a CONTEXT.md glossary?▼

CONTEXT.md is a glossary only and must stay free of implementation details, specs, or scratch notes. It should contain only terms specific to the project's domain, not general programming concepts like timeouts or error types.