resilience-timeouts-retries

Implement timeouts, retries, circuit breakers, and bulkheads for service-to-service communication.

9|3|Updated Jun 13, 2026
One-click install
npx skills add https://github.com/Sir-chawakorn/sanook-cli --skill resilience-timeouts-retries
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: resilience-timeouts-retries
Source: https://github.com/Sir-chawakorn/sanook-cli/tree/main/skills/resilience-timeouts-retries
Command: npx skills add https://github.com/Sir-chawakorn/sanook-cli --skill resilience-timeouts-retries

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill prevents cascading failures and system instability caused by flaky network dependencies, such as slow APIs, databases, or RPC services, by implementing robust error-handling policies.

Core Features & Use Cases

  • Failure Mitigation: Implements exponential backoff with full jitter, circuit breakers, and bulkheads to prevent retry storms and thundering herd problems.
  • Operational Safety: Enforces strict timeouts, deadline propagation, and idempotent retry logic to ensure network calls fail fast and safely.
  • Use Case: Use this skill when a downstream service is experiencing high latency or intermittent outages to ensure your application remains responsive without overwhelming the failing dependency.

Quick Start

Apply the resilience-timeouts-retries skill to configure a circuit breaker and retry policy for the payment gateway API client.

Frequently Asked Questions about resilience-timeouts-retries

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

FAQPage Schema
How do I prevent cascading failures in distributed systems when a downstream API is slow?

To prevent cascading failures in distributed systems, implement resilience patterns like circuit breakers and bulkheads that isolate failing downstream APIs, ensuring your application remains responsive without overwhelming the dependency.

What is the best way to implement retries without causing a thundering herd problem?

The best way to implement retries without causing a thundering herd problem is to use exponential backoff with full jitter, combined with bulkheads, to distribute retry attempts and prevent retry storms against flaky network dependencies.

How do circuit breakers and bulkheads manage tail latency in microservices?

Circuit breakers and bulkheads manage tail latency in microservices by enforcing strict timeouts and failing fast on outbound service-to-service communication, which halts requests to slow dependencies and preserves system stability.

When do I need deadline propagation for network calls in distributed architectures?

You need deadline propagation for network calls when managing multi-service request chains, ensuring that strict timeouts are enforced across the entire call chain so downstream services respect the remaining time budget.

Do I need idempotent operations to safely retry failed network requests?

Yes, you need idempotent operations to safely retry failed network requests, as proper idempotent retry logic ensures that duplicated outbound calls during intermittent outages do not cause inconsistent state or duplicate side effects.

Why does my retry storm keep overwhelming the database during intermittent outages?

Your retry storm overwhelms the database during intermittent outages because the retry policy lacks bulkhead isolation and full jitter, which are required to cap concurrent requests and space out retry attempts safely.