error-handling

Classify errors into domain, infrastructure, and system levels with propagation strategies.

Updated Jan 29, 2026
One-click install
npx skills add https://github.com/semirm-dev/agent-army --skill error-handling-semirm-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: error-handling
Source: https://github.com/semirm-dev/agent-army/tree/main/claude/skills/error-handling
Command: npx skills add https://github.com/semirm-dev/agent-army --skill error-handling-semirm-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive framework for understanding, categorizing, and implementing robust error handling across various programming languages, ensuring applications are resilient and user-friendly.

Core Features & Use Cases

  • Error Taxonomy: Classify errors into Domain, Infrastructure, and System levels with clear guidelines.
  • Language-Specific Patterns: Demonstrates best practices for error creation and propagation in Go, TypeScript, and Python.
  • Propagation Decision Tree: Guides developers on when to bubble, wrap, or translate errors.
  • User-Facing Guidelines: Ensures error messages are actionable, consistent, and secure.
  • Use Case: When developing a new API endpoint, use this Skill to define appropriate error responses for validation failures, service outages, and internal bugs, ensuring a consistent and informative experience for API consumers.

Quick Start

Use the error-handling skill to define a new domain error for a user validation failure in TypeScript.

Frequently Asked Questions about error-handling

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

FAQPage Schema
How do I structure error handling in TypeScript for API validation failures and service outages?

Error handling in TypeScript requires classifying failures into domain, infrastructure, and system levels. This structured taxonomy ensures you wrap validation errors for user-facing messages while propagating infrastructure and system errors for distributed tracing and alerting.

What is the best way to propagate errors in Go without losing context?

The best way to propagate errors in Go is using a decision tree to determine when to bubble, wrap, or translate them. Wrapping errors preserves the original context and distributed tracing data while allowing you to add actionable, secure user-facing messages at the API boundary.

How does an error taxonomy improve application resilience?

An error taxonomy improves resilience by categorizing errors into distinct levels, enabling consistent logging, alerting, and propagation strategies. This classification prevents infrastructure failures from being masked as domain bugs, ensuring developers can apply the correct recovery or translation pattern.

When should I translate versus bubble an error in a microservice architecture?

You should translate errors when crossing service or API boundaries to provide actionable, secure user-facing guidelines, and bubble errors when internal context must be preserved. A propagation decision tree helps determine the exact boundary where internal system errors become external infrastructure errors.

Does this error handling framework support both Go and Python?

Yes, the framework provides language-specific error creation and propagation patterns for Go, TypeScript, and Python. It enforces best practices for consistent error management, secure user-facing messaging, and distributed tracing context across these specific programming environments.