domain-modeling

Maintains a domain glossary and detects terminology drift in code and docs.

Updated Jul 9, 2026
One-click install
npx skills add https://github.com/ByronWilliamsCPA/plugin --skill domain-modeling-byronwilliamscpa
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/ByronWilliamsCPA/plugin/tree/main/plugins/wff-code/skills/domain-modeling
Command: npx skills add https://github.com/ByronWilliamsCPA/plugin --skill domain-modeling-byronwilliamscpa

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Terminology drift silently fragments a codebase: the same concept gets called Customer, Client, and Account in different places, forcing every reader to translate and every change to risk editing the wrong concept. This Skill keeps one shared vocabulary across code, docs, and conversation by maintaining a folder-scoped glossary and challenging conflicting terms before they harden into schemas and APIs. ## Core Features & Use Cases - Folder-Scoped Glossary: Maintains one CONTEXT.md or glossary.md per bounded domain, with entries carrying a definition, NOT-this distinctions, and a concrete example. - Terminology-Drift Detection: Runs a synonym and homonym checklist whenever a new domain term appears, and surfaces conflicts to the user instead of silently renaming. - Use Case: While writing billing code you are about to call something a Client, but the billing glossary defines Subscriber for the same concept. The Skill stops, presents the conflict with resolution options, and waits for your decision before any code is written. ## Quick Start Check whether the term Client conflicts with the billing glossary in src/billing/CONTEXT.md before I use it in this new code.

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 domain glossary for a codebase?▼

Place one CONTEXT.md or glossary.md file per bounded domain next to the code it governs, such as src/billing/CONTEXT.md. Each entry should include the term, a precise definition, NOT-this lines distinguishing it from neighboring terms, and one concrete example.

What is terminology drift in domain modeling?▼

Terminology drift is when the same concept gets multiple names across code, docs, and conversation, or one word is reused for different concepts. It compounds silently into column names, API fields, and migrations that become expensive to reverse.

How do I detect synonyms and homonyms in a domain model?▼

Run a drift check before introducing any term: is the concept already in the glossary under another name, is the word already defined meaning something else, and does the code use a different name for this concept. If any check matches, surface the conflict instead of silently renaming.

Should a project have one global glossary or multiple glossaries?▼

Use one glossary per bounded domain, not one global file. A term that means different things in two domains gets separate entries in each domain's folder, so billing terms live with billing code and load with that scope.

When should I not use a domain glossary?▼

Skip it for purely mechanical work like formatting or file moves that introduces no new terms, and for throwaway scripts or spikes with no shared vocabulary at stake. The trigger is a shared concept, not project size.