← ClaudeAtlas

error-handling-and-resiliencelisted

Build error handling, retries, timeouts, and resilience patterns into a change — the constructive counterpart to silent-failure hunting during review. Use when adding error handling, a retry, a timeout, a circuit breaker, or any code that calls an external service, queue, or dependency that can fail. Triggers on error handling, retry, timeout, resilience, circuit breaker, exception, failure path, external call.
BenMacDeezy/Orns-Forge · ★ 0 · AI & Automation · score 72
Install: claude install-skill BenMacDeezy/Orns-Forge
# Error handling & resilience `pr-review-toolkit:silent-failure-hunter` catches swallowed errors at review time. This skill is the constructive counterpart — build the failure paths correctly the first time so there's nothing for that hunter to find. ## 1. Error taxonomy Classify every error before deciding how to handle it — the right response differs by kind: - **Programmer error** (bug): null deref, type mismatch, violated invariant. Not retryable, not the user's fault. Fail loud (throw/crash the request), log with full context, fix the code — never paper over with a try/catch that swallows and continues. - **Operational error**: network blip, timeout, dependency down, resource exhausted. Expected to happen in a running system. Retryable if the operation is idempotent (§3), otherwise surfaced as a clear failure. - **User-facing error**: bad input, missing permission, business-rule violation (insufficient funds, duplicate resource). Not a bug — return a clear error to the caller (see `api-design-rest-graphql`'s error envelope and status codes), don't log it as a system fault. ## 2. No-swallow rules - **Never catch-and-continue without handling.** An empty `catch {}` or a catch that only logs and moves on is a silent failure waiting to be discovered in production, not in review. - **Rethrow with context**, don't rethrow bare. Wrap the original error with what you were doing when it happened (`"failed to charge order 4521: " + err`) — the raw sta