ddd

Guide teams to split domains into bounded contexts and define a ubiquitous language.

41|7|Updated Jan 30, 2026
One-click install
npx skills add https://github.com/DGouron/review-flow --skill ddd-dgouron
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd
Source: https://github.com/DGouron/review-flow/tree/main/.claude/skills/ddd
Command: npx skills add https://github.com/DGouron/review-flow --skill ddd-dgouron

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Strategic guidance to split a monolithic domain into bounded contexts, define a ubiquitous language, and organize modules to reduce ambiguity and improve collaboration on architecture decisions.

Core Features & Use Cases

  • Defines and documents bounded contexts as autonomous modules with clear public APIs.
  • Establishes ubiquitous language to ensure consistent terminology across teams.
  • Provides a practical workflow for strategic domain decisions, mapping contexts, and guiding transitions to tactical patterns.

Quick Start

Identify the major business domains, outline bounded contexts, and draft a shared glossary to start aligning teams.

Frequently Asked Questions about ddd

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

FAQPage Schema
How do I split a monolithic domain into bounded contexts?

To split a monolithic domain into bounded contexts, identify major business domains, define autonomous modules with clear public APIs, and establish a ubiquitous language to reduce ambiguity across architecture decisions.

What is a ubiquitous language in domain-driven design?

A ubiquitous language in domain-driven design is a shared, consistent terminology established across teams to ensure clear communication and reduce ambiguity when defining bounded contexts and architecture decisions.

How do I define module boundaries for scalable software architecture?

Define module boundaries by identifying major business domains and organizing bounded contexts as autonomous modules with clear public APIs, ensuring strategic domain decisions support scalable software architecture.

When do I need strategic domain design for my architecture?

You need strategic domain design when reorganizing business domains across projects, splitting monolithic domains into bounded contexts, and aligning teams through a ubiquitous language to improve collaboration.

Can I use domain-driven design to organize modules across multiple projects?

Yes, you can use domain-driven design to organize modules across multiple projects by applying strategic domain decisions, mapping bounded contexts, and defining a ubiquitous language to guide transitions and reduce ambiguity.