effect-errors-retries

Map domain errors and implement retries with backoff, jitter, and timeouts.

Updated Nov 20, 2025
One-click install
npx skills add https://github.com/mepuka/adjunct --skill effect-errors-retries
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: effect-errors-retries
Source: https://github.com/mepuka/adjunct/tree/main/.claude/skills/effect-errors-retries
Command: npx skills add https://github.com/mepuka/adjunct --skill effect-errors-retries

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Structured error handling, domain-specific errors, and retry strategies.

Core Features & Use Cases

  • TaggedError types for domain errors
  • catchTag(s) for precise recovery
  • Retry schedules with backoff and timeouts

Quick Start

Define domain errors and map them into domain boundaries; add a retry policy.

Frequently Asked Questions about effect-errors-retries

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement retry logic with backoff and timeouts for API and database errors?

Retry strategies with backoff and timeouts handle transient failures in service calls. Define retry schedules that increase delay between attempts, add jitter to prevent thundering herd, and set absolute timeouts to fail fast. Map specific error types to retry policies at service boundaries.

What's the best way to structure domain-specific error handling in my code?

TaggedError types categorize errors into domain boundaries, separating recoverable from permanent failures. Use catchTag to match and handle specific error types at the point where recovery is possible, then map errors upward through layers only when unrecoverable.

How do I distinguish between errors I should retry and errors I should fail on immediately?

Classify errors by domain and recoverability: transient network failures warrant retries; validation errors and permission denials do not. TaggedError types let you mark each error category, then apply retry schedules selectively to errors where retrying has a reasonable chance of success.

Can I use the same error handling approach for HTTP requests, database queries, and external service calls?

Yes. TaggedError types and retry schedules work across any service boundary. Map HTTP status codes, database error codes, and third-party exception types into your domain error taxonomy, then apply consistent retry and timeout policies.

What happens when retries are exhausted or a timeout is reached?

After all retries fail or timeout expires, the error propagates to the caller as an unrecoverable failure. Use catchTag to implement fallback logic—circuit breakers, degraded responses, or alerts—before the error surfaces to end users.