writing-for-interfaces
Use when someone asks to write, rewrite, review, or improve text that appears inside a product or interface. Examples: "review the UX copy", "is there a better way to phrase this", "rewrite this error message", "write copy for this screen/flow/page", reviewing button labels, improving CLI output messages, writing onboarding copy, settings descriptions, or confirmation dialogs. Trigger whenever the request involves wording shown to end users inside software — apps, web, CLI, email notifications, modals, tooltips, empty states, or alerts. Also trigger for vague requests like "review the UX" where interface copy review is implied. Do NOT trigger for content marketing, blog posts, app store listings, API docs, brand guides, cover letters, or interview questions — this is a technical writing skill for interface language.
NPX Install
npx skill4agent add andrewgleave/skills writing-for-interfacesTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Writing for Interfaces
When triggered
Step 1: Establish voice and personality
- A ,
CLAUDE.md, or similar project configuration file that defines voice and/or toneAGENTS.md - A style guide, design system documentation, or brand guidelines
- A word list or terminology reference
Establishing voice through conversation
-
What does the product do and who is it for? A banking app for professionals and a savings app for kids serve similar purposes but should sound completely different. The audience determines vocabulary, complexity, and register.
-
Why do people use it, and where? Someone using a health app during a crisis needs calm clarity. Someone browsing a game at home can handle playfulness. The context of use — physical environment, emotional state, competing attention — shapes how much text people can absorb and what tone they need and which voice is appropriate.
-
Imagine the product as a person. What personality traits make them unique? Encourage the user to brainstorm freely — smart, playful, calm, authoritative, warm, no-nonsense — then group similar words into themes. Discard traits that are table stakes ("not confusing") and keep the ones that genuinely differentiate the product's personality. Aim for 3–4 key qualities that define the voice.
-
Look for productive tensions. The best voice definitions have qualities that push against each other in useful ways. "Friendly" and "concise" create a tension that helps modulate tone — if you add a word for friendliness, you sacrifice some brevity, and vice versa. These tensions become the dials you turn when adjusting tone for different situations.
-
Capture it. Suggest the user write the voice definition somewhere durable — a, a design doc, a style guide — so it persists across sessions and contributors. A word list pairs well with this and helps prevent terminology drift.
CLAUDE.md
Step 2: Evaluate the request
- New copy: Writing from scratch for a screen, flow, or component.
- Review: Evaluating existing copy for clarity, consistency, and tone.
- Rewrite: Improving specific text that isn't working.
- Terminology: Building or maintaining a word list.
references/patterns.mdStep 3: Apply voice, then principles
- Does it sound like the voice? Read it against the 3–4 qualities. If you read it aloud, would you recognise it as coming from this product?
- Which qualities need dialing up or down for this situation? Think of each voice quality as a dial. A celebratory moment turns up warmth; an error turns up clarity. No quality should ever be fully off — you never want to be unclear, or unhelpful, or cold. It's about emphasis.
- Apply the core principles (purpose, anticipation, context, empathy — detailed below).
- Apply the craft rules (remove filler, avoid repetition, be specific, lead with the why — detailed below).
Step 4: Deliver changes
Voice and tone
Voice vs. tone
- Celebrating a milestone? Turn up warmth, dial back brevity.
- Reporting an error? Turn up clarity and helpfulness, dial back friendliness.
- Onboarding a new user? Balance helpfulness with warmth.
- Confirming a destructive action? Turn up direct, keep calm and concise.
Applying tone: a practical method
- Pick the 3–4 qualities that define the voice.
- For the specific situation, decide which qualities need emphasis.
- Place each quality on a spectrum from low to high emphasis.
- Write with that balance.
Voice should never override usefulness
Core principles
1. Purpose
- Use information hierarchy to signal what matters most. Headlines and buttons carry the primary message. Supporting text fills in detail. People often read headers and buttons first — if someone reads only those, they should understand the situation.
- Know what to leave out. If information doesn't serve the purpose of this moment, move it elsewhere or cut it. When a screen is trying to do too much, go back to its purpose and strip away everything that doesn't serve it.
- Have a purpose for every screen in a flow. Define the purpose of the entire flow and each screen within it. This prevents redundant steps and keeps things brief.
- Tell people the purpose — it's not a secret. When introducing a feature, tell them why it exists and why it matters to them using the voice and tone as appropriate to the situation.
2. Anticipation
- After telling someone about a problem, tell them how to fix it.
- After asking someone to do something, make it obvious how to do it.
- After someone completes something, acknowledge it and point forward.
- Lead with the "why". Put the benefit or reason before the instruction. "To get reservation updates, enter your phone number" is stronger than the reverse — the benefit is front-loaded where it has the most impact.
3. Context
- Think outside the app. Consider the physical and emotional situation. Someone getting a health alert needs calm clarity; someone mid-exercise needs ultra-brief text they can read at a glance.
- Match density to available attention. Mid-task text should be ultra-brief. Setup flows can afford a bit more. Bigger screens require brevity too, because text must be large for people to see it from a distance.
- Timing matters. Show information when it's relevant, not before. Place instructions where the person is looking — if they're focused on a camera viewfinder, overlay the instruction near their focal point.
- Write for the device. Screen size, input method, and usage patterns differ across devices and media. Describe gestures correctly — don't say "click" on a touch device. Consider that phones and watches offer personalisation but demand brevity; shared screens like TVs may be seen by multiple people.
4. Empathy
- Use plain, direct language. Avoid jargon, idioms, and culturally specific references that may not translate.
- Design for accessibility from the start. Labels, descriptions, and alt text aren't afterthoughts — for some people, they're the entire experience. Every interactive element and every meaningful visual needs a thoughtful text label (see patterns reference for detailed guidance).
- Avoid unnecessary references to gender, age, or ability. Use inclusive, neutral language.
- Consider localisation. Text expands and contracts across languages. Some languages read right-to-left. Abbreviations work differently. Your UI needs to accommodate these changes — design short copy, not compressed long copy.
Writing craft
Remove filler words
- Adverbs and adjectives: "Simply enter your license plate" → "Enter your license plate." Words like "simply," "quickly," "easily," "just" promise something about the person's experience that you can't guarantee. However, a descriptive word that genuinely clarifies behaviour earns its place: "Feed your pets automatically" tells you something "Feed your pets" doesn't. The test: does the word add meaning, or is it filler?
- Interjections: "Uh oh!", "Oops!", "Oh no!" in error messages can sound like you're not taking the problem seriously. Cut them.
- Pleasantries: "Sorry" and "please" can sound insincere in automated messages. Use them only when they genuinely add warmth, not as padding.
- Unnecessary punctuation: Exclamation marks should be rare. If everything is exciting, nothing is. Reserve them for genuinely celebratory moments.
Avoid repetition
Be specific, not vague
- Name the thing: "Can't open 'Quarterly Report.pdf'" not "Can't open this file."
- Name the action: "Cancel Subscription" / "Keep Subscription" not "Yes" / "No."
- Give real information: "Your card ending in 4242 was declined" not "There was a payment error."
Lead with the why
- "To keep your streak, solve today's crossword" beats the reverse.
- "To get reservation updates, enter your phone number" beats the reverse.
Keep a word list
Use possessive pronouns sparingly
Sweat the details
Build language patterns
The simplest test
Patterns reference
references/patterns.mdSources and further reading
- Apple HIG: Writing
- Apple HIG: Alerts
- WWDC22: Writing for Interfaces — the PACE framework (Purpose, Anticipation, Context, Empathy)
- WWDC24: Add Personality to Your App Through UX Writing — voice/tone exercises, the dial metaphor
- WWDC25: Make a Big Impact with Small Writing Changes — filler words, repetition, lead with the why, word lists
- WWDC19: Writing Great Accessibility Labels — context-driven labelling, verbosity as a deliberate choice
- Apple Style Guide