Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a CONTEXT.md, or recording or editing an ADR.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Domain Modeling
Actively build and sharpen the project's domain model as you design. This is the *active* discipline: challenging terms, inventing edge-case scenarios, and writing the glossary and decisions down the moment they crystallise. (Merely *reading* `CONTEXT.md` for vocabulary is not this skill: that's a one-line habit any skill can do. This skill is for when you're changing the model, not just consuming it.)
## File structure
Most repos have a single context:
```
/
├── CONTEXT.md
├── docs/
│ └── adr/
│ ├── 0001-event-sourced-orders.md
│ └── 0002-postgres-for-write-model.md
└── src/
```
If a `CONTEXT-MAP.md` exists at the root, the repo has multiple contexts. The map points to where each one lives:
```
/
├── CONTEXT-MAP.md
├── docs/
│ └── adr/ ← system-wide decisions
├── src/
│ ├── ordering/
│ │ ├── CONTEXT.md
│ │ └── docs/adr/ ← context-specific decisions
│ └── billing/
│ ├── CONTEXT.md
│ └── docs/adr/
```
…
The line at the top of this page pins the label git:20261012.bd30f6e, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_jji7a3muhnmfl6n5
GET https://markdownregistry.com/api/v1/resolve?ref=qshanx/docs-governance/domain-modeling
GET https://markdownregistry.com/api/v1/blob/0bf5609c1db98d2d0ff3f74fc9dd34398debe789be14330d19e5b159232a13cc
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
rohitg00/pro-workflow · skills/domain-modeling/SKILL.md · Build the project's shared language and bounded contexts before writing code, so names stay consistent and the agent…
kunolu/640-skills · sbtd-workflow-onboard/assets/external-skills/stable/skills/domain-modeling/SKILL.md · Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a CONTEXT.md…
mxyhi/ok-skills · domain-modeling/SKILL.md · Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md…
asymmetric-al/core · .agents/skills/domain-modeling/SKILL.md · Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a CONTEXT.md…
romiluz13/cc10x · plugins/cc10x/skills/domain-modeling/SKILL.md · Use when changing or sharpening a project's domain model: challenge terms against
the glossary, sharpen fuzzy language…
outlinedriven/outline-driven-development · .devin/skills/domain-modeling/SKILL.md · Use when pinning down domain terminology, maintaining the domain model, or when a term conflicts or needs sharpening.
rudycity/superagent · .agents/skills/domain-modeling/SKILL.md · Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous…