domain-modeling

Manages project glossary and architectural decision records in Markdown.

45|2|Updated Apr 24, 2026
One-click install
npx skills add https://github.com/hachej/boring-ui --skill domain-modeling-hachej
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/hachej/boring-ui/tree/main/.agents/skill-library/mattpocock/domain-modeling
Command: npx skills add https://github.com/hachej/boring-ui --skill domain-modeling-hachej

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the drift between a project's conceptual model and its implementation by enforcing a rigorous, shared vocabulary and documenting critical architectural decisions.

Core Features & Use Cases

  • Glossary Management: Maintains a centralized CONTEXT.md file to define canonical terms and eliminate ambiguous language.
  • Architectural Decision Records: Provides a structured, lightweight framework for recording high-stakes design choices.
  • Use Case: When a team is debating whether to use the term "Client" or "Customer" across a new billing module, this skill forces a decision, updates the glossary, and ensures the code reflects the chosen terminology.

Quick Start

Use the domain-modeling skill to review the current project glossary and identify any ambiguous terms in our recent design discussion.

Frequently Asked Questions about domain-modeling

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

FAQPage Schema
How do I maintain a ubiquitous language across a software project?

Maintain a ubiquitous language by managing a centralized CONTEXT.md glossary file that defines canonical terms, eliminating ambiguous language drift between conceptual models and implementation.

What is the best way to document architectural decisions in software engineering?

Document architectural decisions using Architectural Decision Records (ADRs) to capture high-stakes design choices and trade-offs, ensuring project-wide conceptual integrity through a structured, lightweight framework.

How does glossary management resolve ambiguous domain terminology?

Glossary management resolves ambiguous terminology by enforcing a shared vocabulary, forcing decisions on conflicting terms like Client versus Customer, and updating the canonical glossary to ensure code reflects chosen definitions.

Do I need a specific Markdown format to define ubiquitous language terms?

Yes, you must adhere to specific Markdown formats for context definitions and ADRs to successfully maintain project-wide conceptual integrity and ensure consistent ubiquitous language documentation.

When should I use domain-driven design to enforce a shared vocabulary?

Use domain-driven design when a team debates terminology across new modules and needs to force a decision, update the glossary, and ensure the codebase strictly reflects the chosen ubiquitous language.

What are the limitations of managing domain models through static glossaries?

The limitation is that maintaining conceptual integrity requires strict adherence to specific Markdown formats; failing to consistently update the CONTEXT.md glossary or ADRs will cause implementation drift from the domain model.