agentsclimarketplace

My error recovery

Skill alexleekt/agents/skills/my-error-recovery

AI agent skills and configurations managed by Saddle. Centralized behavioral rules for Claude, OpenCode, Codex, Cursor, Copilot, Gemini, and Pi.

Install
npx -y skills add alexleekt/agents --skill my-error-recovery

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

**ALWAYS use when:** a tool fails, a command errors, a request times out, a file read returns nothing unexpected, or something goes wrong during execution. Use when the user says "it failed", "error", "something went wrong", "that didn't work", or when any tool call returns an error, stderr, or non-zero exit code. Also use when a skill produces unexpected output, a provider is unavailable, or the agent needs to pivot strategy after a failure. **DO NOT use for:** code review of error-prone code — use @skills/my-code-review. Preventing errors through planning — use @skills/my-project-lifecycle.

SKILL.md

6.7 KB, as published. Nobody here has run it

Error Recovery

Graceful failure handling, retry patterns, and strategic pivots.

⚡ Quick Start

Tool failed or command errored? → 1. Read the error carefully — stderr often contains the real cause → 2. Classify: transient, permanent, or user-correctable? → 3. Apply the appropriate recovery pattern → 4. Never silently ignore errors

Error Classification

TypeCharacteristicsRecovery
TransientNetwork timeout, rate limit, temporary unavailabilityRetry with backoff
PermanentSyntax error, missing file, wrong path, logic bugFix root cause
User-correctableMissing dependency, wrong branch, need authAsk user with specific fix
Agent-correctableWrong tool used, wrong file path, wrong syntaxFix and retry immediately

Recovery Patterns

Pattern 1: Retry with Backoff (Transient)

For network timeouts, rate limits, temporary failures:

Attempt 1 → fails (timeout)
  → Wait 2s → Attempt 2
    → fails (timeout)
      → Wait 4s → Attempt 3
        → succeeds or escalate

Max 3 attempts. If still failing, classify as permanent.

Pattern 2: Fix and Retry (Agent-Correctable)

For wrong paths, wrong tools, wrong syntax:

1. Read error message carefully
2. Identify what was wrong
3. Fix the approach
4. Retry immediately (no user ask)

Example: read failed because file doesn't exist → check path, maybe find first, then read correct path.

Pattern 3: Escalate to User (User-Correctable)

For missing dependencies, auth issues, branch conflicts:

1. Explain what failed and why
2. Provide the exact command/fix needed
3. Ask user to apply it, then retry

Example: npm install fails because Node.js version mismatch → tell user exact version needed.

Pattern 4: Pivot Strategy (Permanent / Ambiguous)

When the approach itself is wrong:

1. Acknowledge the failure
2. Propose 2-3 alternative approaches
3. Let user choose or ask for clarification

Example: web_scrape fails because site blocks bots → propose web_extract, ctx_fetch_and_index, or ask for URL alternative.

3-Strikes Circuit Breaker

Track failures per (tool + target) pair across the session:

StrikeAction
Strike 1Retry with identical parameters (transient flake). Log the error.
Strike 2Retry with adjusted parameters (path fix, longer timeout, different syntax).
Strike 3Final retry. If still failing → mandatory pivot.
Strike 4+STOP. Do not retry the same operation again.

Mandatory Pivot Options (Strike 3 fails)

  1. Switch tool categorybashread, editwrite, readctx_execute_file
  2. Decompose task — break into smaller steps, retry a sub-step
  3. Escalate to user — explain the repeated failure, ask for guidance
  4. Delegate to subagent — if parallelism helps, use @skills/pi-subagents

When to reset the strike counter

  • Reset when the tool succeeds on the same target
  • Reset when you switch to a different tool for the same target
  • Reset when the target changes (different file, different URL)
  • Do NOT reset when retrying with slightly different parameters — that's Strike 2

Rationale: Prevents retry loops that generate 100+ errors in a single session. A failure after 3 attempts means the approach is wrong, not the parameters.

HTTP-Specific Recovery

StatusMeaningRecovery
429Rate limitedRetry with exponential backoff
503Service unavailableRetry once, then report
404Not foundCheck URL, fix path
401/403Auth deniedEscalate to user
500+Server errorRetry once, then report
TimeoutNo responseRetry with longer timeout

Tool-Specific Recovery

Bash (command errors)

  • Check stderr first — stdout may be empty but stderr has the cause
  • Common: command not found → check if tool is installed
  • Common: permission denied → check file permissions or use sudo
  • Common: No such file or directory → verify path with ls or find

Edit (file mutations)

  • oldText must match exactly — whitespace matters
  • If edit fails, re-read the file to get current exact content
  • Never guess — always re-read before retrying edit

Read (file access)

  • File doesn't exist → find or ls to locate it
  • Permission denied → check with ls -la
  • Binary file → use ctx_execute_file instead

Write (new files)

  • Directory doesn't exist → mkdir -p first
  • Overwriting existing → confirm with user unless explicitly told to overwrite

Common Mistakes

Wrong: Silently retrying the exact same failed command ✅ Right: Read error, fix root cause, then retry

Wrong: Asking user "what should I do?" without diagnosing first ✅ Right: Diagnose, classify, then ask with specific options or fix

Wrong: Treating a permanent error as transient and retrying 5 times ✅ Right: 3 retries max for transient, then escalate or pivot. Use the 3-Strikes rule.

Wrong: Retrying the same failed bash command 4+ times with minor tweaks ✅ Right: After 3 strikes on the same (tool + target), pivot strategy. The approach is wrong.

Wrong: Ignoring stderr and assuming command succeeded ✅ Right: Always check stderr, especially for bash commands

Wrong: Giving up after first failure without attempting recovery ✅ Right: Every error is recoverable with the right classification

Related Skills

  • @skills/my-workflow — Session boundaries when errors require context switch
  • @skills/my-session-retrospective — Log errors for skill improvement
  • @skills/my-project-lifecycle — Plan phase error prevention

Versioning

  • Last updated: 2026-05-26
  • Version: 1.1
  • Update notes: Added 3-Strikes Circuit Breaker per (tool + target) to prevent 100+ error loops. Strike 3 mandates pivoting strategy (switch tool, decompose, ask user, or delegate) rather than retrying indefinitely.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.