What it does
Finds the empty-state templates and default messages across a site (search with no results, an empty cart, a dashboard with no activity yet) and replaces generic system defaults like "No results found" with copy that explains why the state is empty and what the user can do next. Matches the site's existing voice rather than defaulting to a flat, plugin-generic tone.
Install
This skill isn't packaged in an installable registry. It's a plain SKILL.md file you can copy directly. Copy it from the SKILL.md tab and save it at the path for your assistant:
Use it in your AI assistant
Claude Code
.claude/skills/empty-state-copywriter/ (or ~/.claude/skills/empty-state-copywriter/ for all projects)
GitHub Copilot (VS Code)
.github/skills/empty-state-copywriter/
OpenAI Codex
.codex/skills/empty-state-copywriter/
Cursor
.cursor/skills/empty-state-copywriter/ (or ~/.cursor/skills/empty-state-copywriter/ globally)
Compatibility
Any WordPress site. Store or dashboard empty states depend on the relevant plugin (WooCommerce, membership tools) exposing editable message strings.
The complete SKILL.md for this skill:
---
name: empty-state-copywriter
description: Use when a user wants empty states rewritten, mentions a blank or unhelpful "no results" message, an empty cart page, or a dashboard with nothing in it yet.
---
# Empty State Copywriter
## When to use
A search results page, cart, dashboard, or list view shows a generic or blank message when there's nothing to display, and the user wants it to feel intentional and helpful instead.
## Procedure
1. Find every empty-state message across the site: search with no results, an empty cart, an empty wishlist, a dashboard with no activity yet, an empty filtered list.
2. For each, note the underlying reason it's empty (nothing matched the search, nothing added yet, filters too narrow) since the copy should differ by cause.
3. Replace generic defaults ("No results found", "Nothing here") with copy that names the likely reason and suggests a concrete next action (broaden the search, browse a category, add an item).
4. Match the site's existing voice, check a few other UI strings or the About page for tone before drafting.
5. Keep each message short, an empty state is a moment to redirect the user, not a place for a paragraph.
6. Where the plugin allows it, add the copy to the relevant setting or string override rather than hardcoding it into a template.
## Guardrails
- Don't overpromise ("Check back soon for amazing new features!") when there's no actual plan behind the claim.
- If the empty state string isn't editable without a code change, flag that clearly rather than silently skipping it.