What problem does it solve? Teams often over-engineer new backends with premature microservices or under-engineer them with tangled layer-folder structures, leading to vendor lock-in, fragile integrations, and costly rewrites. This Skill guides the design of a modular monolith with strong logical boundaries from day one while keeping physical separation as a later, optional step. ## Core Features & Use Cases - Strategic and tactical DDD guidance: Classify subdomains as Core, Supporting, or Generic, draw context maps, and apply rich aggregates only where invariants justify them. - Flat-by-aggregate module organization: Co-locate each business concept in one folder with technical layers expressed as file suffixes, validated by deterministic Node scripts. - Vendor independence and resilience: Wrap every external system (ERP, storage, AI, identity) behind a port and Anti-Corruption Layer, with transactional outbox events, backoff with jitter, circuit breakers, and idempotency keys. - Architecture documentation: Produce a self-contained HTML architecture document with hand-drawn-style SVG diagrams from a provided template. - Use Case: When designing a payables platform that posts to a client's ERP, use this Skill to define bounded contexts, place the ERP behind an ErpLedgerPort adapter, wire events through an outbox, and generate the full architecture document. ## Quick Start Ask the agent to design the architecture for your new platform or backend, describing your domain and any external systems it must integrate with.