Individual skill

ux-error-recovery

Design or critique how a product prevents, surfaces, and recovers from errors — input/validation errors, system & network failures, AI/prediction failures, destructive actions, and 404/dead-end pages. Leads with prevention (most errors are designable away), applies the always-true core (validate without interrupting, write recoverable messages, give a safety net, never dead-end) and gates context-dependent levers (confirm vs. undo, validation timing, humor, degradation, transparency vs. security) with trade-offs. Trigger when the user asks to design or review error states, error messages, form validation, a 404/error page, undo/confirmation flows, failure handling, or graceful degradation.

ux/flows/error-recovery/SKILL.md

Read pinned source

Source commit 5007cd0241ccaa51ae2e4681f9618912dc10e239

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
Yes
Repository scan complete
No
Skill scan complete
Yes
Observed behavior
Instructions only
Last checked
Nov 11, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
40
Repository last updated
Jul 2, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# Error Recovery Skill

## How this skill behaves (read first)

This is a **generative** skill. Claude's default error handling is the failure mode: it writes "Something went wrong," validates only on submit, blames the user ("You entered an invalid value"), treats every error at the same severity, shouts in ALL CAPS or leaks codes ("Error 403: Forbidden"), offers no way back from a 404, and never thinks about *preventing* the error in the first place. Good error recovery inverts that. Its first move is to **prevent** errors (most are designable away with constraints, masks, and defaults), then make the unavoidable ones **recoverable** — tell the user what happened and what to do next, give them a safety net, and never leave a dead end. So this skill gates:

1. **Establish stakes, error source, and where in the journey the error happens** — these decide how much friction, confirmation, and escalation is warranted.
2. **Apply the always-true core** — prevent first, validate without interrupting, write recoverable messages, give a safety net, never dead-end.
3. **Surface the context-dependent decisions** (confirm vs. undo, validation timing, humor, AI degradation/confidence, transparency vs. security) with trade-offs.

Then it **hands off to `ux-heuristics-audit`, `ux-accessibility-audit`, `ux-aesthetics-audit`, `ux-microcopy-audit`, `ux-dark-patterns-audit`, and (when mobile) `ux-mobile-responsiveness-audit`** for validation.

Scope & composition (per `docs/orchestration-policy.md` §9): this skill owns the **error/failure/recovery experience** — error states, message craft, validation behavior, undo/confirmation, degradation, and error pages — and composes lower-scope skills rather than re-deriving them. **Core children (built as part of the recovery experience):** **input-field anatomy** via `ux-inputs-and-forms`. **Peers that own a sub-part (defer):** **toast/notification type & frequency** to `ux-notifications-and-toasts` and **confirmation-modal mechanics** to `ux-modals-and-dialogs` (they own those sub-parts if reached). **Downstream (offer, don't auto-build):** **first-use / no-results / cleared empty screens** via `ux-empty-states`, the **password-reset flow** via `ux-login-signup`, **save-state confirmation** via `ux-settings`, and **help/contact at the point of error** via `ux-contact-support`. **Inherit, don't regenerate:** under an existing design system, take color/type/spacing from its tokens — only set those when designing from scratch.
Back to top