Domain modeling
Modelling the problem so that illegal states cannot be represented, instead of validating them at every call site.
Installation
$ npx skills add mattpocock/skillsThe CLI's unit is the repository, so this installs everything in mattpocock/skills, not domain-modeling alone. It writes into whichever agent directories it finds — Claude Code, Codex, Cursor, Copilot, Windsurf, Zed.
Summary
Modelling the problem so that illegal states cannot be represented, instead of validating them at every call site.
- Reach for it when you are reaching for a fourth optional boolean on the same type.
- Sits in Design & architect — interfaces, module boundaries and domain language — decided before the code sets them in concrete.
- Assumes typescript.
- Published by Matt Pocock. Well regarded, but not the vendor of the thing it covers.
- Installing pulls the whole mattpocock/skills repository: this catalogue lists 6 other entries from it, and the repo may hold more.
Where it sits in delivery
Design & architectInterfaces, module boundaries and domain language — decided before the code sets them in concrete.Everything in Design →
The skill itself
The full text lives with its publisher and changes when they change it. Read it there rather than here — a mirrored copy of somebody else's procedure goes stale silently, and this page would have no way of telling you.
Related
More in Design & architect
- Frontend designAnthropic's guidance for producing interfaces that look designed rather than defaulted.
anthropics/skills - Web design guidelinesVercel's design rules for agent-generated web interfaces: layout, spacing, typography, motion, state.
vercel-labs/agent-skills - API & interface designDesigning interfaces that are hard to misuse and cheap to evolve — naming, versioning, error shape, defaults.
addyosmani/agent-skills - Diagramming codeProduces accurate architecture and data-flow diagrams from the code that exists, not the code somebody described.
trailofbits/skills - Documentation & ADRsRecording architectural decisions so the reasoning survives the people who made it.
addyosmani/agent-skills - Codebase designWhere module boundaries go, and what belongs on each side of one.
mattpocock/skills