UX Writing
Write clear, concise, user-centered interface copy (UX text/microcopy) for digital products and experiences. This skill provides frameworks, patterns, and best practices for creating text that helps users accomplish their goals.
Compatible with: Claude, Codex, Cursor, and other agents that support the agent skills specification.
Note: This skill works with Codex CLI/IDE, not ChatGPT. ChatGPT cannot install or use skills.
When to Use This Skill
Use this skill when:
- Writing interface copy (buttons, labels, titles, messages, forms)
- Editing existing UX text for clarity and effectiveness
- Creating error messages, notifications, or success messages
- Designing conversational flows or onboarding experiences
- Establishing voice and tone for a product
- Auditing product content for consistency and usability
Core UX Writing Principles
The Four Quality Standards
Every piece of UX text should be:
- Purposeful — Helps users or the business achieve goals
- Concise — Uses the fewest words possible without losing meaning
- Conversational — Sounds natural and human, not robotic
- Clear — Unambiguous, accurate, and easy to understand
Key Best Practices
Conciseness
- Use 40-60 characters per line maximum
- Every word must have a job
- Break dense text into scannable chunks
- Front-load important information
Clarity
- Use plain language (7th grade reading level for general, 10th for professional)
- Avoid jargon, idioms, and technical terms
- Use consistent terminology throughout
- Choose meaningful, specific verbs
Conversational Tone
- Write how you speak
- Use active voice 85% of the time
- Include prepositions and articles
- Avoid robotic phrasing
User-Centered
- Focus on user benefits, not features
- Anticipate and answer user questions
- Use second-person ("you") language
- Match user's language and mental models
UX Text Patterns
Apply these common patterns for interface elements.
Titles
- Purpose: Orient users to where they are
- Format: Noun phrases, sentence case
- Types: Brand titles, content titles, category titles, task titles
- Examples: "Account settings", "Your library", "Create new post"
Buttons and Links
- Purpose: Enable users to take action
- Format: Active imperative verbs, sentence case
- Pattern:
[Verb] [object]
- Examples: "Save changes", "Delete account", "View details"
- Avoid: Generic labels like "OK", "Submit", "Click here"
Error Messages
- Purpose: Explain problem and provide solution
- Format: Empathetic, clear, actionable
- Pattern:
[What failed]. [Why/context]. [What to do].
Error Message Types
Validation Errors (Inline)
- Show as user completes field or on blur
- Brief, specific guidance to correct input
- Pattern:
[Field] [specific requirement]
- Examples:
- "Email must include @"
- "Password must be at least 8 characters"
- "Choose a date in the future"
- Timing: Real-time or on field exit
- Location: Below or beside the field
System Errors (Modal/Banner)
- Show when backend operations fail
- Explain what happened and why
- Pattern:
[Action failed]. [Likely cause]. [Recovery step].
- Examples:
- "Payment failed. Your card was declined. Try a different payment method."
- "Couldn't save changes. Connection lost. Reconnect and try again."
- "Upload failed. File is too large. Choose a file under 10MB."
- Timing: Immediately after failure
- Location: Modal dialog or prominent banner
Blocking Errors (Full-screen)
- Prevent continued use until resolved
- Clear explanation of blocker and resolution
- Pattern:
[What's blocked]. [Why]. [Specific action needed].
- Examples:
- "Update required. This version is no longer supported. Update now to continue."
- "Subscription expired. Your account is paused. Renew subscription to restore access."
- "Verification needed. Confirm your email to access features. Check your inbox."
- Timing: On app launch or feature access
- Location: Full screen or large modal
Permission Errors
- Explain benefit before requesting permission
- Pattern:
[User benefit]. [Permission needed].
- Examples:
- "Get notified when orders ship. Enable notifications."
- "Find nearby stores. Allow location access."
- "Back up your photos. Grant storage permission."
- Timing: When feature is first used
- Location: In context of the feature
What to Avoid
- Technical codes without explanation ("Error 403")
- Blame language ("invalid input", "illegal character")
- Robotic tone ("An error has occurred")
- Dead ends (error with no recovery path)
- Vague causes ("Something went wrong")
Success Messages
- Purpose: Confirm action completion
- Format: Past tense, specific, encouraging
- Pattern:
[Action] [result/benefit]
- Examples: "Changes saved", "Email sent", "Profile updated"
Empty States
- Purpose: Guide users when content is absent
- Types: First-use, user-cleared, error/no results
- Format: Explanation + CTA to populate
- Example: "No messages yet. Start a conversation to connect with your team."
Form Fields
- Labels: Clear noun phrases describing input ("Email address", "Phone number")
- Instructions: Verb-first, explain why information is needed
- Placeholder: Use sparingly, only for standard inputs like "name@example.com"
- Helper text: Static, on-demand, or automatic based on importance
Notifications
- Purpose: Deliver timely, valuable information
- Types: Action-required (intrusive), Passive (less intrusive)
- Format: Verb-first title + contextual description
- Example: "Update required. Install the latest version to continue."
Voice and Tone
Voice (Consistent Brand Personality)
Voice is the consistent personality of the product. Establish voice using:
- Concepts: 3-5 key brand principles/values
- Voice characteristics: Descriptive adjectives for each concept
- Do/Don't examples: Concrete examples showing voice in action
See references/voice-chart-template.md for creating a voice chart.
Tone (Adaptive to Context)
Tone is how voice adapts to specific situations. While voice remains constant, tone shifts based on user context and emotional state.
Tone Variables
- Purpose: Why user is seeing this text (information, action, confirmation)
- Context: What user is trying to do (learning, completing task, recovering from error)
- Emotional state: How user likely feels (frustrated, excited, confused, cautious)
- Stakes: Impact of the action (low: changing theme, high: deleting account)
Tone Adaptation by User Emotional State
Frustrated (errors, failures, blockers)
- Empathetic and solution-focused
- Acknowledge the problem without blame
- Provide clear recovery path
- Example: "Payment failed. Your card was declined. Try a different payment method."
Confused (first use, complex features)
- Patient and explanatory
- Break down steps clearly
- Provide context and guidance
- Example: "Connect your bank to see spending insights. We'll guide you through it."
Confident (routine tasks, return visits)
- Efficient and direct
- Minimal explanation
- Quick confirmation
- Example: "Saved"
Cautious (high-stakes actions, data loss)
- Serious and transparent
- Clear consequences
- Respectful of user's decision
- Example: "Delete account? You'll lose all data and this can't be undone."
Successful (completions, achievements)
- Positive and encouraging
- Proportional to achievement
- Brief celebration
- Example: "Profile updated. Your changes are live."
Tone Adaptation by Content Type
Error messages: Empathetic, reassuring, solution-focused
- Never blame user
- Explain what happened
- Provide clear next step
Success messages: Positive, specific, encouraging
- Confirm what happened
- Proportional to action importance
- Brief and clear
Instructions: Clear, direct, helpful
- Front-load key action
- Explain why when needed
- Use simple steps
Onboarding: Inviting, encouraging, concise
- Welcome without overwhelming
- Focus on value
- Celebrate early wins
Confirmations: Serious, transparent, respectful
- Clear about consequences
- No manipulation
- Easy to back out
Empty states: Hopeful, actionable, guiding
- Explain why it's empty
- Provide clear next action
- Keep encouraging tone
Editing Process
Edit UX text in four phases:
Phase 1: Purposeful
- Does text help user achieve their goal?
- Does text serve business objectives?
- Is value to user clear?
- Are concerns anticipated and addressed?
Phase 2: Concise
- Remove unnecessary words
- Combine redundant information
- Ensure every word earns its space
- Front-load important concepts
Phase 3: Conversational
- Read aloud—would you say this?
- Use active voice (unless passive is clearer)
- Include natural connecting words
- Avoid corporate jargon
Phase 4: Clear
- Use specific, accurate verbs
- Maintain consistent terminology
- Test readability (Hemingway Editor, Flesch-Kincaid)
- Ensure unambiguous meaning
Workflow
Understand context
- User goals and needs
- Business objectives
- Technical constraints
- Emotional state of user
Draft content
- Start with conversation (what would you say?)
- Apply appropriate pattern
- Consider voice and tone
- Front-load important information
Edit iteratively
- Phase 1: Purposeful
- Phase 2: Concise
- Phase 3: Conversational
- Phase 4: Clear
Test and measure
- Review with team
- Test with users when possible
- Measure task completion, comprehension
- Iterate based on feedback
Accessibility in UX Writing
Writing accessible content ensures all users, including those using assistive technology, can understand and interact with your product.
Core Accessibility Principles
Screen Reader Optimization
- Label all interactive elements explicitly ("Submit form" not just "Submit")
- Write descriptive link text ("Read pricing details" not "Click here")
- Structure error messages to work with screen readers (error + field label read together)
- Use ARIA labels when visual context isn't sufficient
Cognitive Accessibility
- Target 8-14 words per sentence (8 words = 100% comprehension, 14 words = 90%)
- Break complex information into scannable chunks
- Use clear headings and logical hierarchy
- Provide consistent, predictable patterns
Multi-Modal Communication
- Don't rely on color alone to convey meaning
- Pair visual indicators with text ("Error: Email required" with red icon)
- Provide text alternatives for icons and images
- Ensure sufficient color contrast (WCAG AA minimum: 4.5:1)
Plain Language for All
- Target 7th-8th grade reading level for general audience
- Define technical terms when first used
- Avoid idioms, metaphors, and cultural references
- Use common, everyday words
Accessible Pattern Examples
Buttons
- ❌ Poor: "Submit" (context missing for screen readers)
- ✅ Good: "Submit application"
Links
- ❌ Poor: "Click here for more information"
- ✅ Good: "Read our privacy policy"
Error Messages
- ❌ Poor: Red text showing "Invalid"
- ✅ Good: "Error: Email must include @" (with error icon)
Form Labels
- ❌ Poor: Placeholder-only fields
- ✅ Good: Visible label + optional placeholder
UX Text Benchmarks
Use these research-backed metrics to create effective UX text.
Sentence Length Targets
By Content Type
- Buttons/CTAs: 2-4 words ideal, 6 word maximum
- Titles: 3-6 words, 40 characters maximum
- Error messages: 12-18 words (including solution)
- Instructions: 20 words maximum, 14 ideal
- Body copy: 15-20 words per sentence average
- Notifications: 10-15 words for title + body
Comprehension Rates
- 8 words or fewer: 100% user comprehension
- 14 words or fewer: 90% user comprehension
- 25 words: Maximum before significant comprehension drop
Character and Line Length
Optimal Ranges
- Line length: 40-60 characters for maximum readability
- Button labels: 15-25 characters
- Page titles: 30-50 characters
- Notification titles: 35-45 characters
Reading Level Guidelines
By Audience
- General public: 7th-8th grade (Flesch-Kincaid)
- Professional tools: 9th-10th grade
- Technical products: 10th-11th grade
- Specialized fields: 11th-12th grade (only when necessary)
Testing Tools
- Hemingway Editor: Highlights complex sentences
- Readable.com: Provides multiple readability scores
- Microsoft Word: Built-in Flesch-Kincaid scoring
Common Mistakes to Avoid
- Using passive voice excessively
- Generic button labels ("Submit", "OK")
- Blaming users in error messages
- Overly clever humor in serious contexts
- Inconsistent terminology
- Hidden instructions or explanations
- System-oriented language vs. user language
- Too many words (not concise enough)
- Robotic, corporate tone
- Relying on color alone for meaning
- Writing inaccessible link text ("Click here")
Quick Reference
Sentence case: "Save your changes" (not "Save Your Changes")
Active imperative for buttons: "Delete account" (not "Account deletion")
User-focused: "Save time with shortcuts" (not "We offer shortcuts")
Specific verbs: "Delete" (not "Remove" when permanently deleting)
Front-loaded: "Password must be 8 characters" (not "Must be 8 characters for your password")
Resources
This skill includes:
- references/accessibility-guidelines.md: Comprehensive guide to writing accessible UX text for all users
- references/voice-chart-template.md: Template for creating a product voice chart
- references/content-usability-checklist.md: Comprehensive checklist for evaluating UX text quality
- references/patterns-detailed.md: Extended examples of UX text patterns in different voices
- examples/real-world-improvements.md: Before/after transformations with detailed analysis and scoring
- templates/error-message-template.md: Fillable template for writing effective error messages
- templates/empty-state-template.md: Guide for creating helpful empty states
- templates/onboarding-flow-template.md: Framework for designing clear onboarding experiences
- docs/figma-integration.md: Guide for using this skill with Figma MCP (Claude Code, Codex, and Cursor)
1---2name: ux-writing3description: Create user-centered, accessible interface copy (microcopy) for digital products including buttons, labels, error messages, notifications, forms, onboarding, empty states, success messages, and help text. Use when writing or editing any text that appears in apps, websites, or software interfaces, designing conversational flows, establishing voice and tone guidelines, auditing product content for consistency and usability, reviewing UI strings, or improving existing interface copy. Applies UX writing best practices based on four quality standards — purposeful, concise, conversational, and clear. Includes accessibility guidelines, research-backed benchmarks (sentence length, comprehension rates, reading levels), expanded error patterns, tone adaptation frameworks, and comprehensive reference materials.4---5
6# UX Writing
7
8Write clear, concise, user-centered interface copy (UX text/microcopy) for digital products and experiences. This skill provides frameworks, patterns, and best practices for creating text that helps users accomplish their goals.
9
10**Compatible with:** Claude, Codex, Cursor, and other agents that support the agent skills specification.
11
12**Note:** This skill works with Codex CLI/IDE, not ChatGPT. ChatGPT cannot install or use skills.
13
14## When to Use This Skill
15
16Use this skill when:
17- Writing interface copy (buttons, labels, titles, messages, forms)
18- Editing existing UX text for clarity and effectiveness
19- Creating error messages, notifications, or success messages
20- Designing conversational flows or onboarding experiences
21- Establishing voice and tone for a product
22- Auditing product content for consistency and usability
23
24## Core UX Writing Principles
25
26### The Four Quality Standards
27
28Every piece of UX text should be:
29
301. **Purposeful** — Helps users or the business achieve goals
312. **Concise** — Uses the fewest words possible without losing meaning
323. **Conversational** — Sounds natural and human, not robotic
334. **Clear** — Unambiguous, accurate, and easy to understand
34
35### Key Best Practices
36
37**Conciseness**
38- Use 40-60 characters per line maximum
39- Every word must have a job
40- Break dense text into scannable chunks
41- Front-load important information
42
43**Clarity**
44- Use plain language (7th grade reading level for general, 10th for professional)
45- Avoid jargon, idioms, and technical terms
46- Use consistent terminology throughout
47- Choose meaningful, specific verbs
48
49**Conversational Tone**
50- Write how you speak
51- Use active voice 85% of the time
52- Include prepositions and articles
53- Avoid robotic phrasing
54
55**User-Centered**
56- Focus on user benefits, not features
57- Anticipate and answer user questions
58- Use second-person ("you") language
59- Match user's language and mental models
60
61## UX Text Patterns
62
63Apply these common patterns for interface elements.
64
65### Titles
66- **Purpose**: Orient users to where they are
67- **Format**: Noun phrases, sentence case
68- **Types**: Brand titles, content titles, category titles, task titles
69- **Examples**: "Account settings", "Your library", "Create new post"
70
71### Buttons and Links
72- **Purpose**: Enable users to take action
73- **Format**: Active imperative verbs, sentence case
74- **Pattern**: `[Verb] [object]`
75- **Examples**: "Save changes", "Delete account", "View details"
76- **Avoid**: Generic labels like "OK", "Submit", "Click here"
77
78### Error Messages
79- **Purpose**: Explain problem and provide solution
80- **Format**: Empathetic, clear, actionable
81- **Pattern**: `[What failed]. [Why/context]. [What to do].`
82
83**Error Message Types**
84
85**Validation Errors (Inline)**
86- Show as user completes field or on blur
87- Brief, specific guidance to correct input
88- Pattern: `[Field] [specific requirement]`
89- Examples:
90 - "Email must include @"
91 - "Password must be at least 8 characters"
92 - "Choose a date in the future"
93- Timing: Real-time or on field exit
94- Location: Below or beside the field
95
96**System Errors (Modal/Banner)**
97- Show when backend operations fail
98- Explain what happened and why
99- Pattern: `[Action failed]. [Likely cause]. [Recovery step].`
100- Examples:
101 - "Payment failed. Your card was declined. Try a different payment method."
102 - "Couldn't save changes. Connection lost. Reconnect and try again."
103 - "Upload failed. File is too large. Choose a file under 10MB."
104- Timing: Immediately after failure
105- Location: Modal dialog or prominent banner
106
107**Blocking Errors (Full-screen)**
108- Prevent continued use until resolved
109- Clear explanation of blocker and resolution
110- Pattern: `[What's blocked]. [Why]. [Specific action needed].`
111- Examples:
112 - "Update required. This version is no longer supported. Update now to continue."
113 - "Subscription expired. Your account is paused. Renew subscription to restore access."
114 - "Verification needed. Confirm your email to access features. Check your inbox."
115- Timing: On app launch or feature access
116- Location: Full screen or large modal
117
118**Permission Errors**
119- Explain benefit before requesting permission
120- Pattern: `[User benefit]. [Permission needed].`
121- Examples:
122 - "Get notified when orders ship. Enable notifications."
123 - "Find nearby stores. Allow location access."
124 - "Back up your photos. Grant storage permission."
125- Timing: When feature is first used
126- Location: In context of the feature
127
128**What to Avoid**
129- Technical codes without explanation ("Error 403")
130- Blame language ("invalid input", "illegal character")
131- Robotic tone ("An error has occurred")
132- Dead ends (error with no recovery path)
133- Vague causes ("Something went wrong")
134
135### Success Messages
136- **Purpose**: Confirm action completion
137- **Format**: Past tense, specific, encouraging
138- **Pattern**: `[Action] [result/benefit]`
139- **Examples**: "Changes saved", "Email sent", "Profile updated"
140
141### Empty States
142- **Purpose**: Guide users when content is absent
143- **Types**: First-use, user-cleared, error/no results
144- **Format**: Explanation + CTA to populate
145- **Example**: "No messages yet. Start a conversation to connect with your team."
146
147### Form Fields
148- **Labels**: Clear noun phrases describing input ("Email address", "Phone number")
149- **Instructions**: Verb-first, explain why information is needed
150- **Placeholder**: Use sparingly, only for standard inputs like "name@example.com"
151- **Helper text**: Static, on-demand, or automatic based on importance
152
153### Notifications
154- **Purpose**: Deliver timely, valuable information
155- **Types**: Action-required (intrusive), Passive (less intrusive)
156- **Format**: Verb-first title + contextual description
157- **Example**: "Update required. Install the latest version to continue."
158
159## Voice and Tone
160
161### Voice (Consistent Brand Personality)
162Voice is the consistent personality of the product. Establish voice using:
163- **Concepts**: 3-5 key brand principles/values
164- **Voice characteristics**: Descriptive adjectives for each concept
165- **Do/Don't examples**: Concrete examples showing voice in action
166
167See references/voice-chart-template.md for creating a voice chart.
168
169### Tone (Adaptive to Context)
170Tone is how voice adapts to specific situations. While voice remains constant, tone shifts based on user context and emotional state.
171
172**Tone Variables**
173- **Purpose**: Why user is seeing this text (information, action, confirmation)
174- **Context**: What user is trying to do (learning, completing task, recovering from error)
175- **Emotional state**: How user likely feels (frustrated, excited, confused, cautious)
176- **Stakes**: Impact of the action (low: changing theme, high: deleting account)
177
178**Tone Adaptation by User Emotional State**
179
180**Frustrated** (errors, failures, blockers)
181- Empathetic and solution-focused
182- Acknowledge the problem without blame
183- Provide clear recovery path
184- Example: "Payment failed. Your card was declined. Try a different payment method."
185
186**Confused** (first use, complex features)
187- Patient and explanatory
188- Break down steps clearly
189- Provide context and guidance
190- Example: "Connect your bank to see spending insights. We'll guide you through it."
191
192**Confident** (routine tasks, return visits)
193- Efficient and direct
194- Minimal explanation
195- Quick confirmation
196- Example: "Saved"
197
198**Cautious** (high-stakes actions, data loss)
199- Serious and transparent
200- Clear consequences
201- Respectful of user's decision
202- Example: "Delete account? You'll lose all data and this can't be undone."
203
204**Successful** (completions, achievements)
205- Positive and encouraging
206- Proportional to achievement
207- Brief celebration
208- Example: "Profile updated. Your changes are live."
209
210**Tone Adaptation by Content Type**
211
212**Error messages**: Empathetic, reassuring, solution-focused
213- Never blame user
214- Explain what happened
215- Provide clear next step
216
217**Success messages**: Positive, specific, encouraging
218- Confirm what happened
219- Proportional to action importance
220- Brief and clear
221
222**Instructions**: Clear, direct, helpful
223- Front-load key action
224- Explain why when needed
225- Use simple steps
226
227**Onboarding**: Inviting, encouraging, concise
228- Welcome without overwhelming
229- Focus on value
230- Celebrate early wins
231
232**Confirmations**: Serious, transparent, respectful
233- Clear about consequences
234- No manipulation
235- Easy to back out
236
237**Empty states**: Hopeful, actionable, guiding
238- Explain why it's empty
239- Provide clear next action
240- Keep encouraging tone
241
242## Editing Process
243
244Edit UX text in four phases:
245
246### Phase 1: Purposeful
247- Does text help user achieve their goal?
248- Does text serve business objectives?
249- Is value to user clear?
250- Are concerns anticipated and addressed?
251
252### Phase 2: Concise
253- Remove unnecessary words
254- Combine redundant information
255- Ensure every word earns its space
256- Front-load important concepts
257
258### Phase 3: Conversational
259- Read aloud—would you say this?
260- Use active voice (unless passive is clearer)
261- Include natural connecting words
262- Avoid corporate jargon
263
264### Phase 4: Clear
265- Use specific, accurate verbs
266- Maintain consistent terminology
267- Test readability (Hemingway Editor, Flesch-Kincaid)
268- Ensure unambiguous meaning
269
270## Workflow
271
2721. **Understand context**
273 - User goals and needs
274 - Business objectives
275 - Technical constraints
276 - Emotional state of user
277
2782. **Draft content**
279 - Start with conversation (what would you say?)
280 - Apply appropriate pattern
281 - Consider voice and tone
282 - Front-load important information
283
2843. **Edit iteratively**
285 - Phase 1: Purposeful
286 - Phase 2: Concise
287 - Phase 3: Conversational
288 - Phase 4: Clear
289
2904. **Test and measure**
291 - Review with team
292 - Test with users when possible
293 - Measure task completion, comprehension
294 - Iterate based on feedback
295
296## Accessibility in UX Writing
297
298Writing accessible content ensures all users, including those using assistive technology, can understand and interact with your product.
299
300### Core Accessibility Principles
301
302**Screen Reader Optimization**
303- Label all interactive elements explicitly ("Submit form" not just "Submit")
304- Write descriptive link text ("Read pricing details" not "Click here")
305- Structure error messages to work with screen readers (error + field label read together)
306- Use ARIA labels when visual context isn't sufficient
307
308**Cognitive Accessibility**
309- Target 8-14 words per sentence (8 words = 100% comprehension, 14 words = 90%)
310- Break complex information into scannable chunks
311- Use clear headings and logical hierarchy
312- Provide consistent, predictable patterns
313
314**Multi-Modal Communication**
315- Don't rely on color alone to convey meaning
316- Pair visual indicators with text ("Error: Email required" with red icon)
317- Provide text alternatives for icons and images
318- Ensure sufficient color contrast (WCAG AA minimum: 4.5:1)
319
320**Plain Language for All**
321- Target 7th-8th grade reading level for general audience
322- Define technical terms when first used
323- Avoid idioms, metaphors, and cultural references
324- Use common, everyday words
325
326### Accessible Pattern Examples
327
328**Buttons**
329- ❌ Poor: "Submit" (context missing for screen readers)
330- ✅ Good: "Submit application"
331
332**Links**
333- ❌ Poor: "Click here for more information"
334- ✅ Good: "Read our privacy policy"
335
336**Error Messages**
337- ❌ Poor: Red text showing "Invalid"
338- ✅ Good: "Error: Email must include @" (with error icon)
339
340**Form Labels**
341- ❌ Poor: Placeholder-only fields
342- ✅ Good: Visible label + optional placeholder
343
344## UX Text Benchmarks
345
346Use these research-backed metrics to create effective UX text.
347
348### Sentence Length Targets
349
350**By Content Type**
351- **Buttons/CTAs**: 2-4 words ideal, 6 word maximum
352- **Titles**: 3-6 words, 40 characters maximum
353- **Error messages**: 12-18 words (including solution)
354- **Instructions**: 20 words maximum, 14 ideal
355- **Body copy**: 15-20 words per sentence average
356- **Notifications**: 10-15 words for title + body
357
358**Comprehension Rates**
359- 8 words or fewer: 100% user comprehension
360- 14 words or fewer: 90% user comprehension
361- 25 words: Maximum before significant comprehension drop
362
363### Character and Line Length
364
365**Optimal Ranges**
366- **Line length**: 40-60 characters for maximum readability
367- **Button labels**: 15-25 characters
368- **Page titles**: 30-50 characters
369- **Notification titles**: 35-45 characters
370
371### Reading Level Guidelines
372
373**By Audience**
374- **General public**: 7th-8th grade (Flesch-Kincaid)
375- **Professional tools**: 9th-10th grade
376- **Technical products**: 10th-11th grade
377- **Specialized fields**: 11th-12th grade (only when necessary)
378
379**Testing Tools**
380- Hemingway Editor: Highlights complex sentences
381- Readable.com: Provides multiple readability scores
382- Microsoft Word: Built-in Flesch-Kincaid scoring
383
384## Common Mistakes to Avoid
385
386- Using passive voice excessively
387- Generic button labels ("Submit", "OK")
388- Blaming users in error messages
389- Overly clever humor in serious contexts
390- Inconsistent terminology
391- Hidden instructions or explanations
392- System-oriented language vs. user language
393- Too many words (not concise enough)
394- Robotic, corporate tone
395- Relying on color alone for meaning
396- Writing inaccessible link text ("Click here")
397
398## Quick Reference
399
400**Sentence case**: "Save your changes" (not "Save Your Changes")
401**Active imperative for buttons**: "Delete account" (not "Account deletion")
402**User-focused**: "Save time with shortcuts" (not "We offer shortcuts")
403**Specific verbs**: "Delete" (not "Remove" when permanently deleting)
404**Front-loaded**: "Password must be 8 characters" (not "Must be 8 characters for your password")
405
406## Resources
407
408This skill includes:
409- **references/accessibility-guidelines.md**: Comprehensive guide to writing accessible UX text for all users
410- **references/voice-chart-template.md**: Template for creating a product voice chart
411- **references/content-usability-checklist.md**: Comprehensive checklist for evaluating UX text quality
412- **references/patterns-detailed.md**: Extended examples of UX text patterns in different voices
413- **examples/real-world-improvements.md**: Before/after transformations with detailed analysis and scoring
414- **templates/error-message-template.md**: Fillable template for writing effective error messages
415- **templates/empty-state-template.md**: Guide for creating helpful empty states
416- **templates/onboarding-flow-template.md**: Framework for designing clear onboarding experiences
417- **docs/figma-integration.md**: Guide for using this skill with Figma MCP (Claude Code, Codex, and Cursor)