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.