domain-driven-design

Plan and route Domain-Driven Design work from strategic modeling to tactical implementation and evented architecture patterns.

31,392 stars
Complexity: easy

About this skill

This skill empowers AI agents to assist users with the entire spectrum of Domain-Driven Design (DDD), from initial strategic modeling to detailed tactical implementation. It provides a structured approach for understanding complex business domains, defining explicit boundaries, and making informed decisions on the applicability of full DDD. The skill facilitates connecting high-level design choices with concrete implementation patterns, including advanced architectural styles like CQRS (Command Query Responsibility Segregation), Event Sourcing, Sagas, and Projections, all derived directly from domain needs. It helps in evaluating whether the complexity of DDD is warranted for a given project, offering a valuable tool for architects, developers, and product owners tackling intricate software systems.

Best use case

Architecting new software systems, refactoring existing complex applications, designing microservices with clear domain boundaries, evaluating the need for advanced architectural patterns, or guiding a development team through DDD principles and practices.

Plan and route Domain-Driven Design work from strategic modeling to tactical implementation and evented architecture patterns.

A clear, structured plan for applying DDD principles, well-defined domain models with explicit boundaries, guidance on selecting appropriate architectural patterns, and an informed decision on the overall design approach for complex software systems.

Practical example

Example input

I'm starting a new project for an online educational platform with complex enrollment, course management, and certification processes. I suspect it needs a DDD approach. Can you help me plan the strategic modeling phase, focusing on identifying core domains and bounded contexts?

Example output

To begin strategic modeling for your educational platform, let's identify the core domains. Based on your description, we likely have 'Enrollment Management', 'Course Catalog', and 'Certification & Grading' as primary candidates. For 'Enrollment Management', we'll define its Ubiquitous Language, key aggregates like `Enrollment` and `StudentApplication`, and identify potential bounded contexts such as 'Student Portal' and 'Admin Portal'. We should discuss the relationships and anti-corruption layers between these. Are there any other crucial aspects of your platform that might constitute separate domains?

When to use this skill

  • 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.

When not to use this skill

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

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/domain-driven-design/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/domain-driven-design/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/domain-driven-design/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How domain-driven-design Compares

Feature / Agentdomain-driven-designStandard Approach
Platform SupportClaudeLimited / Varies
Context Awareness High Baseline
Installation ComplexityeasyN/A

Frequently Asked Questions

What does this skill do?

Plan and route Domain-Driven Design work from strategic modeling to tactical implementation and evented architecture patterns.

Which AI agents support this skill?

This skill is designed for Claude.

How difficult is it to install?

The installation complexity is rated as easy. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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

```text
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.

Related Skills

database-design

31392
from sickn33/antigravity-awesome-skills

Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.

Software DevelopmentClaude

context-driven-development

31392
from sickn33/antigravity-awesome-skills

Guide for implementing and maintaining context as a managed artifact alongside code, enabling consistent AI interactions and team alignment through structured project documentation.

Software DevelopmentClaude

nerdzao-elite

31392
from sickn33/antigravity-awesome-skills

Senior Elite Software Engineer (15+) and Senior Product Designer. Full workflow with planning, architecture, TDD, clean code, and pixel-perfect UX validation.

Software DevelopmentClaude

nerdzao-elite-gemini-high

31392
from sickn33/antigravity-awesome-skills

Modo Elite Coder + UX Pixel-Perfect otimizado especificamente para Gemini 3.1 Pro High. Workflow completo com foco em qualidade máxima e eficiência de tokens.

Software DevelopmentClaudeGemini

multi-platform-apps-multi-platform

31392
from sickn33/antigravity-awesome-skills

Build and deploy the same feature consistently across web, mobile, and desktop platforms using API-first architecture and parallel implementation strategies.

Software DevelopmentClaude

monorepo-architect

31392
from sickn33/antigravity-awesome-skills

Expert in monorepo architecture, build systems, and dependency management at scale. Masters Nx, Turborepo, Bazel, and Lerna for efficient multi-project development. Use PROACTIVELY for monorepo setup,

Software DevelopmentClaude

minecraft-bukkit-pro

31392
from sickn33/antigravity-awesome-skills

Master Minecraft server plugin development with Bukkit, Spigot, and Paper APIs.

Software DevelopmentClaude

memory-safety-patterns

31392
from sickn33/antigravity-awesome-skills

Cross-language patterns for memory-safe programming including RAII, ownership, smart pointers, and resource management.

Software DevelopmentClaude

macos-spm-app-packaging

31392
from sickn33/antigravity-awesome-skills

Scaffold, build, sign, and package SwiftPM macOS apps without Xcode projects.

Software DevelopmentClaude

legacy-modernizer

31392
from sickn33/antigravity-awesome-skills

Refactor legacy codebases, migrate outdated frameworks, and implement gradual modernization. Handles technical debt, dependency updates, and backward compatibility.

Software DevelopmentClaude

i18n-localization

31392
from sickn33/antigravity-awesome-skills

Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support.

Software DevelopmentClaude

framework-migration-deps-upgrade

31392
from sickn33/antigravity-awesome-skills

You are a dependency management expert specializing in safe, incremental upgrades of project dependencies. Plan and execute dependency updates with minimal risk, proper testing, and clear migration pa

Software DevelopmentClaude