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