domain-design

Model business concepts into bounded contexts, aggregates, entities, and events.

Updated May 9, 2020
One-click install
npx skills add https://github.com/Fenntasy/dotfiles --skill domain-design-fenntasy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-design
Source: https://github.com/Fenntasy/dotfiles/tree/main/claude/skills/domain-design
Command: npx skills add https://github.com/Fenntasy/dotfiles --skill domain-design-fenntasy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Domain modeling and bounded-context design guidance to help teams align business concepts with stable, evolvable software structures.

Core Features & Use Cases

  • Clear guidance on bounded contexts, aggregates, entities, value objects, and domain events
  • Practical patterns for data modeling, schema evolution, system decomposition, and anti-patterns
  • Use cases: designing new domain models, evaluating aggregate boundaries, planning schema changes, decomposing systems, or reviewing domain modeling decisions

Quick Start

Outline the current domain concepts and map them to bounded contexts and aggregates to begin the domain-driven design process.

Frequently Asked Questions about domain-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design bounded contexts and aggregates for a new domain model?

Designing bounded contexts and aggregates requires modeling business concepts into disciplined structures with clear boundaries to improve consistency. You can outline current domain concepts and map them to bounded contexts to enforce ubiquitous language and modular decomposition.

What are common anti-patterns when defining aggregate boundaries and entities?

Common domain modeling anti-patterns emerge when aggregate boundaries and entities lack disciplined structural design. You can evaluate your domain modeling decisions against provided type-safe patterns and practical design rules to avoid violating invariants and consistency.

When do I need domain events and value objects in system decomposition?

Domain events and value objects are needed during system decomposition when you must align business concepts with stable, evolvable software structures. They support modular decomposition by capturing state transitions and describing attributes without identity.

Can I use domain-driven design to plan schema changes across existing projects?

Domain-driven design is applicable for planning schema changes across existing projects. It provides practical patterns for data modeling and evaluating aggregate boundaries, ensuring schema evolution aligns with business invariants and ubiquitous language.

What is the best way to decompose a monolithic system using domain modeling?

The best way to decompose a monolithic system using domain modeling is to map business concepts into bounded contexts and aggregates to improve consistency and clarity. This approach ensures type-safe patterns and modular decomposition while respecting domain invariants.