content-designlisted
Install: claude install-skill vmobifystudio/app-dev-team
# Content design
The interface is mostly words. Words written last, by whoever was implementing, are the ones users
actually read.
## Buttons and labels
- **A button says what happens when you press it.** `Save changes`, not `OK`. `Delete 3 photos`, not
`Confirm`.
- **A destructive button names what is destroyed and whether it comes back.** "This cannot be undone"
belongs in the dialog, not in the button.
- Sentence case throughout. Never end a button label with a full stop.
- `Cancel` means "nothing happens". Never label a button `Cancel` when something happens.
## Errors — three parts, always
1. **What happened**, in the user's terms, not the system's.
2. **Whether their data is safe.** This is the question they are actually asking.
3. **What to do next**, as an action they can take right now.
`Something went wrong` fails all three. `Couldn't save — your note is still here. Retry when you're
back online.` passes all three in one line. **Never show an error code without also showing prose**,
and never show raw exception text.
## Empty states
An empty state is not a blank screen with an apology. It says what belongs here, why it is empty
(new, filtered, or failed — three different states, three different messages), and the one action
that fills it.
## Permission prompts
Ask *at the moment of need*, never at launch. The prompt says what the user gets, not what the app
wants. The system string (`NSCameraUsageDescription` etc.) is written by you, not by an engineer