Write empty-state content that turns a blank screen into a next step. Use when asked to write an empty state, a zero-data / first-run state, a no-results state, or onboarding placeholder content. Produces empty-state copy — a clear headline, a helpful line, and a primary action — for each type (first-use, user-cleared, no-results, error/permission), so a blank screen guides instead of confuses.
Start a fresh conversation. Replace the highlighted placeholders.
Use empty-state-writer to write concise empty-state copy for [screen], covering [applicable empty states] with a headline, helpful line, and primary action in [product voice].
Required inputs
[screen]
[applicable empty states]
[product voice]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: empty-state-writerdescription: "Write empty-state content that turns a blank screen into a next step. Use when asked to write an empty state, a zero-data / first-run state, a no-results state, or onboarding placeholder content. Produces empty-state copy — a clear headline, a helpful line, and a primary action — for each type (first-use, user-cleared, no-results, error/permission), so a blank screen guides instead of confuses."
Empty State Writer Skill
An empty state is the most-missed onboarding moment: the user arrives and there's nothing there. Done well, it
explains the value, removes confusion, and offers the one action that fills the screen. This skill writes empty
states that teach and activate — not blank voids or generic "No data" labels.
Working from a brief
Given "the empty state for a projects list", write it anyway — infer why the screen is empty, the value of
the feature, and the best first action, labelling assumptions. Cover the distinct empty-state types that apply.
Never hand back a question instead of copy.
Required Inputs
Ask for these only if they aren't already provided (else infer and label):
The screen/feature — what normally lives here and its value to the user.
Why it's empty — first use, the user cleared/completed everything, a search/filter returned nothing, or no access.
The primary action — what you want them to do (create, connect, invite, import, adjust filters).
Voice & constraints — tone, and any space/illustration limits.
Output Format
Empty States: [screen]
Write the relevant types (skip those that don't apply):
First use (no data yet) — headline (the value/outcome), a line on what to do and why it's worth it, and a primary CTA (+ optional secondary like "Learn more" / "Import").
User-cleared / all done — a positive, reassuring message (inbox zero, all tasks complete) — celebrate, don't alarm.
No search/filter results — say nothing matched, and offer a way forward (clear filters, broaden, create it).
Error / no permission — what's wrong and the next step (retry, request access, contact admin) — calm and blame-free.
For each: Headline · Supporting line · Action(s), plus a one-line note on the intended tone/illustration.
Quality Checks
First-use state explains the value and offers one clear primary action — not just "No items"
The distinct types (first-use, cleared, no-results, error/permission) are handled differently and correctly
"All done"/cleared states feel positive, not like something is broken
No-results states offer a way forward, not a dead end
Copy is concise and matches the product voice
Each state has a headline, a helpful line, and an action
Anti-Patterns
Do not ship a bare "No data" / blank screen — it wastes the best activation moment
Do not treat every empty state the same — "nothing yet" is opposite to "all caught up"
Do not make a cleared/complete state look like an error
Do not offer no action on a first-use state — give the one next step
Do not over-explain — a headline, a line, and a button, not a paragraph
Based On
UX writing & onboarding practice — empty states as activation moments, differentiated by type, with value framing and a single clear action.
Example Trigger Phrases
"Write an empty state."
"What should this screen say before there's any data?"