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/skills

The 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