From maverick
Sets error handling conventions including error propagation, retry strategies, circuit breakers, typed errors, and graceful degradation for all applications.
How this skill is triggered — by the user, by Claude, or both
Slash command
/maverick:mav-bp-error-handlingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Maverick's hard rules for intentional, typed, resilient error handling.
Maverick's hard rules for intentional, typed, resilient error handling.
catch handles, logs, or re-throws. An empty catch is a bug.type (machine-readable classification), message, context (structured metadata), and cause (wrapped original). Never throw new Error("failed").warn, 5xx → error — client errors are expected (track volume, no alert unless it spikes); server errors require investigation and alert when persistent. Log levels and alerting per mav-bp-operability.base * 2^attempt) with jitter. Retry only transient failures: timeouts, 429, 502, 503, 504. Never retry 400/401/403/404 or non-idempotent operations without idempotency keys.Check for docs/maverick/skills/error-handling/SKILL.md. If present, read it — it wins on specifics (library, config, conventions). If missing, proceed with these standards and note the gap in your summary.
| Pattern | Issue | Fix |
|---|---|---|
Empty catch block | Silently swallowed error | Handle, log, or re-throw |
catch (err) { return null } | Lost error context | Propagate the error or handle explicitly |
throw new Error("failed") | Untyped, no context | Use typed error with structured metadata |
| Retrying on 400/401/403 | Retrying permanent failures | Only retry transient errors (429, 5xx, timeouts) |
| No retry on external HTTP calls | Fragile to transient failures | Add retry with exponential backoff |
| Stack trace in API response | Leaking internals | Return safe error with request ID only |
catch at every layer in the call stack | Duplicate handling/logging | Catch at the boundary, propagate elsewhere |
| Feature crashes app when dependency is down | No graceful degradation | Degrade the feature, keep the app running |
| No error boundary around UI sections | Single component crashes page | Wrap sections in error boundaries with fallback UI |
| Generic error message for all failures | Poor user experience | Distinguish client vs server errors |
npx claudepluginhub thermiteau/maverick --plugin maverickStandardizes error handling across frontend and backend layers with exception hierarchy, error categories, response formats, and boundary patterns.
Implements error handling patterns: custom error hierarchies, structured logging, retry strategies, circuit breakers, and graceful degradation. Includes Express global error handler and anti-patterns checklist.
Implements error handling patterns like retries, circuit breakers, and async error management for resilient apps, APIs, distributed systems, and debugging.