domain-modeling

Build and maintain project domain glossaries and architecture decision records in Markdown.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/ninthday/skills-base --skill domain-modeling-ninthday
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/ninthday/skills-base/tree/main/skills/domain-modeling
Command: npx skills add https://github.com/ninthday/skills-base --skill domain-modeling-ninthday

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose track 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 during design discussions by maintaining a canonical glossary (CONTEXT.md) and recording significant decisions as ADRs. ## Core Features & Use Cases - Glossary Management: Creates and updates CONTEXT.md files with opinionated term definitions, including terms to avoid, supporting both single-context and multi-context repositories via CONTEXT-MAP.md. - Architecture Decision Records: Writes lightweight ADRs in docs/adr/ with sequential numbering, offered only when a decision is hard to reverse, surprising without context, and the result of a real trade-off. - Language Sharpening: Challenges vague or conflicting terminology during conversations, stress-tests domain relationships with concrete edge-case scenarios, and cross-references claims against actual code. - Use Case: While designing a billing feature, the user says "account" ambiguously; the Skill asks whether they mean Customer or User, records the resolved term in CONTEXT.md, and drafts an ADR when the team decides Billing communicates with Ordering via domain events instead of synchronous HTTP. ## Quick Start Help me define the domain terms for our ordering system and record the key architectural decisions we just made as ADRs.

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 repository root listing each domain term with a one or two sentence definition and words to avoid. Terms are added inline as they are resolved during design discussions, not batched.

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. If any of these three conditions is missing, skip the ADR.

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. Each context then keeps its own CONTEXT.md glossary and context-specific docs/adr/ directory.

What format should an ADR follow?

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 cover status, considered options, and consequences.

What belongs in CONTEXT.md versus implementation docs?

CONTEXT.md is strictly a glossary of domain terms and contains no implementation details, specs, or scratch notes. Only project-specific concepts belong; general programming terms like timeouts or error types are excluded.