go-resilience

Implement timeout, retry, and circuit-breaker patterns for Go microservices.

Updated Jan 18, 2026
One-click install
npx skills add https://github.com/333-333-333/agents --skill go-resilience
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-resilience
Source: https://github.com/333-333-333/agents/tree/main/skills/go-resilience
Command: npx skills add https://github.com/333-333-333/agents --skill go-resilience

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) components.

What problem does it solve?

Go-based microservices frequently suffer instability when calling external systems, leading to timeouts and cascading failures. This skill provides a cohesive set of resilience patterns to stabilize calls, degrade gracefully, and improve overall reliability.

Core Features & Use Cases

  • Circuit breaker to stop calls to failing dependencies and recover gracefully.
  • Retry with exponential backoff and jitter to handle transient faults.
  • Per-call timeouts and graceful degradation for responsive services.
  • Failure injection and testing support to validate resilience under load.

Quick Start

Integrate go-resilience in your service by wrapping outbound calls with timeout, retry, and circuit-breaker logic.

Frequently Asked Questions about go-resilience

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

FAQPage Schema
How do I prevent cascading failures in Go microservices?

To prevent cascading failures in Go microservices, apply circuit breaker, timeout, and retry patterns to external calls. This stops requests to failing dependencies, allowing graceful degradation and improving overall service reliability.

How do I implement a circuit breaker for Go HTTP calls?

Implement a circuit breaker for Go HTTP calls by wrapping outbound requests with configurable max failure thresholds and reset timeouts. This stops traffic to failing dependencies and allows them to recover gracefully.

How does retry with exponential backoff handle transient faults in Go?

Retry with exponential backoff handles transient faults in Go by progressively increasing the wait time between retries and adding jitter. This prevents overwhelming recovering services and reduces repeated request collisions.

Can I apply per-call timeouts to database queries in Go?

Yes, you can apply per-call timeouts to database queries in Go. Wrapping outbound database calls with timeout policies ensures responsive services by limiting the maximum duration of external operations.

What is the best way to validate fault tolerance in Go services?

The best way to validate fault tolerance in Go services is using failure injection and testing support under load. This verifies that timeout, retry, and circuit-breaker behaviors correctly prevent instability during dependency outages.