From grimoire
Maps user actions (form submission, delete, errors) to feedback mechanisms (toast, modal, inline) with copy that confirms success or explains failure + recovery.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:design-feedback-patternsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Map each user action to the right feedback mechanism — inline, toast, modal, or full-page — and write copy that confirms success, explains failure, and offers recovery.
Map each user action to the right feedback mechanism — inline, toast, modal, or full-page — and write copy that confirms success, explains failure, and offers recovery.
Adopted by: Nielsen's Heuristic #1 "Visibility of system status" is the most-cited usability heuristic across all major design systems; Google Material Design, Apple HIG, IBM Carbon, and Shopify Polaris all provide explicit feedback component guidelines (snackbars, alerts, dialogs) with usage rules; Stripe's and GitHub's developer experience teams have published case studies on error message redesigns Impact: NNG analysis finds that 82% of usability problems involve unclear system status — users not knowing if an action succeeded, failed, or is in progress; NNG "Error Message Guidelines" (2018) documents that error messages explaining cause + resolution reduce support tickets by 40–50% vs generic "An error occurred" messages; Stripe's redesign of API error messages reduced developer support contacts by 35% Why best: Users make decisions based on perceived system state — no feedback after a click causes re-clicks and duplicate submissions; generic success messages ("Done!") don't confirm what was done; generic error messages ("Something went wrong") don't tell users what to do — all three outcomes require support escalation that a well-designed feedback response would have avoided
Sources: Nielsen "10 Usability Heuristics" (1994); NNG "Error Message Guidelines" (Harley, 2018); NNG "Indicators, Validations, and Notifications: Pick the Correct Communication Option" (Rosala, 2021); Stripe Design "Error Messages" (stripe.dev)
Select the feedback mechanism based on severity, reversibility, and required attention:
| Action type | Feedback mechanism | Rationale |
|---|---|---|
| Non-destructive save / background sync | Toast / snackbar (auto-dismiss, 3–5s) | Confirms without interrupting |
| Destructive action (delete, remove) | Confirmation modal (before) + toast (after) | Requires conscious approval |
| Form submission — success | Inline success or page redirect | Confirms the form completed |
| Form submission — validation error | Inline field error (immediate) | Localizes error to the field |
| System error (load failure, server error) | Inline error + retry CTA | Explains failure + recovery path |
| Permission or access denied | Full page or inline explanation + CTA | Needs context, not just a snackbar |
| Long operation complete (async) | Persistent notification or badge | User may have left the view |
Success messages must confirm the specific action — not just "Done":
❌ "Success!"
❌ "Done!"
✅ "Invoice sent to [email protected]"
✅ "Settings saved"
✅ "Project deleted"
After confirmation, move the user forward:
Every error message must include three parts:
❌ "An error occurred."
❌ "Something went wrong. Please try again."
✅ "Couldn't send the invoice — [email protected] isn't a valid email address. Check the address and try again."
✅ "Couldn't save your changes. Your session expired. [Sign in again]"
✅ "File too large. Maximum size is 10 MB. [Compress the file] or [Upload a different file]"
Tone: factual, not apologetic. "We couldn't save your changes" is cleaner than "We're so sorry, something went wrong and we couldn't save your changes."
Never use a toast or snackbar to confirm a destructive action — the action must be interrupted before execution:
Dialog structure:
[Title] Delete "Q3 Report"?
[Body] This will permanently delete the report and all its data.
This cannot be undone.
[Actions] [Cancel] [Delete] ← destructive action is secondary/danger-styled
Rules for confirmation dialogs:
Real-time validation reduces form abandonment:
❌ "Invalid input"
✅ "Password must be at least 8 characters" (length rule)
✅ "Phone number must be 10 digits" (format rule)
✅ "This email is already registered. [Sign in instead]" (conflict)
Where technically feasible, prefer undo over confirmation dialogs for reversible actions:
Toast: "Report deleted" [Undo] × (5s to undo)
Undo + auto-dismiss reduces the friction of destructive actions without sacrificing safety. Gmail's delete and archive interactions pioneered this pattern. Use confirmation dialogs when the action is genuinely irreversible (permanent deletion, sent messages).
design-loading-states)npx claudepluginhub jeffreytse/grimoire --plugin grimoire2plugins reuse this skill
First indexed Jun 15, 2026
Designs UI feedback for user actions: immediate responses, confirmations via toasts/checkmarks, status indicators, notifications across visual/text/audio/haptic channels with hierarchy and accessibility best practices.
Guides system response design: immediate vs delayed feedback, optimistic/pessimistic updates, progress indicators, confirmation patterns, and toast/snackbar/banner taxonomy.
Guides notification hierarchy for inline messages, toasts, banners, modals matching urgency to disruption level, with dismissal rules, color/icon standards, and alert fatigue prevention.