界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
设计与创意 · SKILL.md

ddd-architect

ddd-architect

【设计与创意】Comprehensive Domain-Driven Design analysis and architecture generation — use when designing bounded contexts, defining aggregates, creating context maps, or decomposing systems into microservices or modular monolith. Triggers: DDD, domain-driven design, bounded context, aggregate design, context map, subdomain, ubiquitous language, strategic/tactica…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: ddd-architect allowed-tools: Read, Write, Edit argument-hint: "[domain or bounded context]" description: "Comprehensive Domain-Driven Design analysis and architecture generation — use when designing bounded contexts, defining aggregates, creating context maps, or decomposing systems into microservices or modular monolith. Triggers: DDD, domain-driven design, bounded context, aggregate design, context map, subdomain, ubiquitous language, strategic/tactical design, domain model." metadata: triggers: DDD, domain-driven design, bounded context, aggregate design, context map, subdomain, ubiquitous language, strategic design, tactical design, domain model, modular monolith decomposition related-skills: architecture-design, architecture-decision-records, database-schema-designer domain: api-architecture role: architect scope: system-design output-format: architecture last-reviewed: "2026-03-15"

Iron Law: Never design domain boundaries without analyzing existing bounded contexts first; always map ubiquitous language before proposing aggregates.

DDD Architect Skill

Generate comprehensive Domain-Driven Design architecture documentation following industry standards. Tech-stack agnostic — works with any language, framework, or cloud platform.

How This Skill Works

This skill uses progressive disclosure. Read the reference files as needed:

PhaseReference FileWhen to Load
Strategic Designreference/strategic-design.mdAlways — start here
Tactical Designreference/tactical-design.mdAfter strategic phase
Technical Architecturereference/technical-architecture.mdAfter tactical phase
Implementationreference/implementation-guidelines.mdAfter architecture phase
Output Templatesassets/templates/When generating documents

Execution Protocol

Step 0: Gather Context

Before starting, confirm you have:

  1. Domain description — what does the business do?
  2. Requirements — user stories, PRDs, or feature lists (files or description)
  3. Tech stack — languages, frameworks, databases, cloud platform
  4. Architecture style — microservices, modular monolith, or undecided
  5. Team structure — number of teams, ownership boundaries (if known)
  6. Existing system — greenfield or brownfield? Migration constraints?

If any are missing, ask before proceeding. Do NOT assume.

Step 1: Strategic Design

Read reference/strategic-design.md, then:

  1. Identify core, supporting, and generic subdomains
  2. Classify by strategic value and complexity
  3. Discover bounded contexts using linguistic analysis
  4. Define ubiquitous language per context
  5. Create context map with relationship patterns
  6. Map team ownership (Conway's Law alignment)

Output: docs/ddd/01-strategic-design.md

Step 2: Tactical Design

Read reference/tactical-design.md, then:

  1. Design aggregates with invariants and consistency boundaries
  2. Identify entities, value objects, domain events
  3. Define repository interfaces and domain services
  4. Design sagas for cross-aggregate workflows
  5. Apply CQRS if read/write patterns diverge

Output: docs/ddd/02-tactical-design.md

Step 3: Technical Architecture

Read reference/technical-architecture.md, then:

  1. API design aligned with aggregates
  2. Database schema per bounded context
  3. Integration patterns (events, sync, anti-corruption layers)
  4. Cloud-native considerations (containers, scaling, observability)

Output: docs/ddd/03-technical-architecture.md

Step 4: Implementation Guidelines

Read reference/implementation-guidelines.md, then:

  1. Package/module structure following DDD layers
  2. Testing strategy (unit, integration, contract, E2E)
  3. Security architecture
  4. CI/CD and deployment patterns

Output: docs/ddd/04-implementation-guidelines.md

Step 5: Final Deliverables

Generate remaining documents:

  • docs/ddd/00-executive-summary.md — 1-2 page overview with key decisions and risks
  • docs/ddd/05-implementation-roadmap.md — phased delivery plan
  • docs/ddd/appendix-glossary.md — ubiquitous language glossary
  • docs/ddd/appendix-adrs.md — architectural decision records

Quality Gate

Before marking any phase complete, verify:

  • Business alignment — solution addresses actual business needs
  • Low coupling between contexts, high cohesion within
  • Every aggregate has defined invariants
  • Every domain event has a clear trigger and consumer
  • Context map shows ALL integration points
  • No anemic domain models (logic in services instead of entities)
  • Conway's Law considered — context boundaries match team boundaries
  • Trade-offs documented for every non-obvious decision

Important Rules

  • Tech-stack agnostic: Use the project's actual tech stack for code examples, not hardcoded defaults
  • No cargo-culting: Don't apply patterns just because DDD says so — justify every pattern
  • Right-size aggregates: Small aggregates (1-3 entities) are almost always better than large ones
  • Events over coupling: Prefer domain events between contexts over direct calls
  • Ubiquitous language is mandatory: Every document must use domain language, not technical jargon
  • Diagrams: Use Mermaid syntax for all diagrams (context maps, sequence, class, C4)

Error Handling

Ambiguous bounded contexts: When domain boundaries are unclear, map the dependencies and ask for clarification before committing to a context map.

Conflicting ubiquitous language: When the same term means different things in different contexts, document both meanings and define an anti-corruption layer.

我的收藏