domain-modeling

Builds and maintains project domain glossaries and architecture decision records.

Updated Sep 14, 2026
One-click install
npx skills add https://github.com/Suge8/skills --skill domain-modeling-suge8
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/Suge8/skills/tree/main/workflow/domain-modeling
Command: npx skills add https://github.com/Suge8/skills --skill domain-modeling-suge8

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 over settled choices. This Skill actively maintains a CONTEXT.md glossary and numbered ADRs so terminology and decisions stay documented as they emerge. ## Core Features & Use Cases - Ubiquitous Language Management: Challenges ambiguous or conflicting terms during design discussions and records precise definitions in CONTEXT.md, including terms to avoid. - Architecture Decision Records: Proposes ADRs only when a decision is hard to reverse, surprising without context, and involves a real trade-off, stored as numbered files in docs/adr/. - Multi-Context Support: Handles 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, a user says "account" loosely; the Skill asks whether they mean Customer or User, records the chosen term in CONTEXT.md, and drafts an ADR when the team decides Ordering and Billing communicate via domain events instead of synchronous HTTP. ## Quick Start Ask the agent to help refine the domain model for your project, record the term "Invoice" in CONTEXT.md, and write an ADR for the decision to use event sourcing for orders.

Frequently Asked Questions about domain-modeling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I document domain terminology in a codebase?▼

Maintain a CONTEXT.md file at the repository root that defines each domain term in one or two sentences and lists synonyms to avoid. Update it inline as terms are resolved during design discussions rather than batching changes.

When should I write an architecture decision record?▼

Write an ADR only when three conditions hold: the decision is hard to reverse, it would surprise a future reader without context, and it came from a genuine trade-off between alternatives. Skip ADRs for easily reversible or obvious choices.

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

Create a CONTEXT-MAP.md at the repository root listing each context, its location, and its relationships such as published events or shared types. Each context then keeps its own CONTEXT.md glossary and context-specific docs/adr/ directory.

What format should an ADR follow?▼

An ADR is a sequentially numbered Markdown file in docs/adr/ with a short title and one to three sentences covering context, decision, and rationale. Optional sections like status, considered options, and consequences are added only when they add real value.

Should CONTEXT.md include implementation details?▼

No. CONTEXT.md is strictly a glossary of domain terms and should contain no implementation details, specifications, or design decisions. Those belong in ADRs or other documentation, keeping the glossary focused on language only.