What problem does it solve? Designing distributed systems involves hard decisions about service boundaries, inter-service communication, distributed transactions, and failure handling. This Skill provides concrete patterns and Python implementations for decomposing monoliths, coordinating services, and preventing cascade failures. ## Core Features & Use Cases - Service Decomposition: Split monoliths by business capability or DDD subdomains, and migrate gradually using the Strangler Fig pattern. - Communication Patterns: Implement synchronous REST/gRPC calls with retries, asynchronous event-driven messaging with Kafka, and API Gateway aggregation. - Distributed Transactions & Resilience: Orchestrate Sagas with compensating actions, and apply circuit breakers, retries with backoff, and bulkheads. - Use Case: When extracting an order module from a monolith, use this Skill to define the Order, Payment, and Inventory services, wire them through Kafka events, and wrap cross-service calls in a Saga with a circuit breaker. ## Quick Start Ask the AI to design a microservices decomposition for your application with event-driven communication and circuit breaker protection.