/ux-writing
Use it when a button, an error or an empty state needs words that hold up.
npx skills@latest add rshokhnur/skillsInterface copy is design material. Most people read the first two words of a string and little else, so a label that puts its meaning up front gets read, and one that doesn’t barely exists.
Name the outcome
A button says what happens when you press it. “Submit” describes the form; “Send invitation” describes what you get. A button that answers a question repeats its verb: “Discard draft?” gets Discard draft and Keep editing, never Yes and No. People click Yes from muscle memory, which is exactly how data gets lost.
Never blame the reader
An error says what happened and how to fix it. No “invalid”, no “failed to”, no “Oops”. “That code has expired. Request a new one.” is calm, specific, and puts the next step within reach.
Tone follows the moment
The voice stays put and the tone moves. Routine actions get plain, nearly invisible copy. Errors get matter-of-fact. Payment and deletion get precise and serious. Warmth is saved for something the user did, never for something the product did.
A short banned list
“Successfully”, “please” on a button, “Are you sure?”, and “Something went wrong” on its own. Each is either padding or a question with nothing in it to check.
The default voice is calm and minimal, and it steps aside the moment a product has a voice of its own. It covers the words inside a product, not persuasion on a landing page. The rules come from NN/g and Baymard research and the Apple, Material, Microsoft, Mailchimp, Polaris and GOV.UK style guides.
Craft · Sep 2026