What problem does it solve? Distributed services fail when a single slow or broken dependency cascades through shared thread pools and unbounded retries. This Skill provides concrete patterns to isolate failures, fail fast, and degrade gracefully so one unstable dependency cannot take down the entire service. ## Core Features & Use Cases - Bulkheads & Circuit Breakers: Configure Resilience4j thread-pool/semaphore bulkheads and circuit breakers with sliding windows, half-open probing, and failure-rate thresholds. - Timeouts, Fail-Fast & Fallbacks: Enforce connect/read/request timeouts, reject calls when a circuit is OPEN, and serve cached values, static defaults, or meaningful 503 errors. - Observability & Idempotency: Emit metrics and logs for every resilience event via Resilience4j's EventPublisher, and use X-Idempotency-Key headers to make retries of write operations safe. - Use Case: Your Spring Boot service calls a flaky payment provider. Apply a semaphore bulkhead limiting concurrent calls, a circuit breaker that opens at 50% failure rate, and a cached-value fallback so checkout stays responsive during the outage. ## Quick Start Apply the resilience-patterns skill to add a circuit breaker, bulkhead, and fallback to my external service client.