domain-modeling

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

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Domain terminology drifts and design decisions get forgotten as a codebase evolves, leaving future readers guessing why things were built a certain way. This Skill actively sharpens your project's domain model during design sessions by challenging fuzzy terms, stress-testing concepts with edge-case scenarios, and recording glossary entries and Architecture Decision Records (ADRs) the moment they crystallize. ## Core Features & Use Cases - Ubiquitous Language Management: Maintains a CONTEXT.md glossary with opinionated canonical terms and explicit "avoid" lists, supporting both single-context repos and multi-context setups via CONTEXT-MAP.md. - Active Terminology Challenges: Detects when your language conflicts with the existing glossary or when terms are vague, and cross-references stated behavior against actual code to surface contradictions. - Disciplined ADR Recording: Offers to write sequentially numbered ADRs in docs/adr/ only when a decision is hard to reverse, surprising without context, and the result of a real trade-off. - Use Case: While designing an ordering system, you casually say "account" — the Skill asks whether you mean Customer or User, updates CONTEXT.md with the resolved term, and later records an ADR explaining why Ordering and Billing communicate via domain events instead of synchronous HTTP. ## Quick Start Help me sharpen the domain model for my billing module and record any significant architectural decisions we make along the way.

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. Terms are added lazily as they are resolved during design discussions, and implementation details are kept out.

When should I write an Architecture Decision Record?▼

Write an ADR only when all three criteria hold: the decision is hard to reverse, it is surprising without context, and it resulted from a genuine trade-off between alternatives. Easy-to-reverse or obvious decisions should be skipped.

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. System-wide ADRs live in the root docs/adr while context-specific decisions live in each context's own docs/adr folder.

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 of what the concept is. General programming concepts like timeouts or error types are excluded even if used extensively.

What format should an ADR follow?▼

An ADR uses sequential numbering like 0001-slug.md in docs/adr and contains a short title plus one to three sentences covering context, decision, and rationale. Optional sections like Status, Considered Options, and Consequences are added only when they add genuine value.