ddd

Model complex business domains with bounded contexts, aggregates, and domain events.

20|3|Updated Feb 2, 2026
One-click install
npx skills add https://github.com/re-cinq/wave --skill ddd-re-cinq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd
Source: https://github.com/re-cinq/wave/tree/main/.claude/skills/ddd
Command: npx skills add https://github.com/re-cinq/wave --skill ddd-re-cinq

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Domain-driven design helps teams model complex business domains, align ubiquitous language, and structure software into bounded contexts with clear aggregates, events, and repositories.

Core Features & Use Cases

  • Strategic DDD: bounded context mapping, anti-corruption layers, shared kernel, separate boundaries
  • Tactical DDD: entities, value objects, aggregates, repositories, domain services
  • Domain events and event sourcing, context mapping, and ubiquitous language adoption

Quick Start

Provide a domain model outline for a hypothetical e-commerce system, including bounded contexts, aggregates, and domain events.

Frequently Asked Questions about ddd

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

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

Domain-driven design patterns help structure complex business domains into bounded contexts with clear boundaries, aggregates, domain events, and repositories, enabling maintainable and extensible domain models.

What is the difference between strategic and tactical domain-driven design?

Strategic domain-driven design defines separate boundaries, context mapping, and anti-corruption layers, while tactical domain-driven design provides implementation patterns like entities, value objects, aggregates, and repositories.

When do I need an anti-corruption layer in domain-driven design?

An anti-corruption layer in domain-driven design is needed when integrating bounded contexts across enterprise-scale systems to prevent external subsystems from corrupting your ubiquitous language and domain models.

How do I implement event sourcing with domain events in a bounded context?

Implement event sourcing by capturing state changes as a sequence of domain events within bounded contexts, using domain-driven design patterns to structure aggregates and repositories for maintainable enterprise systems.

Does domain-driven design work for enterprise-scale systems requiring context mapping?

Domain-driven design works for enterprise-scale systems requiring context mapping by providing structured guidance for bounded contexts, shared kernels, and separate boundaries to align ubiquitous language across complex business domains.