metis-desk/.agents/skills/ux-microcopy/SKILL.md
David 261de87a1f Add UX skills for navigation, notifications, search, and tables
- Introduced `ux-navigation` skill for designing and critiquing navigation systems, emphasizing information architecture and wayfinding best practices.
- Added `ux-notifications-and-toasts` skill to guide the design of notifications, focusing on urgency, user attention, and opt-out controls.
- Created `ux-search` skill to enhance search experiences, covering input, suggestions, results, and zero-results recovery.
- Implemented `ux-tables` skill for designing data tables and lists, addressing alignment, interaction, and data presentation.
2026-10-21 21:55:06 +02:00

118 lines
7.4 KiB
Markdown

---
name: ux-microcopy
description: Write or improve UX microcopy — button labels, error and empty states, tooltips, form labels, notifications, and confirmations — so it's clear, concise, action-oriented, and on-voice. Trigger when asked to write microcopy, improve a button label or error message, write copy for a flow, or make interface copy clearer or friendlier.
license: MIT
metadata:
author: uxcel
version: "1.0.0"
---
# UX Microcopy Skill
## How this skill behaves (read first)
This is a **generative** skill. Claude's default UX copy tends to be **verbose, clever, or generic** ("Oops! Something went wrong", "Submit", "Are you sure?"). Good microcopy is the opposite: plain, specific, and quietly helpful. The expressive part — *tone* — is context-dependent, so this skill gates:
1. **Establish voice, audience, and the moment** — tone that's right for a celebratory success state is wrong for a payment error.
2. **Apply the always-true core** — clarity, concision, action-orientation, consistency, and inclusive/accessible language hold for all copy.
3. **Choose tone deliberately** — pick the register for the brand and the specific moment; don't default to jokey or to robotic.
Then **hand off to the audits**: the companion `ux-microcopy-audit`, plus `accessibility` (copy that screen readers and all users can follow) and `dark-patterns` (copy must persuade honestly, never manipulate).
---
## Step 0 — Establish context before writing
- **Brand voice** — the product's consistent personality (playful vs. formal, warm vs. neutral).
- **Audience & vocabulary** — use the words users use ("rides", not "commutes"); tech-savviness and reading level.
- **The moment** — celebratory, routine, sensitive (payment/security), or error/recovery? This sets the tone.
- **Locale** — language(s) and platform conventions ("click" desktop vs. "tap" mobile); localization beyond literal translation.
State assumptions if proceeding without answers.
---
## The always-apply core (true for any microcopy)
- **Plain, simple language.** Write for the widest range of users; no jargon or high-register vocabulary unless the audience expects it. Read it aloud to test.
- **Concise.** Say it in as few words as keep the meaning; ~16% read word-by-word, the rest scan. Cut filler.
- **Action-based and specific.** Labels are verbs (+ nouns) describing the outcome — "Get Pro", "Delete file", "Unmute now" — never generic "Yes/No/OK/Submit". A great CTA also conveys the *benefit*.
- **Tell users what's happening and what's next.** Reduce uncertainty: where they are, what an action does, how long it takes.
- **Consistent terminology.** One term per concept across the whole product ("scheduling" everywhere, not "booking" elsewhere); consistent with platform conventions.
- **Human numbers & dates.** "Tomorrow" not "April 1"; "8:45 AM" not "a quarter to nine"; concrete numbers/social proof over vague "many".
- **Inclusive & accessible.** Gender-neutral pronouns (they/them); descriptive link text ("Read more about pricing", not "More"); microcopy as **live text**, not baked into images; persistent labels (not placeholder-only); acknowledge completed actions.
- **Honest, never manipulative.** No confirmshaming, fake urgency, or guilt (→ dark-patterns).
---
## Tone — the gated decision (pick per brand + moment)
Choose the register intentionally; the same message reads differently in each. Don't default to one.
| Tone | Use for | Caution |
|---|---|---|
| **Playful / witty** | Low-stakes moments, light errors, easter eggs | Know your audience; never at the cost of clarity |
| **Enthusiastic / praising** | Encouragement during effort; celebrating an achievement | Don't over-cheer routine actions |
| **Warm / friendly** | Welcomes, everyday guidance (first names, contractions, "you") | Can feel flippant in serious moments |
| **Confident** | Sensitive moments — payments, security, data | Avoid hedging ("maybe", "try to") |
| **Respectful / formal** | Professional, regulated, or sensitive contexts | Can read as dry — still be clear |
| **Honest / direct** | Permission/data requests | Active voice; don't mask intent |
| **Concise** | Dense UI, labels, mobile | Don't strip needed context |
Rule: match tone to the **moment**. A payment error wants confident + clear, not a joke.
---
## Microcopy patterns (quick reference)
- **Buttons:** verb + outcome; descriptive over generic ("Unmute now" > "Yes").
- **Errors/alerts:** explicit (what happened) + constructive (how to fix) + plain language; place next to the problem; polite, no blame/ALL-CAPS.
- **Labels:** specific verbs+nouns, not "OK/Start/Finish".
- **Placeholders:** hints/examples only — never the sole label (they vanish on input).
- **Tooltips:** add genuine value; never state the obvious.
- **Notifications/push:** ask "how does this help the user?"; useful, not intrusive.
- **Empty/success states:** empty = teach the first action; success = confirm + positive moment.
---
## Validate the result (orchestration)
> Hand-offs name each lens by its installable skill `name`. Invoke one only if that skill is installed; if it isn't, this skill's own core already carries these rules — proceed without it rather than blocking.
After writing or revising copy, hand the result to the audit lenses rather than declaring it done. These are **candidate** lenses — posture is set by `docs/orchestration-policy.md`, or route the whole thing through `ux-design-review`. Here, **`microcopy` and `dark-patterns` are Tier A (auto-run); `accessibility` is Tier B (offered)** — under an existing design system `accessibility` narrows to usage. If the user invoked this skill for one specific thing, respect that scope.
- **`ux-microcopy-audit`** *(Tier A)* — the companion audit: clarity, action-orientation, consistency, tone fit across the flow.
- **`ux-accessibility-audit`** *(Tier B — offer; narrow under a design system)* — plain language, descriptive links, live text, persistent labels, screen-reader acknowledgments.
- **`ux-dark-patterns-audit`** *(Tier A)* — copy persuades honestly: no confirmshaming, manufactured urgency, or guilt.
If an audit flags it, resolve toward the core: plainer, more specific, on-the-right-tone.
---
## Common do/don't patterns
| ❌ Don't | ✅ Do |
|---|---|
| "Oops! Something went wrong." | "We couldn't save your changes. Check your connection and try again." |
| "Submit" / "OK" / "Yes" | Verb + outcome: "Create account", "Delete file" |
| Jargon / high-register words | Plain language users actually use |
| Same tone everywhere | Match tone to brand **and** the moment |
| Joke on a payment/security error | Confident, clear, reassuring copy |
| "April 1" / "a quarter to nine" | "Tomorrow" / "8:45 AM" |
| "Register" here, "Join free" there | One consistent term per concept |
| "Click More" link / generic labels | Descriptive: "Read more about pricing" |
| Text baked into an image | Live, selectable text |
| Confirmshaming the opt-out | Neutral, honest dismissals (→ dark-patterns) |
---
## Source lessons (Uxcel)
- [10 Microcopy Tips](https://uxcel.com/lessons/microcopy-tidbits-594)
- [10 UX Writing Tones](https://uxcel.com/lessons/ux-writing-tones-590)
- [Writing Action-Based Messages](https://uxcel.com/lessons/action-based-messages-095)
- [Writing Problem Messages](https://uxcel.com/lessons/problem-messages-893)
- [Patterns in UX Writing](https://uxcel.com/lessons/patterns-313)
- [Accessibility in UX Microcopy](https://uxcel.com/lessons/accessibility-in-microcopy-877)