What problem does it solve? Transient failures like network timeouts, rate limiting, and temporary service outages can crash Python applications or cause cascading failures. This Skill provides proven patterns for building fault-tolerant services that retry intelligently, time out safely, and degrade gracefully. ## Core Features & Use Cases - Retry with Tenacity: Apply automatic retries with exponential backoff, jitter, and bounded attempts using the tenacity library, retrying only transient exceptions and retryable HTTP status codes like 429, 502, 503, and 504. - Timeout and Resilience Decorators: Create reusable timeout decorators for async functions and stack cross-cutting concerns like tracing, logging, and retries separately from business logic. - Fail-Safe Defaults and Dependency Injection: Return default values when non-critical operations fail, and inject loggers, metrics clients, and repositories for testable infrastructure. - Use Case: When building a microservice that calls an external payment API, wrap the HTTP call with combined exception and status-code retries, a 30-second timeout, and retry logging so transient outages don't break checkout flows. ## Quick Start Add retry logic with exponential backoff and jitter to my httpx API call so it retries up to 3 times on connection errors and 503 responses.