domain-modeling

Build and maintain project domain glossaries and architecture decision records.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose shared understanding of domain terminology and the reasoning behind architectural decisions, leading to inconsistent language in code and repeated debates about settled choices. This Skill actively sharpens a project's domain model by maintaining a CONTEXT.md glossary and recording Architecture Decision Records (ADRs) when decisions crystallize. ## Core Features & Use Cases - Glossary Management: Creates and updates CONTEXT.md files with opinionated canonical terms, explicit Avoid lists, and support for multi-context repos via CONTEXT-MAP.md. - Language Sharpening: Challenges vague or conflicting terminology during design discussions and cross-references stated behavior against actual code. - Selective ADR Recording: Offers ADRs only when a decision is hard to reverse, surprising without context, and the result of a real trade-off, using a minimal sequential-numbering format in docs/adr/. - 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 proposes an ADR when the team chooses event-sourced orders over a CRUD model. ## Quick Start Help me define the domain terminology for my billing module and record an ADR for our decision to use domain events between contexts.

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. Add terms lazily as they are resolved during design discussions, keeping the file free of implementation details.

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. Store ADRs in docs/adr/ with sequential numbering like 0001-slug.md, and keep them as short as a single paragraph.

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 maintain context-specific ADRs in its own docs/adr/ directory.

What belongs in a CONTEXT.md glossary file?▼

Only terms specific to the project's domain belong in CONTEXT.md, defined in one or two sentences describing what the term is. General programming concepts like timeouts or error types should be excluded even if the project uses them extensively.

When should I not create an ADR?▼

Skip an ADR when a decision is easy to reverse, unsurprising to a future reader, or had no real alternative. Recording obvious or reversible choices adds noise without preserving useful reasoning.