domain-modeling
Skill8 starsChanged 2 months agoMITView on GitHub
Build and sharpen a project's domain model, ubiquitous language, and architectural decision records. Use when establishing codebase terminology, challenging fuzzy concepts, writing ADRs, or updating CONTEXT.md — even if the user says \"define our terms\". Do NOT use for general code refactoring without domain shifts.
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 183 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Selective ADR Threshold: Only author an ADR when a decision meets all 3 criteria: (1) Hard to reverse, (2) Surprising without context, (3) …
- Very specific: line 45
Action: Check if a root CONTEXT-MAP.md exists (multi-context) or single CONTEXT.md / docs/adr/.
- Distinctive: line 46
Key Point: Create glossary files lazily on the first resolved term.
- Distinctive: line 55
Action: Search the codebase for entity names and check whether existing schemas agree with the user's description.
- Distinctive: line 64
Key Point: Document Context, Decision, Status, and Consequences.
“Common” is measured: kept by at least 6 in 10 of the 183 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Domain Modeling
Actively establish, sharpen, and enforce ubiquitous domain language (CONTEXT.md) and architectural decision records (docs/adr/*.md) to prevent semantic drift across agents and engineering teams.
Core Invariants
- Active Semantic Enforcement: Proactively challenge overloaded, ambiguous, or colloquial terms and align them with canonical definitions in real time.
- Immediate Inline Glossary Updates: Capture domain terms into
CONTEXT.mdthe instant they crystallize; never batch glossary edits to the end of a session. - Strict Implementation-Free Glossary:
CONTEXT.mdmust contain zero implementation details, frameworks, or database choices—it is a pure domain dictionary. - Selective ADR Threshold: Only author an ADR when a decision meets all 3 criteria: (1) Hard to reverse, (2) Surprising without context, (3) The result of a real trade-off.
- Codebase-Glossary Alignment: Cross-reference terminology with live codebase entities and flag discrepancies immediately.
Architecture & Map of Content (MOC)
[ Domain Discussions / User Prompts ] ──► [ Semantic Challenge & Disambiguation ] ──► [ Inline CONTEXT.md Update ]
│
┌────────────────────────────────┴────────────────────────────────┐
▼ ▼
[ Domain Dictionary ] [ Architectural Records ]
- Single-context: `CONTEXT.md` - `docs/adr/NNNN-<slug>.md`
- Multi-context: `CONTEXT-MAP.md` - Context, Decision, Consequences| Artifact | Responsibility | Format Reference |
| Domain Glossary | Canonical terms, entity boundaries, invariants | skills/domain-modeling/CONTEXT-FORMAT.md |
| Architectural Record | Irreversible architectural choices & trade-offs | skills/domain-modeling/ADR-FORMAT.md |
| Context Map | Bounded contexts across modular repositories | CONTEXT-MAP.md |
Step-by-Step Procedure (TWI)
Step 1: Detect Context Architecture & Glossary Baseline
- Action: Check if a root
CONTEXT-MAP.mdexists (multi-context) or singleCONTEXT.md/docs/adr/. - Key Point: Create glossary files lazily on the first resolved term.
- Why: Multi-context systems require partitioning domain terms by bounded context to prevent collision.
Step 2: Challenge Fuzzy & Overloaded Language
- Action: Intercept vague nouns (e.g. "account", "item", "process") and propose distinct canonical domain entities.
- Key Point: Stress-test boundaries with concrete edge-case scenarios (e.g., "What happens during partial cancellation?").
- Why: Ambiguous nouns lead to bloated database entities and tangled business logic.
Step 3: Verify Alignment Against Existing Codebase
- Action: Search the codebase for entity names and check whether existing schemas agree with the user's description.
- Key Point: Highlight discrepancies immediately: "The code cancels entire Orders, but you described partial cancellation. Which is correct?"
- Inline Checklist:
- Term verified against live database/code entities
- Definition added to
CONTEXT.mdusing standard format - Implementation details omitted from glossary
Step 4: Author Architectural Decision Records (ADRs)
- Action: For decisions meeting the 3-point threshold, create
docs/adr/NNNN-<slug>.md. - Key Point: Document Context, Decision, Status, and Consequences.
- Why: Transparent ADRs prevent repetitive debates and document technical debt trade-offs.
Anti-Rationalization Guardrails
| Tempting Rationalization | Binding Rule | Engineering Rationale |
| "I'll add database table schemas into CONTEXT.md." | Forbidden. CONTEXT.md contains pure domain terms only. | Coupling the domain glossary to DB schemas makes it obsolete upon migration. |
| "Let's write an ADR for every small choice (e.g. library helper)." | Enforce the 3-point ADR threshold. | Low-value ADRs clutter documentation and obscure truly critical architectural choices. |
| "The user used 'User' and 'Customer' interchangeably; I'll ignore it." | Challenge and disambiguate overloaded terms immediately. | Conflating distinct domain concepts creates severe authorization and modeling bugs. |
Other versions195 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 195
- mattpocock/skills★ 309ksame name
- QuivrHQ/quivr★ 40ksame name
- windmill-labs/windmill★ 18ksame name
- GreyDGL/PentestGPT★ 16ksame name
- formbricks/formbricks★ 13ksame name
- ArcReel/ArcReel★ 6ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- withcoral/coral★ 4.9ksame name
- bestofjs/bestofjs★ 3.1ksame name
- rohitg00/pro-workflow★ 2.9ksame name
185 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use decision-mapping, loop-me and 2 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
FabienDehopreSkilldecision-mapping
Turn a loose idea into a sequenced map of investigation tickets, then drive them to resolution one at a time.
Also in 8 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 51 projects that use this
ryotaroh180105Skillclaude-handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately.
Also in 38 projects that use this
Akindu23Skillremove-slop
Remove generated slop from a change set so code matches the file and prose keeps a human voice.
Also in 3 projects that use this
In this repository42 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ai-data-remediationSkill
- ai-engineeringSkill
- codebase-designSkill
- code-reviewSkill
- diagnosing-bugsSkill
- engineering-workflow-guideSkill
- git-safety-guardrailsSkill
- goalSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- implementSkill
- implement-specSkill
- improve-codebase-architectureSkill
- j-spaceSkill
- migrate-to-shoehornSkill
- ml-best-practicesSkill
- prototypeSkill
- researchSkill
- resolving-merge-conflictsSkill
- retroSkill
- scaffold-exercisesSkill
- setup-engineering-workflowsSkill
- setup-pre-commitSkill
- setup-ts-deep-modulesSkill
- skill-conductorSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- wayfinderSkill
- wizardSkill
- workflow-designerSkill
- writing-beatsSkill
- writing-for-agentsSkill
- writing-fragmentsSkill
- writing-shapeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

