algorithmic-color-pale…
Derive a full UI palette from one or two brand colours — state variants, brand-tinted greys, semantic colours. Use when building…
Few semantic colours, each meaning one thing, and errors with a way forward. Use when designing status indicators, validation, alerts or error states.
Claude Code
$ npx -y skills add dembrandt/dembrandt-skills --skill status-colors-and-errors --agent claude-code
Codex
$ npx skills add dembrandt/dembrandt-skills --skill status-colors-and-errors -a codex -y
Cursor
$ npx skills add dembrandt/dembrandt-skills --skill status-colors-and-errors -a cursor -y
Gemini CLI
$ npx skills add dembrandt/dembrandt-skills --skill status-colors-and-errors -a gemini-cli -y
GitHub Copilot
$ npx skills add dembrandt/dembrandt-skills --skill status-colors-and-errors -a github-copilot -y
OpenCode
$ npx skills add dembrandt/dembrandt-skills --skill status-colors-and-errors -a opencode -y
Windsurf
$ npx skills add dembrandt/dembrandt-skills --skill status-colors-and-errors -a windsurf -y
name: status-colors-and-errors
description: Few semantic colours, each meaning one thing, and errors with a way forward. Use when designing status indicators, validation, alerts or error states.
metadata:
priority: 8
pathPatterns:
- "**/*.css"
- "**/*.scss"
- "**/tokens/**"
- "**/theme/**"
- "tailwind.config.*"
- "design-system/**"
- "components/**"
- "**/*.tsx"
- "**/*.jsx"
promptSignals:
phrases:
- "error"
- "warning"
- "success"
- "alert"
- "status"
- "validation"
- "feedback"
- "toast"
- "notification"
retrieval:
aliases:
- error states
- status colours
- semantic colours
- alerts
- form validation
- error recovery
- feedback system
intents:
- design error states
- set up semantic colours
- handle errors gracefully
- show validation feedback
- communicate status to users
examples:
- what colours should I use for errors and warnings
- how should I handle a failed API call
- design the error state for this formEvery 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:**
| Colour | Semantic meaning | Always means | |---|---|---| | **Red** | Error / failure / destructive | Something went wrong, or this action cannot be undone | | **Orange / Amber** | Warning | Something needs attention before proceeding | | **Green** | Success / positive | Action completed, state is healthy | | **Blue** | Info / neutral status | Informational, 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.
**Every status tone must be visibly distinct from the others.** If two tokens render alike, keep one. A second name for the same visible colour is not a second status: authors pick either, users read one state, and the name becomes a lie. Draft and pending states take neutral, not the warning tone.
When in doubt, cut the colour — neutral grey communicates status without semantic weight, and neutral is better than a misused semantic colour.
Orange (amber) carries a specific signal: pay attention, something may go wrong. Do not use it for:
If orange appears in the UI, the user should immediately know it requires their attention.
**The worst error is one the user cannot recover from.** Design every error state with a path forward.
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."
The most damaging errors — data loss, irreversible actions, broken state — should be prevented at the design level, not handled after the fact.
**State the consequences *before* the user acts, not after.** Fear comes from not knowing what a control will do. Make the outcome legible ahead of the action so the user commits with confidence:
Not every problem is equal. Match the visual weight of the feedback to the severity.
| Severity | Pattern | When to use | |---|---|---| | **Blocking error** | Full-page error state or modal | App cannot continue, user must act | | **Inline error** | Red text below a field | Form field validation failure | | **Toast / snackbar** | Temporary notification, bottom of screen | Transient failure the user should know about but can dismiss | | **Alert banner** | Persistent bar at top of section | Ongoing issue affecting the current context | | **Empty state** | Illustrated or descriptive empty screen | No 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.
Enterprise UX secrets, now built into your AI agent. Your agent writes the component in seconds. It does not know the modal should be a drawer, or that the grey it picked fails contrast. These skills carry that judgment: what to do, and what breaks otherwise.
Derive a full UI palette from one or two brand colours — state variants, brand-tinted greys, semantic colours. Use when building…
Top bar, sidebar rail, app launcher, tenant and environment cue, status bar. Use when designing the persistent shell, a…
Product visuals must show the real product with real data. Use when building landing pages, hero sections, screenshots or demo…
Shape language across type, radius and icons carries brand personality. Use when starting a design system, picking icons or…
Rest, hover, active, focus, disabled and loading states, derived from the base colour. Use when designing buttons, links, inputs…
Rebuild a live web page 1:1 from measurement into Figma, Penpot or code, then verify it. Use when reproducing a page or checking…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.