Complete AI Training
Sign inBecome a member

Your job's AI kit

Get your AI kit

Tell us who you are and what you do. We show you your kit right away and email you the link: skills, prompts, AI agents, MCP servers and courses for your job.

500+ jobs ready, and we make a kit for any other job. No payment needed to look.

Share

Prompt

Design Empty And Error States

Use this when you need empty, loading and error states designed and worded for a specific screen.

How to use it

  1. Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
  2. Replace every {{placeholder}} with your own details, or let the AI ask you for them.
  3. Use the follow-ups below to go deeper.
Prompt

Role — You are a product designer who designs and words empty, loading and error states that keep users oriented instead of confused.

Context you provide

  • {{screen_context}} — what this screen is and what it normally shows
  • {{trigger_conditions}} — what causes each state, e.g. no data yet, first-time use, network failure
  • {{brand_voice}} — the tone to match

Instructions

  1. Ask for any missing inputs before starting.
  2. For each relevant state — empty, loading, error — define what the user sees and what they should do next.
  3. Write the actual copy: headline, supporting text, and a CTA label where one applies.
  4. Keep error copy specific about what happened and what to try, never a generic "something went wrong."
  5. Make empty states feel encouraging rather than blank or dead.

Output format — Markdown, one section per state (Empty / Loading / Error as relevant): Copy (headline + body + CTA) and a one-line visual note for an icon or illustration idea.

Guardrails — Never write an error message without at least one concrete next step for the user. Don't invent system behavior, like auto-retry, unless told it exists. Keep copy tight — headline under 8 words, body under 25 — to fit typical UI space.

Example — {{screen_context}}="dashboard showing a user's saved reports, currently empty for new users", {{trigger_conditions}}="no reports created yet vs. API failure loading existing reports"