domain-modeling

Build and maintain project domain glossaries and architecture decision records.

Updated Sep 19, 2026
One-click install
npx skills add https://github.com/Ab0umar/selrs.cc.BU --skill domain-modeling-ab0umar
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/Ab0umar/selrs.cc.BU/tree/main/.agents/skills/domain-modeling
Command: npx skills add https://github.com/Ab0umar/selrs.cc.BU --skill domain-modeling-ab0umar

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose shared understanding of domain terminology and forget why key architectural decisions were made, leading to inconsistent language in code and repeated re-litigation of settled trade-offs. ## Core Features & Use Cases - Ubiquitous Language Management: Create and update CONTEXT.md glossaries with canonical terms, tight definitions, and explicit words to avoid, supporting both single-context and multi-context repos via CONTEXT-MAP.md. - Architecture Decision Records: Write sequentially numbered ADRs in docs/adr/ using a minimal template, offered only when a decision is hard to reverse, surprising without context, and the result of a real trade-off. - Active Model Sharpening: Challenge conflicting terminology, sharpen fuzzy language, stress-test domain relationships with concrete edge-case scenarios, and cross-reference stated behavior against the actual code. - Use Case: While designing a billing feature, a user says "account" ambiguously; the skill asks whether they mean Customer or User, resolves the term, updates CONTEXT.md inline, and records an ADR when the team picks event-based communication between Ordering and Billing. ## Quick Start Help me define the domain terms for our ordering module and record why we chose event-driven communication in 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 domain glossary for my codebase?▼

Create a CONTEXT.md file at the repo root listing canonical domain terms with one or two sentence definitions and words to avoid. For multi-context repos, add a CONTEXT-MAP.md at the root pointing to each context's own CONTEXT.md file.

When should I write an architecture decision record?▼

Write an ADR only when a decision is hard to reverse, surprising without context, and the result of a genuine trade-off between alternatives. Easy-to-reverse or obvious decisions do not need records.

What format should an ADR use?▼

ADRs live in docs/adr/ with sequential numbering like 0001-slug.md. The minimal template 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 value.

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

Place a CONTEXT-MAP.md at the repo root listing each context, its location, and its relationships, then give each context its own CONTEXT.md and context-specific docs/adr/ directory for local decisions.

What belongs in a CONTEXT.md glossary?▼

Only terms specific to the project's domain belong in CONTEXT.md, defined in one or two sentences with avoided synonyms listed. General programming concepts and implementation details are explicitly excluded.