mcpbeat Sign in

Error Recovery Patterns Agent Skill

Design gh-aw error handling, retry, recovery, and debugging flows.

818 tokens
context cost
SKILL.md, read when the skill is used
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
4 864
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/github/gh-aw --skill error-recovery-patterns

The instruction itself

13 sections, as written by the author

Error Recovery Patterns Skill

Use this skill for error handling, recovery strategies, and debugging in gh-aw.

Purpose

Implement robust recovery patterns to:

  • Reduce retry loops in agent sessions (target: <10% vs current 23%)
  • Implement circuit breakers to prevent infinite retry loops
  • Add proactive recovery for installation, dependency, and API failures
  • Improve debug logging for recovery attempts

When to Use This Skill

Use this skill when:

  • Implementing retry logic for network operations, installations, or API calls
  • Debugging retry loop issues in workflows or agent sessions
  • Adding error recovery patterns to new or existing code
  • Understanding transient vs non-transient error classification
  • Implementing circuit breakers or exponential backoff
  • Adding debug logging for recovery attempts

Key Concepts Covered

1. Circuit Breaker Pattern

  • Maximum retry limits (standard: 3 attempts)
  • Exponential backoff strategies
  • Fail-fast on non-transient errors
  • Implementation in JavaScript, Shell, and Go

2. Installation Failure Recovery

  • NPM installation with cache clearing and registry fallbacks
  • Python pip installation with mirror alternatives
  • Docker image pull with retry and rate limit handling
  • Copilot CLI installation with network retry

3. API Timeout and Rate Limit Handling

  • GitHub API rate limit detection and backoff
  • Transient error detection patterns
  • Custom retry configuration for different APIs
  • Rate limit-specific retry strategies

4. Debug Logging for Recovery

  • Logger package usage for retry attempts
  • Category naming conventions (pkg:filename)
  • DEBUG environment variable patterns
  • Zero-overhead logging when disabled

5. Error Categorization

  • Transient vs non-transient errors
  • Network errors, timeout patterns
  • HTTP error codes (502, 503, 504)
  • GitHub-specific errors (rate limits, abuse detection)

Anti-Patterns to Avoid

This skill explicitly covers anti-patterns to avoid:

  • ❌ Infinite retry loops without maximum limits
  • ❌ Retrying validation errors that won't self-correct
  • ❌ No backoff delay between attempts
  • ❌ Silent retries without logging
  • ❌ Retrying non-transient errors

Code Examples Provided

The skill includes production-ready examples for:

  • JavaScript retry with withRetry() function
  • Shell script retry loops with exponential backoff
  • Go retry patterns with context and timeouts
  • NPM/pip/docker installation recovery
  • GitHub API rate limit handling
  • Debug logging for all recovery attempts
  • error-messages - Error message formatting and style guide
  • error-pattern-safety - Safety guidelines for error pattern regex
  • developer - General development guidelines and conventions

Full Documentation

Complete documentation available at: ../../scratchpad/error-recovery-patterns.md

This skill references the comprehensive error recovery patterns document which includes:

  • Console formatting requirements
  • Error wrapping patterns
  • Common error scenarios with step-by-step resolution
  • Error message templates
  • Debugging runbook
  • Error categorization decision trees
  • Metrics and monitoring strategies

Other skills for the same job

different authors, same section of the catalogue
Executing Plans
by ZhanlinCui
×5

Use when you have a written implementation plan to execute in a separate session with review checkpoints

542 tokens
Protocolsio Integration
by christophacham
×4

Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.

3.9k tokens
Tailored Resume Generator
by frostant
×4

Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances

3.1k tokens
Expo Dev Client
by openai
vendor ×3

Build and distribute Expo development clients locally or via TestFlight

878 tokens
Anndata
by christophacham
×3

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

2.8k tokens
Benchling Integration
by christophacham
×3

Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.

3.5k tokens
Biopython
by christophacham
×3

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

3.7k tokens
Cellxgene Census
by christophacham
×3

Query the CELLxGENE Census (61M+ cells) programmatically. Use when you need expression data across tissues, diseases, or cell types from the largest curated single-cell atlas. Best for population-scale queries, reference atlas comparisons. For analyzing your own data use scanpy or scvi-tools.

4.1k tokens

How to use it

Copy the folder

Take github/error-recovery-patterns from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip, npm. Without those the skill loads but fails at the first command.