What problem does it solve? Inconsistent error handling across an API and its client leads to swallowed exceptions, leaked internals, silent fallbacks, and confusing user-facing failures. This Skill provides a single set of rules and a review checklist so every failure path in the project's TypeScript API and React client is explicit, safe, and consistent with the existing contract. ## Core Features & Use Cases - API error contract enforcement: Maps known failures to deliberate HTTP statuses, routes unexpected errors to terminal JSON error middleware, and keeps the top-level { "error": "..." } envelope consistent with OpenAPI and generated clients. - Client failure handling: Treats every non-2xx response as failure, validates response shapes before adopting them into state, and preserves local/offline data when acknowledgments are missing. - Retry and timeout policy: Restricts retries to transient idempotent operations, bounds attempts with backoff and jitter, honors Retry-After, and requires explicit timeouts with consistent cancellation. - Use Case: When adding a new Express route that calls an external provider, use this Skill to ensure validation happens before provider work, errors map to safe JSON messages, logs exclude sensitive payloads, and the React client shows an actionable retry message. ## Quick Start Ask the AI to review the error handling of a specific API route or React data-fetching flow against this project's error-handling rules and checklist.