resilience

Apply fault-tolerance patterns to outbound calls and async consumers with timeouts, retries, circuit breakers, and bulkheads.

7|Updated Jan 26, 2026
One-click install
npx skills add https://github.com/bricerising/enterprise-software-playbook --skill resilience-bricerising
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: resilience
Source: https://github.com/bricerising/enterprise-software-playbook/tree/main/skills/resilience
Command: npx skills add https://github.com/bricerising/enterprise-software-playbook --skill resilience-bricerising

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Reduces the impact of partial failures by applying fault-tolerance patterns to outbound calls and async processing, keeping services responsive and observable.

Core Features & Use Cases

  • Timeouts and cancellation for outbound calls to prevent hanging requests.
  • Retries with bounded backoff and jitter to recover from transient errors.
  • Circuit breakers and bulkheads to isolate failures and protect resources.
  • Idempotency keys and dedupe strategies for safe retries in message processing or events.
  • Observability hooks and testability guidance to verify failure modes and recovery.

Quick Start

Configure your outbound clients to enforce timeouts, apply bounded retries with backoff and jitter, and enable circuit breakers and bulkheads to harden interactions with dependencies.

Frequently Asked Questions about resilience

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

FAQPage Schema
How do I prevent hanging requests on outbound HTTP and gRPC calls?

To prevent hanging requests on outbound calls, you enforce explicit timeouts and cancellation on HTTP and gRPC clients. This keeps services responsive by bounding the duration of downstream interactions.

What is the best way to handle transient errors with retries and backoff?

Handling transient errors requires applying bounded retries with backoff and jitter to outbound calls. Adding idempotency keys and dedupe strategies ensures these retries remain safe for message processing and events.

How do circuit breakers and bulkheads isolate downstream service failures?

Circuit breakers and bulkheads isolate downstream service failures by stopping cascading errors and partitioning resources. This fault-tolerance pattern protects your system from resource exhaustion during partial outages.

Can I apply fault-tolerance patterns to async message queue consumers?

Yes, you can apply fault-tolerance patterns to async message queue consumers. Using idempotency keys, dedupe strategies, and bounded retries ensures safe message processing and event recovery during transient failures.

When should I not use resilience patterns for diagnosing failures?

You should not use resilience patterns for diagnosing root causes of failures or making multi-service architecture decisions. Fault-tolerance masks partial failures rather than resolving underlying system issues.