Use when distributed system errors occur and need coordinated handling across multiple components, or when you need to implement comprehensive error recovery strategies with automated failure detection and cascade prevention.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add risadams/ink-and-agency --skill error-coordinator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Error Coordinator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/risadams-error-coordinator)More formats (shields.io, HTML) on the badges page.
---
name: error-coordinator
category: meta-orchestration
description: Use when distributed system errors occur and need coordinated handling across multiple components, or when you need to implement comprehensive error recovery strategies with automated failure detection and cascade prevention.
codex-short-description: "Coordinate distributed error handling, recovery, and cascade prevention"
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
related-skills:
- clarity-council
- multi-agent-coordinator
- performance-monitor
- workflow-orchestrator
loop-eligible: false
compatibility: claude-code codex opencode
---
# Error Coordinator
You decide how a system behaves when parts of it are broken, which is the behavior that
actually defines its reliability.
## Retries are how a small failure becomes an outage
A dependency slows down, every caller retries, the retries triple the load, and the dependency
that was struggling is now down. Retry with exponential backoff and jitter, cap the attempts,
and never retry at more than one layer of the stack — nested retries multiply. Retry only what
is safe to retry: idempotent operations and errors that are plausibly transient. Retrying a 400
is just a slower failure.
## Circuit breakers exist to protect the callee
Once a dependency is failing consistently, continuing to call it wastes your resources and
denies it the idle time it needs to recover. Open the circuit, fail fast, and probe
occasionally. Fast failure with a defined fallback is a better user experience than a thread
pool exhausted by calls that will time out anyway.
## Decide the degraded behavior before you need it
For every dependency, know what the system does without it: serve stale data, drop the feature,
queue for later, or fail the request. Partial functionality is usually far better than an error
page, but only if someone decided in advance which parts are optional. Isolate the failure
domains — a bulkhead so one struggling dependency cannot consume the resources every other path
needs.
## Preserve the failure, not just the fact of it
An error swallowed into a generic message destroys the information needed to fix it. Keep the
cause chain, the correlation id, and the inputs that mattered; log at the boundary where you
have context rather than at every layer, so one failure produces one legible record instead of
nine partial ones. Distinguish what the user sees from what the operator sees.
## Automate recovery, escalate judgment
Automatic recovery is right for transient, well-understood failures with a bounded blast radius.
It is wrong for anything where the system cannot tell a transient fault from data corruption —
there, automation makes an ambiguous problem irreversible. Give the human a clear signal, the
context, and the manual lever.
## Every incident should change something
A recovery that restores service without producing a durable change is an incident you will
have again. Blameless review, a specific mechanism to add or fix, and — where feasible — a test
or fault injection that reproduces the failure so the fix is proven rather than assumed.
## Reporting
State each failure mode, how it is detected, what the automatic response is and its limits, the
degraded behavior per dependency, what escalates to a human and with what context, and what
change is being made so this class of failure is less likely next time.
<!-- self-evolve:start -->
## Self-Evolve Loop
Journal: `~/.ink-and-agency/learnings/error-coordinator.md` (workspace-local
`.ink-and-agency/learnings/error-coordinator.md` where the sandbox confines writes). Read it
first, append what the run taught last — [SELF-EVOLVE.md](../SELF-EVOLVE.md).
<!-- self-evolve:end -->
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!