skills / design

ux-copy

what it does

Write or review UX copy — microcopy, error messages, empty states, CTAs. Trigger with "write copy for", "what should this button say?", "review this error message", or when naming a CTA, wording a confirmation dialog, filling an empty state, or writing onboarding text.

Verified Before and after: 2 models 1 try per case View source Download .zip

Compare the answers

Answers from Claude Sonnet 5.5 and GPT-6.1 Sol · try 1 of 1

Same request, same model, once with the skill and once without. Read both and judge for yourself.

“Rewrite this confirmation dialog. It shows when someone deletes a workspace.”

Source material given with the request

Current dialog: Title: Are you sure? Body: This action cannot be reversed. Buttons: [OK] [Cancel] Facts: the workspace "Northwind Ops" has 14 projects and 6 members. Deleting it removes all projects and files for everyone, permanently. Only owners can delete.
with the skill
## UX Copy: Delete Workspace Confirmation ### Recommended Copy **Title**: Delete "Northwind Ops"? **Body**: This will permanently delete all 14 projects and their files for all 6 members. This can't be undone. **Confirmation input** (optional, recommended for this level of severity): Type the workspace name to confirm: `Northwind Ops` **Buttons**: [Delete workspace] [Keep workspace] - "Delete workspace" is styled as a destructive action (e.g., red) and stays disabled until the name is typed, if you use the input. - "Keep workspace" is the default/safe option. ### Alternatives | Option | Copy | Tone | Best For | |--------|------|------|----------| | A | **Delete "Northwind Ops"?** This permanently deletes 14 projects and all files for 6 members. This can't be undone. [Delete workspace] [Keep workspace] | Direct, neutral | Default; clear and brief |
Show the rest (25 more lines)
| B | **Delete "Northwind Ops" for everyone?** All 14 projects and their files will be permanently removed for you and 5 other members. You can't recover them. [Delete workspace] [Cancel] | Serious, emphasizes shared impact | Teams where members often don't realize deletion affects others | | C | **This will permanently delete "Northwind Ops"** Everything inside, including 14 projects and all files, will be erased for all 6 members. Consider exporting anything you need first. [Export data] [Delete workspace] [Keep workspace] | Cautious, helpful | If you offer export; gives users an alternative path before they commit | ### Rationale - **Names the target.** "Are you sure?" doesn't say what's being deleted. Including the workspace name helps people who manage several workspaces avoid deleting the wrong one. - **States the real scope.** The original copy leaves out that 14 projects, their files, and 6 people are affected. Concrete numbers make the consequences easier to grasp than a generic warning. - **Says "for everyone."** Deleting affects other members, not just the owner. This is the fact most easily overlooked, so it's in the body. - **Uses action-labeled buttons.** "OK / Cancel" is ambiguous, especially when "Cancel" could be read as canceling the deletion or canceling the dialog. "Delete workspace / Keep workspace" makes each outcome explicit. - **Adds friction in proportion to severity.** Typing the name is a common pattern for irreversible, high-impact actions. If it feels heavy for your product, Option A works without it. - **Plain language.** "Can't be undone" is more conversational than "cannot be reversed." ### Additional Notes - **Owner-only permission:** Non-owners shouldn't see this dialog. If they try to delete, show a separate message, e.g., *"Only workspace owners can delete a workspace. Contact an owner to make this change."* - **Pluralization:** Handle singular cases ("1 project", "1 member"). If the owner is the only member, drop "for all members": *"This will permanently delete all 14 projects and their files."* - **Notification:** If members aren't warned beforehand, consider noting that, or telling the owner whether members will be notified. ### Localization Notes - Keep the workspace name in quotes and as a variable. Some languages need different quote styles or word order around it. - Use ICU or plural-aware strings for "{count} projects" and "{count} members." Many languages have more than two plural forms. - "Keep workspace" and "Delete workspace" may expand 30-40% in German or French. Allow button width to flex or wrap. - Avoid translating "can't be undone" word-for-word in languages where it sounds overly technical. Use the natural phrase for "this is permanent." - The type-to-confirm input should match the name exactly as entered, regardless of the interface language.
without
**Title:** Delete "Northwind Ops"? **Body:** This will permanently delete the workspace, including all 14 projects and their files, for all 6 members. This can't be undone. To confirm, type the workspace name: `[ Northwind Ops ]` **Buttons:** `[Cancel]` `[Delete workspace]` **Notes on the changes:** - **Title names the workspace and the action.** "Are you sure?" doesn't say what's at stake, and people often dismiss it without reading. - **Body states the actual impact.** The numbers (14 projects, 6 members) show how much will be lost, and "for all members" makes clear this affects more than the owner. - **"Delete workspace" replaces "OK."** The button says exactly what it does. Style it as destructive (red), and make Cancel the default focus so Enter doesn't delete anything. - **Typed confirmation is optional but worth it.** Deleting a shared workspace with this much content is a good case for it. Keep the Delete button disabled until the name matches. If that feels too heavy for your product, drop that line and keep the rest. - **No mention of owner permissions.** Only owners can reach this dialog, so it would just be noise. If non-owners can see the delete option in a disabled state, explain it there instead (for example, in a tooltip: "Only workspace owners can delete").

Answers are shown exactly as the model wrote them, from the first try, and nothing is picked by hand.

The models

2 models

Claude Sonnet 5.5

made by Anthropic

claude-sonnet-5-5 · revision not reported by the provider

1 try per case · tested 3 Nov 2026

GPT-6.1 Sol

made by OpenAI

gpt-6.1-sol · revision not reported by the provider

1 try per case · tested 3 Nov 2026

The tasks

written by Carte Blanche
delete-workspace-dialog

“Rewrite this confirmation dialog. It shows when someone deletes a workspace.”

onboarding-consistency

“Review the copy on these three onboarding screens before we ship.”

reports-empty-state

“Our Reports page just says 'No data.' when someone hasn't made any reports yet. Write a better empty state. The button can be at most 20 characters.”

trial-button-label

“The button on our pricing page just says 'Submit'. It starts a 14-day free trial, no card needed. What should it say?”

vague-error-messages

“Can you rewrite these three error messages? Users keep contacting support about them.”

Install

Download the .zip and unzip it. Put its files, in a folder named ux-copy, here:

Claude Code~/.claude/skills/Every project. For one project only, use .claude/skills/ inside it.
Codex~/.agents/skills/Every project. For one repository only, use .agents/skills/ inside it.
Cursor~/.cursor/skills/Cursor also reads the Claude Code and Codex folders above.

Then start a new session and ask for what the skill does. Other agents that read SKILL.md have their own skills folder; check their docs.

Coming after launch: get skills from inside your agent, no download needed.