error-handling-patterns

Design and implement typed error hierarchies with retries and circuit breakers.

Updated Jan 20, 2026
One-click install
npx skills add https://github.com/ollieb89/ugro --skill error-handling-patterns-ollieb89
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: error-handling-patterns
Source: https://github.com/ollieb89/ugro/tree/main/.windsurf/skills/error-handling-patterns
Command: npx skills add https://github.com/ollieb89/ugro --skill error-handling-patterns-ollieb89

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

Error handling is essential for building reliable software. This Skill provides structured patterns and practical guidance to design, implement, and reason about errors across languages, preventing cascading failures and improving maintainability.

Core Features & Use Cases

  • Cross-language patterns: Exceptions vs Result types, typed error hierarchies, retry strategies, circuit breakers, and graceful degradation.
  • Practical guidance for API design, input validation, logging, and failure recovery in distributed systems.
  • Use Case: When integrating external services, apply backoff retries and circuit breakers to protect downstream systems and improve resilience.

Quick Start

Inspect the Python, TypeScript, Rust, and Go examples in this Skill and adapt the patterns to your codebase. Implement a simple circuit breaker and retry strategy in a new feature and observe improved stability. Document your error taxonomy and guidelines for your team to reference during development.

Frequently Asked Questions about error-handling-patterns

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

FAQPage Schema
How do I implement error handling patterns across multiple programming languages?

Error handling patterns provide structured approaches like typed error hierarchies, exceptions versus result types, and retry strategies. This Skill covers cross-language implementations in Python, TypeScript, Rust, and Go, enabling you to design consistent error handling regardless of your tech stack.

What is a circuit breaker and when should I use one?

A circuit breaker is a fault-tolerance pattern that stops requests to failing services, preventing cascading failures in distributed systems. Use it when integrating external APIs or services to protect downstream systems and improve resilience during outages.

How do I implement retry strategies with exponential backoff?

Exponential backoff retries gradually increase wait time between failed requests, reducing load on struggling services. This Skill provides practical retry patterns and code examples to implement backoff strategies that improve API reliability without overwhelming systems.

Can I use these error patterns for API development and data pipelines?

Yes. These error-handling patterns apply to API development, data processing pipelines, and distributed systems. They enforce clear error messages, typed hierarchies, and reusable patterns that improve failure recovery across different architectural contexts.

What's the difference between exception handling and result types?

Exceptions use control flow for error signaling, while result types return values representing success or failure. This Skill compares both approaches across languages, helping you choose the pattern that best fits your codebase and team conventions.

How do I document error handling for my team?

Document your error taxonomy—the categories, messages, and handling rules specific to your system—and share guidelines during development. This Skill helps you establish reusable error patterns and documentation practices for consistent team implementation.