What problem does it solve? NestJS backends often degrade as they grow: controllers accumulate business logic, services become god classes with dozens of unrelated methods, external API calls fail silently, and side-effects like emails block HTTP responses. This Skill provides five composable architectural patterns that restructure a NestJS codebase for maintainability and resilience. ## Core Features & Use Cases - Service Orchestration & Domain Layering: Decompose god services into focused child services coordinated by a thin orchestrator, and enforce Controller-Service-DbService separation so HTTP, business rules, and Prisma data access never mix. - Retry, Fallback & Circuit Breaker: Wrap external API calls with exponential backoff retry, local-database fallback strategies, and opossum-based circuit breakers for high-volume integrations. - Event-Driven Architecture & Dynamic Modules: Decouple side-effects (emails, cache invalidation, audit logs, SSE broadcasts) using NestJS EventEmitter, and build configurable modules with forRoot/forTesting patterns and environment-driven provider selection. - Use Case: A subscription billing module where the controller stays thin, the service orchestrates payment API calls with retry, database writes run in transactions via a DbService, and welcome emails plus SSE updates fire as async event listeners. ## Quick Start Ask the AI to refactor a fat NestJS service into the orchestrator pattern with Controller-Service-DbService layering and retry logic for its external API calls.