What problem does it solve? Codebases often contain empty catch blocks, catch-all retries, and swallowed error context that cause silent failures, duplicate operations, and cascading outages. This Skill provides concrete patterns for classifying errors and choosing the correct recovery strategy so systems degrade gracefully instead of failing unpredictably. ## Core Features & Use Cases - Error Classification: A decision table that maps error classes (transient, rate-limited, client, server, resource exhaustion, data integrity, configuration) to the correct response, including whether each is retryable. - Typed Error Hierarchy: TypeScript AppError base class with ValidationError, NotFoundError, ExternalServiceError, and RateLimitError subclasses carrying status codes and retryability flags. - Resilience Patterns: Ready-to-use implementations of exponential backoff with jitter, a circuit breaker with closed/open/half-open states, and a multi-level graceful degradation fallback chain. - Anti-pattern Detection: Concrete examples of empty catch blocks, overly broad catches, swallowed error context, and non-idempotent retries, plus an 8-point verification checklist. - Use Case: When reviewing a service that calls the Stripe API, apply the circuit breaker pattern with a fallback response and an idempotency key on retried POST requests to prevent duplicate charges during outages. ## Quick Start Ask the AI to review your external API call code and apply the error classification table, retry with backoff, and circuit breaker patterns from this Skill.