domain-driven-design

Installation
SKILL.md

Domain-Driven Design

Overview

This skill provides guidance for domain modeling based on Rich Hickey's data-oriented design principles and Scott Wlaschin's type-driven design approach. Focus on building systems that make illegal states unrepresentable, prioritize data and transformations over objects and methods, and establish a ubiquitous language that bridges technical implementation and business domain.

Core Principles

Rich Hickey's Data-Oriented Design

Simplicity over Ease

  • Favor simple constructs that can be understood independently
  • Avoid complecting (intertwining) unrelated concerns
  • Separate policy from mechanism, data from behavior

Data is King

  • Model the domain using pure data structures, not objects with behavior
  • Prefer generic data structures (maps, sets, vectors) over custom classes when appropriate
  • Data should be self-describing and inspectable
Related skills

More from bfollington/terma

Installs
49
GitHub Stars
45
First Seen
Jan 24, 2026