Loading...
Loading...
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 status indicators, error states, form validation, alerts, or any feedback system.
npx skill4agent add dembrandt/dembrandt-skills status-colors-and-errors| 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 |
❌ "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."| 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 |
| Anti-pattern | Problem | Fix |
|---|---|---|
| "Something went wrong" with no action | User is stuck with no path forward | Add specific cause and a retry or contact link |
| Orange used for "pending" and "warning" simultaneously | Colour loses its meaning | Orange = 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 legend | Cut to the minimum: red, orange, green, blue |
| Inline validation only on submit | User discovers all errors at once | Validate on blur (leaving a field) for immediate feedback |
| No confirmation on delete | Users accidentally delete data | Require explicit confirmation for all irreversible actions |