Skillquality 0.45

status-colors-and-errors

Keep status and error colours minimal and consistent — too many semantic colours confuse users. Each colour must mean exactly one thing. Errors should be recoverable, large failures must be prevented, and the UI should always give the user a path forward. Use when designing statu

Price
free
Protocol
skill
Verified
no

What it does

Status Colours and Error Design

Keep the Colour Set Small

Every status colour added to a system is a cognitive burden on the user. They must learn what each colour means, remember it, and interpret it correctly under stress — which is exactly when errors occur.

The minimal set that covers almost everything:

ColourSemantic meaningAlways means
RedError / failure / destructiveSomething went wrong, or this action cannot be undone
Orange / AmberWarningSomething needs attention before proceeding
GreenSuccess / positiveAction completed, state is healthy
BlueInfo / neutral statusInformational, no action required

Rule: each colour maps to exactly one meaning across the entire product. If orange means "warning" in one component and "pending" in another, the system breaks down.

When in doubt, cut the colour — neutral grey communicates status without semantic weight, and neutral is better than a misused semantic colour.

Orange Is Always a Warning

Orange (amber) carries a specific signal: pay attention, something may go wrong. Do not use it for:

  • Neutral states (use grey)
  • Progress or pending (use blue or a spinner)
  • Informational content (use blue)
  • Branding or decorative purposes inside status indicators

If orange appears in the UI, the user should immediately know it requires their attention.

Errors Should Be Recoverable

The worst error is one the user cannot recover from. Design every error state with a path forward.

Error message anatomy

Every error should answer three questions:

  1. What went wrong? — plain language, no error codes
  2. Why did it happen? — if useful and known
  3. What should the user do next? — specific, actionable
❌ "Error 500"
❌ "Something went wrong"
✓  "We couldn't save your changes. Check your connection and try again."
✓  "This email is already in use. Sign in instead, or use a different email."

Recovery actions

  • Always provide a retry button for transient failures (network errors, timeouts)
  • For validation errors, point directly to the problematic field
  • For destructive actions that failed, reassure the user nothing was lost
  • For session expiry, redirect to login and return the user to where they were

Prevent Large Errors Before They Happen

The most damaging errors — data loss, irreversible actions, broken state — should be prevented at the design level, not handled after the fact.

  • Confirm before irreversible actions: "Delete this project and all 47 tasks? This cannot be undone."
  • Disable unavailable actions rather than letting users trigger them and hit an error
  • Autosave where possible so a browser crash or accidental close does not destroy work
  • Optimistic UI with rollback: show the success state immediately, silently retry on failure, surface an error only if the retry also fails

Levels of Severity — Use Sparingly

Not every problem is equal. Match the visual weight of the feedback to the severity.

SeverityPatternWhen to use
Blocking errorFull-page error state or modalApp cannot continue, user must act
Inline errorRed text below a fieldForm field validation failure
Toast / snackbarTemporary notification, bottom of screenTransient failure the user should know about but can dismiss
Alert bannerPersistent bar at top of sectionOngoing issue affecting the current context
Empty stateIllustrated or descriptive empty screenNo data yet — use as an opportunity for guidance, not just a blank

Avoid showing multiple simultaneous error types at once — one clear message is more useful than three overlapping alerts.

Review Checklist

  • Does the product use four or fewer semantic status colours?
  • Does each colour mean exactly one thing, used consistently everywhere?
  • Is orange/amber reserved exclusively for warnings?
  • Does every error message state what went wrong and what to do next?
  • Do all transient errors (network, timeout) have a retry action?
  • Are irreversible destructive actions protected by a confirmation step?
  • Is autosave or draft recovery available for long-form or complex inputs?
  • Are multiple simultaneous error states avoided?

Common Anti-Patterns

Anti-patternProblemFix
"Something went wrong" with no actionUser is stuck with no path forwardAdd specific cause and a retry or contact link
Orange used for "pending" and "warning" simultaneouslyColour loses its meaningOrange = warning only; use blue or spinner for pending
Five or more status colours (red, orange, yellow, teal, purple…)User must learn and remember a complex legendCut to the minimum: red, orange, green, blue
Inline validation only on submitUser discovers all errors at onceValidate on blur (leaving a field) for immediate feedback
No confirmation on deleteUsers accidentally delete dataRequire explicit confirmation for all irreversible actions

Capabilities

skillsource-dembrandtskill-status-colors-and-errorstopic-accessibilitytopic-agent-skillstopic-claude-code-skillstopic-claude-skillstopic-cursor-skillstopic-design-systemtopic-design-tokenstopic-enterprise-uxtopic-gestalttopic-skills-shtopic-typographytopic-ui-design

Install

Quality

0.45/ 1.00

deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (5,102 chars)

Provenance

Indexed fromgithub
Enriched2026-05-18 19:08:28Z · deterministic:skill-github:v1 · v1
First seen2026-05-18
Last seen2026-05-18

Agent access