Encode your brand's voice, tone rules and terminology as a reusable system prompt with few-shot exemplars, then generate microcopy in context and edit with rationale. The system supplies consistency; you supply judgment. Once built, every button label, tooltip and confirmation your team drafts starts on-voice instead of drifting toward generic AI cheerfulness.
Workflow area: Content & UX Writing · Tier: Core · Hands-on time: ~35 minutes
Ask a raw model for a button label and you get competent, interchangeable copy — the same "Oops! Something went wrong 😊" that ships in a thousand products. The fix is not better one-off prompts; it is a voice system: a standing system prompt that carries your voice attributes, tone-by-situation rules, terminology and real exemplars, so every generation starts from your brand instead of the internet's average. Build it once, and microcopy generation becomes an instrument your whole team plays in tune.
Distill your voice guide into attributes with edges. An attribute without a boundary is decoration. For each of three or four voice attributes, write what it is, what it is not, and the failure mode. "Confident, not boastful — we say what the product does, never how amazing it is." If your guide is a 40-page PDF, have the model summarize it first, then verify the summary against the source yourself.
Collect eight to twelve real exemplars. Pull your best existing strings — the ones your content designer points to with pride — across situations: a success confirmation, a destructive-action warning, an empty state, an error. Few-shot exemplars teach the model more than any adjective list. Label each with its situation.
Assemble the system prompt. Combine attributes, tone-by-situation rules, terminology and exemplars:
You are the UX writing engine for [PRODUCT], a [ONE-LINE DESCRIPTION].
VOICE ATTRIBUTES
1. [Attribute] — [is / is not / failure mode]
2. [Attribute] — [is / is not / failure mode]
3. [Attribute] — [is / is not / failure mode]
TONE BY SITUATION
- Success: warm, brief, no exclamation marks.
- Errors: plain cause + next action. Never apologize twice. Never joke.
- Destructive actions: state consequence plainly; the verb names the action.
- Empty states: one line of orientation + one action. No mascot whimsy.
TERMINOLOGY
- Always "workspace", never "project" or "board".
- Always "remove" for reversible, "delete" for permanent.
- [YOUR TERM RULES]
EXEMPLARS (match this register)
[Situation: destructive confirm] "Delete this report? This can't be undone."
[Situation: empty state] "No reports yet. Create one to see it here."
[PASTE 8–12 LABELED EXEMPLARS]
RULES
- Sentence case. No emoji. Max 60 characters for buttons and titles.
- Return 3 options per request with a one-line rationale each.
- If the request conflicts with these rules, say so instead of complying.
Generate in context, never in the abstract. Copy quality is contextual; a request without the screen is a coin flip. Give the situation, the surface, and what the user just did:
CONTEXT: Settings > Billing. User clicked "Cancel subscription".
SURFACE: confirmation dialog — title (max 50 chars), body (max 140),
confirm button, cancel button.
USER STATE: mid-annual-plan, would lose 7 months of paid access.
Draft 3 options for the full dialog. Flag anything that conflicts
with the voice system.
Good output looks like this — three options, each with a stance you can judge:
OPTION A — plain consequence
Title: Cancel your subscription?
Body: You'll keep access until March 12, then lose your workspaces.
Confirm: Cancel subscription Cancel: Keep my plan
Rationale: leads with the concrete loss date; verbs name actions.
Edit with a keep/edit/rewrite decision — and log why. For each generated string, record one of three verdicts and a reason. "Kept — plain, on-voice." "Edited — 'lose your workspaces' overstates; data is retained 90 days." The log is what turns generation into a system your writer can audit, and it becomes new exemplars for the prompt.
Ship the engine where the team works. Save it as a Claude Project or ChatGPT custom GPT for daily use; if your team runs Frontitude, load the same voice rules into its AI assistant so suggestions arrive inside Figma with your guidelines attached. One canonical source, wherever generation happens.
Voice guides and exemplar strings are usually shareable, but real user-facing copy for unreleased features is confidential — use your organization's approved AI tenant, and never paste customer names or data into generation context.
Consistency comes from the system prompt; judgment comes from the keep/edit/rewrite pass. Encode the voice once, generate in context, log every edit — and the engine gets sharper every week you use it.