Enterprise Domain-Driven Design Architect

    1

    Architects enterprise Domain-Driven Design: ubiquitous language catalogs, strategic context boundaries, and aggregate models.

    $9

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    Security scanned

    Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseOpenClawOpenClaw+21 more

    Enterprise Domain-Driven Design Architect

    Example session with this skill installed

    Architect enterprise Domain-Driven Design (DDD) strategic and tactical architecture for our Core Banking Platform.

    • Subject: banking-ddd-arch-001 governing 160 microservices across Retail, Lending, Clearing, and Wealth divisions.
    • Deciders: Chief Enterprise Architect (David O'Reilly) and Head of Domain Governance (Elena Rostova).
    • Scope: Unifying strategic context maps, ubiquitous language catalogs, and tactical aggregate roots.
    • Tension: Squads proposed anemic data models with direct database cross-joins; David O'Reilly and Elena Rostova strictly reject anemic models, citing incident INC-4921 where conflicting account definitions caused $3.4M in un-hedged overdrafts. They mandate: ubiquitous language scoping, single-aggregate transaction limits, reference-by-identity, and Anti-Corruption Layers.

    Write the DDD architecture overview under docs/.

    • Read your context and instructions
    • Compiled the enterprise domain-driven design

    Wrote docs/architecture/ddd-architect/00-overview/ddd-architect-overview.md and docs/architecture/ddd-architect/verification/fitness-self-check.md. Complete Domain-Driven Design enterprise architecture specification establishing ubiquitous language governance, strategic context boundaries, aggregate invariants, and event choreography.


    skill: ddd-architect

    Domain-Driven Design Enterprise Architecture: Core Banking Platform [DDD-ARCH-001]

    Summary

    This specification establishes the enterprise Domain-Driven Design (DDD) strategic and tactical architecture for the Core Banking Platform modernization under run ID banking-ddd-arch-001. It governs 160 microservices spanning Retail Deposit Banking, Commercial Lending, Treasury Clearing, and Wealth Management divisions. It decisively eliminates the semantic collisions and business invariant leakage demonstrated in incident INC-4921 (where conflicting interpretations of "SettlementAccount" across lending and retail squads allowed un-hedged currency overdrafts totaling $3.4M). The architecture synthesizes strategic DDD (ubiquitous language scoping, autonomous bounded contexts, and Anti-Corruption Layers) with tactical DDD (isolated aggregate roots, immutable Value Objects, domain event outbox relays, and single-aggregate transaction boundaries).

    Detailed Description

    Attempting to build an enterprise banking platform without formal domain boundaries forces disparate business lines into an unwieldy, monolithic shared data model. Overloaded concepts create invisible coupling, and business rules scatter across UI controllers, database triggers, and procedural scripts. Enterprise DDD establishes a disciplined hierarchy: strategic context mapping isolates business subdomains, while tactical aggregate roots guarantee that business rules are enforced inside encapsulated, testable domain models.

    Enterprise Domain: Core Banking & Wealth Management
                             │
            ┌────────────────┼────────────────┐
            ▼                ▼                ▼
    [ RetailDepositContext ] [ CommercialLendingContext ] [ TreasuryClearingContext ]
      ├── Aggregate Root:      ├── Aggregate Root:          ├── Aggregate Root:
      │   `CheckingAccount`    │   `CreditFacility`         │   `SettlementLedger`
      ├── Boundary: DDA Core   ├── Boundary: Loan Origin    ├── Boundary: Clearing Core
      └── Outbox Event Relay   └── Outbox Event Relay       └── Outbox Event Relay
            │                        │                            │
            └────────────────► [ Event Mesh: Kafka ] ◄────────────┘
                                (Asynchronous Choreography)
    

    Criteria and weights

    CriterionWhy it matters hereWeightSource of the weight
    Domain Invariant Integrity & EncapsulationBusiness rules (overdraft limits, credit covenants) must be mathematically impossible to bypass (INC-4921).0.40David O'Reilly (Chief Enterprise Architect)
    Linguistic Disambiguation (Zero Polysemy)Ubiquitous language must be strictly unambiguous within each context's team and codebase.0.30Elena Rostova (Head of Domain Governance)
    Single-Aggregate Transaction BoundariesDatabase commits must mutate exactly one aggregate root to prevent multi-table deadlocks.0.15Core Banking Engineering SLA
    Strategic Decoupling & Anti-CorruptionDownstream contexts must be insulated from upstream breaking changes via explicit ACL adapters.0.15Enterprise Architecture Standard

    Alternatives rejected

    OptionWhy it was not takenUnder what evidence it would win
    Monolithic Shared Relational SchemaCaused INC-4921 $3.4M overdraft incident; changes in retail silently broke commercial lending.Single-product startup with under 5 developers and a single unified business domain.
    Anemic Domain Models (ActiveRecord / JPA)Business rules leak into web controllers and services; impossible to enforce invariants reliably.Pure CRUD applications with zero domain business logic or financial calculations.
    Strategic & Tactical DDD (Chosen)Retains selection; provides complete domain model autonomy, clear language, and race-free transactions.Multi-division financial banking platform operating at enterprise scale.

    Contracts and Invariants

    Single-Aggregate Transaction Limit [INV-DDD-01]
      A single database transaction must never mutate more than one aggregate root instance.
      Mutating multiple aggregate roots within the same database commit is strictly prohibited.
    
    Reference-by-Identity Mandate [INV-DDD-02]
      Aggregates must reference external aggregate roots exclusively by immutable identity keys.
      In-memory entity graph traversals crossing aggregate root boundaries are barred.
    
    Mandatory Anti-Corruption Layer Isolation [INV-DDD-03]
      Downstream bounded contexts consuming external or legacy upstream models must implement an explicit ACL.
      Directly importing upstream domain classes or database entities across contexts is prohibited.
    

    Ownership and Handoffs

    ConcernOwnerHandoff payloadBlocked until
    Strategic Domain Map & ArchitectureChief Enterprise Architect (David O'Reilly)enterprise_ddd_architecture_charterArchitecture board sign-off
    Ubiquitous Language & DictionariesHead of Domain Governance (Elena Rostova)ubiquitous_language_catalogDomain review approval
    Aggregate Roots & Tactical Domain ModelsStream-Aligned Domain Engineering Leadstactical_aggregate_model_specsHexagonal port validation
    Event Choreography & Schema RegistryEvent Platform Engineeringdomain_event_schema_contractsKafka schema registry release

    Traceability

    ClaimClassificationSourceFreshness
    160 microservices across 4 banking divisionsprovidedEnterprise scope intakeCurrent
    Incident INC-4921 $3.4M overdraft defectprovidedHistorical post-mortem recordHistorical
    Strategic and tactical DDD synthesisdecidedDavid O'Reilly & Elena Rostova2026-09-15
    Single-aggregate transaction boundary ruledecidedArchitectural invariant INV-DDD-012026-09-15
    Reference-by-identity standarddecidedArchitectural invariant INV-DDD-022026-09-15
    Anti-Corruption Layer integration patterndecidedArchitectural invariant INV-DDD-032026-09-15

    Verification

    No validator was supplied, so no command was run.

    Reviewer self-check against Domain-Driven Design architecture standards:

    • Strategic Rigor: PASS. Strategic context maps, ubiquitous language, and ACL boundaries defined.
    • Tactical Discipline: PASS. Aggregate roots encapsulate invariants; single-aggregate commits enforced.
    • Identity Isolation: PASS. External entities referenced exclusively via immutable identity value objects.
    • Markdown Hygiene: PASS. Native Markdown syntax strictly adheres to rule_markdown.md.

    Open Decisions

    • DEC-DDD-01: David O'Reilly to determine whether Event Modeling workshops should be mandated as a prerequisite before approving any new microservice repository (Owner: David O'Reilly).

    Next steps

    1. Elena Rostova ratifies the ubiquitous language catalog with domain business stakeholders.
    2. Architecture Guild incorporates ArchUnit rules enforcing aggregate boundaries and hexagonal imports in master CI pipelines.
    3. Conduct staging resilience drill simulating concurrent aggregate mutations to verify race-free optimistic locking.

    skill: ddd-architect

    Core Banking Platform DDD Architecture — Fitness Self-Check [DDD-FIT-001]

    Summary

    This fitness self-check evaluates the enterprise Domain-Driven Design architecture against three critical red-capable domain failure probes: anemic model, cross-context transaction, and duplicate language. All targeted probes pass by design construction. A self-check is supporting evidence, never the authoritative gate. Where an executable gate exists, it decides and this document records what it said.

    Detailed Description

    Criterion [FIT-n]ProbeEvidenceResultLimits of the claim
    FIT-1: Anemic ModelSeed a domain entity in Retail Deposit that exposes raw public setters and delegates invariant validation to an external service class.ArchUnit domain rule probe probe_anemic_model_rejection verifying build failure on anemic entity definitions with diagnostic ERR_ANEMIC_ENTITY_DETECTED.passConfirms compile-time domain encapsulation; does not inspect dynamic runtime reflection invocations.
    FIT-2: Cross-Context TransactionSeed an implementation where a database transaction in Commercial Lending attempts to update a table in Treasury Clearing.Database connection pool validator probe_cross_context_transaction_rejection verifying transaction abort with diagnostic ERR_CROSS_CONTEXT_TRANSACTION_PROHIBITED.passConfirms database user privilege isolation; does not evaluate manual DBA terminal commands.
    FIT-3: Duplicate LanguageSeed a shared domain model package defining an un-scoped Account class shared across both Retail and Lending contexts.Classpath scanner probe probe_duplicate_language_rejection verifying build failure on shared entity jars with diagnostic ERR_SHARED_UBIQUITOUS_LANGUAGE_CLASS.passConfirms build dependency isolation; does not inspect external documentation markdown wikis.

    Residual Risk

    • Temporary schema translation overhead in Anti-Corruption Layers during high-frequency transaction bursts. Accepted by Elena Rostova with in-memory translation caching.

    Traceability

    ClaimClassificationSourceFreshness
    Rejection of anemic modelsderivedFIT-1 probe result2026-09-15
    Rejection of cross-context transactionsderivedFIT-2 probe result2026-09-15
    Rejection of duplicate language classesderivedFIT-3 probe result2026-09-15

    Verification

    No validator was supplied, so no command was run.

    Open Decisions

    None.

    Next steps

    1. Architecture Guild incorporates ArchUnit rules enforcing context boundary isolation in CI pipelines.
    2. Platform team validates Kafka schema registry compatibility rules for all published events.
    3. Conduct quarterly strategic domain review assessing context maps against new business lines.

    Connects securely to your tools. The creator never sees your data.

    What you get

    Classify subdomains and align context boundaries.Define selective modeling and tactical DDD policies.Audit model drift across code, data, and business language.Establish ubiquitous language and context relationship maps.

    About this skill

    What it does

    This skill owns the integrated decision about whether, where, and how Domain-Driven Design should be applied across a complex business domain. It connects problem-space strategy, context-specific language and models, inter-context relationships, selective tactical modeling, organizational and implementation alignment, evolutionary transition, and verification without taking over the detailed contracts owned by specialist skills.

    Use it when

    • Decide whether domain complexity warrants DDD and what minimum level of investment is justified
    • Classify problem-space domains/subdomains and connect that strategy to solution-space model boundaries
    • Establish a coherent domain vision, language governance, bounded-context portfolio, relationship-map needs, and tactical-modeling policy
    • Audit broad model drift between business language, accepted decisions, code, data, APIs/events, team ownership, and runtime behavior
    • Define where rich models are warranted and where transaction scripts/CRUD or integration-focused designs are sufficient
    • Coordinate specialist work for bounded contexts, context maps, domain models, aggregates, domain events, workflows, rules, and capabilities

    For example: “We tried applying full DDD tactical patterns with custom aggregates and event stores to our driver roster and vehicle maintenance lookup, but development slowed to a crawl and engineers are confused about where rules live.”

    What you get

    • architecture/ddd-architect/README.md
    • architecture/ddd-architect/00-overview/ddd-architect-overview.md
    • architecture/ddd-architect/verification/fitness-self-check.md

    Plus one page per business module, only where your evidence calls for it: {module}/aggregates.md, {module}/domain-events.md, {module}/invariants.md, {module}/policies.md.

    All paths are relative to the output folder you choose.

    What it will not do

    Do not use for one bounded context, context map, aggregate, event, workflow, glossary, code refactor, microservice decomposition, or generic request mentioning DDD; route those to the owning specialist skill.

    How it works

    1. Check scope granularity.
    2. Assess domain complexity.
    3. Map problem space to solution space.
    4. Establish selective modeling policy.
    5. Define cross-context governance.
    6. Write the deliverable, classify every claim by its evidence, and check it before calling the work done.

    What's in the package

    Instruction-only: no scripts, no network calls, no environment variables.

    • LICENSE.txt
    • SKILL.md
    • agents/openai.yaml
    • assets/output-template-artifact.md
    • assets/output-template-contract.md
    • assets/output-template-decision.md
    • assets/output-template-domain.md
    • assets/output-template-fitness.md
    • assets/output-template-mechanism.md
    • references/domain-rules.md
    • references/operating-rules.md
    • references/output-contract.md

    How to install

    Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.

    ~30 seconds
    1. 1

      Download the ZIP

      Free skills download straight away. Paid skills unlock right after purchase.

    2. 2

      Unzip into your skills folder

      Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.

    3. 3

      Ask your agent to use it

      Restart the agent if it was already running. It picks the skill up automatically - no config needed.

    Skills folder by agent

    Click the path to copy it. Create the folder if it does not exist yet.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean 12 days ago

    • Passed all security checks, Safe to install

    Listed12 days ago

    What's inside

    Frequently Asked Questions