DO

domain-driven-design

Guidance for implementing complex business domains using DDD architectural patterns.

Install

mkdir -p .claude/skills/domain-driven-design && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13371" && unzip -o skill.zip -d .claude/skills/domain-driven-design && rm skill.zip

Installs to .claude/skills/domain-driven-design

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Plan and route Domain-Driven Design work from strategic modeling to tactical implementation and evented architecture patterns.
126 charsno explicit “when” trigger
Advanced

Key capabilities

  • Run a viability check for full DDD adoption
  • Produce strategic artifacts like subdomains and bounded contexts
  • Define a language glossary for the domain
  • Route to specialized skills for tactical code modeling
  • Plan CQRS, event sourcing, sagas, or projections
  • Define success criteria and evidence for each DDD stage

How it works

The skill first assesses the viability of DDD, then guides the creation of strategic artifacts, and routes to specific patterns for tactical implementation or evented architectures.

Inputs & outputs

You give it
A complex business domain problem or a request to plan DDD work
You get back
Scope, assumptions, current DDD stage, explicit artifacts, open risks, and next step recommendations

When to use domain-driven-design

  • Modeling business domains
  • Defining bounded contexts
  • Planning event-sourced architectures

About this skill

Domain-Driven Design

Use this skill when

  • You need to model a complex business domain with explicit boundaries.
  • You want to decide whether full DDD is worth the added complexity.
  • You need to connect strategic design decisions to implementation patterns.
  • You are planning CQRS, event sourcing, sagas, or projections from domain needs.

Do not use this skill when

  • The problem is simple CRUD with low business complexity.
  • You only need localized bug fixes.
  • There is no access to domain knowledge and no proxy product expert.

Instructions

  1. Run a viability check before committing to full DDD.
  2. Produce strategic artifacts first: subdomains, bounded contexts, language glossary.
  3. Route to specialized skills based on current task.
  4. Define success criteria and evidence for each stage.

Viability check

Use full DDD only when at least two of these are true:

  • Business rules are complex or fast-changing.
  • Multiple teams are causing model collisions.
  • Integration contracts are unstable.
  • Auditability and explicit invariants are critical.

Routing map

  • Strategic model and boundaries: @ddd-strategic-design
  • Cross-context integrations and translation: @ddd-context-mapping
  • Tactical code modeling: @ddd-tactical-patterns
  • Read/write separation: @cqrs-implementation
  • Event history as source of truth: @event-sourcing-architect and @event-store-design
  • Long-running workflows: @saga-orchestration
  • Read models: @projection-patterns
  • Decision log: @architecture-decision-records

If templates are needed, open references/ddd-deliverables.md.

Output requirements

Always return:

  • Scope and assumptions
  • Current stage (strategic, tactical, or evented)
  • Explicit artifacts produced
  • Open risks and next step recommendation

Examples

Use @domain-driven-design to assess if this billing platform should adopt full DDD.
Then route to the right next skill and list artifacts we must produce this week.

Limitations

  • This skill does not replace direct workshops with domain experts.
  • It does not provide framework-specific code generation.
  • It should not be used as a justification to over-engineer simple systems.

When not to use it

  • The problem is simple CRUD with low business complexity
  • The task only needs localized bug fixes
  • There is no access to domain knowledge and no proxy product expert

Limitations

  • This skill does not replace direct workshops with domain experts
  • It does not provide framework-specific code generation
  • It should not be used as a justification to over-engineer simple systems

How it compares

This skill provides a structured approach to DDD, from initial viability assessment to routing specific implementation patterns, ensuring a methodical application of the methodology.

Compared to similar skills

domain-driven-design side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
domain-driven-design (this skill)05moNo flagsAdvanced
d365-technical-plan-designer03moNo flagsAdvanced
Context7 MCP Rule05moNo flagsBeginner
messaging-decision01moNo flagsAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

d365-technical-plan-designer

williamzhou1216

D365 技术设计与实施计划编排专家(把 spec 转成 plan)

00

Context7 MCP Rule

dlwlrmjlo

Always use the Context7 MCP server when foundational planning or architecture decisions are being made.

00

messaging-decision

Brilhante29

Decide whether a portfolio repository should use no broker, transactional outbox, RabbitMQ, Kafka/Redpanda, Redis Streams, or NATS based on delivery semantics, ordering, replay, retry/DLQ, throughput, and benchmark evidence.

00

architecture-patterns

wshobson

Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.

55214

kotlin-multiplatform

vitorpamplona

Platform abstraction decision-making for Amethyst KMP project. Guides when to abstract vs keep platform-specific, source set placement (commonMain, jvmAndroid, platform-specific), expect/actual patterns. Covers primary targets (Android, JVM/Desktop, iOS) with web/wasm future considerations. Integrates with gradle-expert for dependency issues. Triggers on: abstraction decisions ("should I share this?"), source set placement questions, expect/actual creation, build.gradle.kts work, incorrect placement detection, KMP dependency suggestions.

32156

nodejs-best-practices

davila7

Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying.

28120

Search skills

Search the agent skills registry