domain-modeling

Builds and maintains project domain glossaries and architecture decision records.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/Fatih0234/mattpocock-skills-pi --skill domain-modeling-fatih0234
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/Fatih0234/mattpocock-skills-pi/tree/main/skills/engineering/domain-modeling
Command: npx skills add https://github.com/Fatih0234/mattpocock-skills-pi --skill domain-modeling-fatih0234

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose shared understanding of domain terminology and forget why architectural decisions were made, leading to inconsistent language in code and repeated debates. This Skill actively sharpens a project's domain model by maintaining a CONTEXT.md glossary and recording ADRs when significant decisions occur. ## Core Features & Use Cases - Glossary Management: Creates and updates CONTEXT.md files with opinionated, precise term definitions, including terms to avoid, supporting both single-context and 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 to surface contradictions. - ADR Recording: Offers to write lightweight Architecture Decision Records 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, the user says "cancel the account"; the Skill flags that the glossary defines Customer and User as distinct concepts, resolves the term, updates CONTEXT.md, and later records an ADR explaining why ordering and billing communicate via domain events instead of HTTP. ## Quick Start Help me build a domain model for this project by creating a CONTEXT.md glossary and recording key architectural decisions 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 repo root listing canonical terms with one or two sentence definitions and words to avoid. The Skill updates it inline as terms are resolved during design discussions, keeping it 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. If any of these three conditions is missing, skip the ADR to avoid documentation noise.

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

Create a CONTEXT-MAP.md at the repo root listing each context, its location, and its relationships, with a separate CONTEXT.md per context. Context-specific ADRs live in each context's own docs/adr directory.

What format should an ADR follow?▼

ADRs use sequential numbering like 0001-slug.md in docs/adr/ and can be as short as a title plus one paragraph covering context, decision, and rationale. Optional sections like Status or Considered Options are added only when they add genuine value.

What are the limitations of a CONTEXT.md glossary?▼

CONTEXT.md is strictly a glossary and must not contain implementation details, specs, or scratch notes. It only covers terms unique to the project's domain, excluding general programming concepts like timeouts or error types.