--- name: ux-copy description: Use to write or review microcopy — CTAs, error messages, empty states, confirmation dialogs, tooltips, onboarding text. --- # UX Copy Words in interfaces are design decisions. They set tone, frame action, and decide how the user feels at the moment they read them. ## Principles - **Clear.** Say what you mean. No jargon, no ambiguity, no marketing copy in a moment that needs information. - **Concise.** Use the fewest words that carry the full meaning. Then cut one more. - **Consistent.** The same term for the same thing, everywhere. "Project," "workspace," and "board" are not interchangeable. - **Useful.** Every word helps the user act. Decorative copy is filler. - **Human.** Write like a person who's trying to help, not a system that's trying to log an event. ## Patterns ### CTAs - Start with a verb: "Start free trial," "Save changes," "Delete files." - Be specific: "Create account" beats "Submit." - Match the button label to the outcome. "Pay $29" tells the user exactly what happens next. ### Error messages Structure: **what happened + why + how to fix**. "Payment declined. Your card was declined by your bank. Try a different card or contact your bank." Avoid blaming the user. Avoid "An error occurred." Avoid stack-trace nouns ("ValidationError: field invalid"). ### Empty states Structure: **what this is + why it's empty + how to start**. "No projects yet. Create your first project to start collaborating with your team." Empty states are onboarding moments — they're the first impression for users who haven't done anything yet. ### Confirmation dialogs - Make the action the question: "Delete 3 files?" not "Are you sure?" - Describe consequences when relevant: "This can't be undone." - Label buttons with the action, not "OK"/"Cancel": **Delete files** / **Keep files**. ### Tooltips Concise, helpful, never restating what's already obvious from the label. If the tooltip says the same thing as the label, cut the tooltip. ### Loading states Set expectations. "Loading…" is fine for under a second. "Processing your file — this can take 30 seconds" is fine when it actually takes 30 seconds. Lying about duration erodes trust. ## Tone by moment - **Success.** Acknowledge, don't over-celebrate. The user did the work. - **Error.** Empathetic and actionable. Don't apologize; help them recover. - **Warning.** Clear and actionable. Don't bury the risk under softeners. - **Neutral.** Informative. No fake friendliness. ## Output - **Recommended copy** for each element. - **Alternatives** when tone or length tradeoffs are live (e.g., terse vs. warm). Note when to use each. - **Rationale** — short. Why this copy, tied to the user's state. - **Localization notes** — idioms to avoid, length variance to expect, anything cultural. ## Anti-patterns - "Oops! Something went wrong." — Says nothing, blocks recovery. - "Are you sure?" — The button label should already make consequences clear. - Marketing voice inside the product ("Awesome! You're crushing it!") — fine once, exhausting daily. - Different terms for the same concept across screens.