From grimoire
Guides design of empty states for first-use, no-results, user-cleared, and error scenarios to reduce abandonment and improve activation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:design-empty-statesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Write copy, add a single CTA, and use illustration or iconography to transform blank screens into helpful prompts that keep users oriented and moving forward.
Write copy, add a single CTA, and use illustration or iconography to transform blank screens into helpful prompts that keep users oriented and moving forward.
Adopted by: Google Material Design, Apple Human Interface Guidelines, IBM Carbon, Shopify Polaris, and Atlassian Design System all provide explicit empty state guidelines and components; Intercom, Slack, and Notion have each published case studies on how improved empty states increased feature activation rates Impact: NNG (2016) identifies empty states as among the top causes of user abandonment on first use — a blank screen with no context leaves users unsure whether the product is broken, the feature is loading, or action is required; Intercom reported a 17% increase in feature adoption after redesigning first-use empty states with action-oriented copy and a single CTA; Slack attributes part of its onboarding success to empty-state design that guides users to their first message Why best: A blank screen is an implicit error state — it gives users no information about what to do next; a loading spinner without completion feedback is equivalent; empty state design fills the information vacuum with the exact content users need at the moment of uncertainty
Sources: NNG "Empty States in Mobile UX" (Laubheimer, 2016); Google Material Design "Empty states" (material.io); Kleppmann "Designing for Empty States" (Intercom Design, 2017)
Different types require different content:
| Type | When it appears | User's mental state |
|---|---|---|
| First-use | Feature used for the first time; no data yet | Curious but uncertain what to do |
| User-cleared | User deleted all items or completed all tasks | Accomplished; needs next step |
| No-results | Search or filter returned nothing | Frustrated; needs to adjust or try again |
| Error | Load failed due to network or server issue | Frustrated or confused |
Mismatching type to treatment is the most common empty state error — a first-use state that looks like an error increases anxiety; a no-results state that looks like first-use is confusing.
One short sentence that tells the user exactly where they are and why it's empty.
First-use: "No projects yet"
User-cleared: "All caught up!"
No-results: "No results for 'invoic'"
Error: "Couldn't load your projects"
Rules:
One sentence that explains why it's empty or what to do next.
First-use: "Create a project to start tracking your team's work."
User-cleared: "Check back when new tasks are assigned."
No-results: "Try a different spelling or check for typos."
Error: "Check your connection and try again, or contact support."
For first-use states, body copy is the highest-value element — it answers the question users actually have ("what does this do and where do I start?").
First-use and user-cleared empty states need a single, specific action button. Not two buttons; not a link buried in body text — one prominent CTA.
First-use: [Create project]
User-cleared: [Browse new tasks] or just leave without a CTA if genuinely "done"
No-results and error states do not need a CTA to create — they need a CTA to recover:
No-results: [Clear filters] or [Browse all]
Error: [Try again] or [Go to dashboard]
Never use a generic "Get started" CTA — name the action ("Create your first project").
Visual support makes the empty state scannable and less clinical.
Guidelines:
First-use:
[Illustration of the content type]
[Entity name] — e.g., "Projects"
[Orientation] — e.g., "Organize your work into projects to track progress with your team."
[Primary CTA] — e.g., [Create project]
User-cleared:
[Optional celebratory icon]
[Positive headline] — e.g., "All done!"
[Next-step copy] — e.g., "New tasks will appear here when they're assigned."
[Optional CTA if genuinely relevant]
No-results:
[Search icon or neutral illustration]
[Specific headline] — e.g., "No results for 'invoic'"
[Recovery copy] — e.g., "Check for typos or try a different term."
[Recovery CTA] — e.g., [Clear search]
Error:
[Error icon — not a broken image]
[Honest headline] — e.g., "Couldn't load your projects"
[Cause + action] — e.g., "Check your connection and try again."
[Retry CTA] — e.g., [Try again]
[Secondary] — e.g., [Contact support]
Before shipping, conduct a 5-user test with participants who have never seen the feature:
First-use empty states that users mistake for loading errors indicate orientation copy needs to be clearer.
npx claudepluginhub jeffreytse/grimoire --plugin grimoireProvides patterns and copywriting guidance for empty states: first-use, user-cleared, no-results, and error-empty screens. Includes rules for CTAs, value framing, and recovery suggestions.
Provides emotional UX design patterns: user needs hierarchy, surface/deep delight, empty states checklists, and progressive onboarding for intuitive interfaces.