designcommunication
UX Copy Guidelines
Create UX copy guidelines — defining voice, tone, microcopy patterns, error messages, empty states, CTAs, and terminology standards that make interfaces clear and consistent.
UX-copymicrocopyvoice-toneerror-messagesCTAsguidelines
Works well with agents
Works well with skills
$ npx skills add The-AI-Directory-Company/(…) --skill ux-copy-guidelinesux-copy-guidelines/
fintech-app.md
Markdown
| 1 | # UX Copy Guidelines: Vaulta (Fintech App) |
| 2 | |
| 3 | ## 1. Voice and Tone Principles |
| 4 | |
| 5 | **Voice attributes (constant)**: |
| 6 | - **Precise, not verbose** — Financial information demands accuracy; every word must earn its place |
| 7 | - **Reassuring, not patronizing** — Users trust us with their money; speak with calm authority |
| 8 | - **Plain-spoken, not dumbed down** — Explain complex concepts without jargon or condescension |
| 9 | - **Action-oriented, not passive** — Tell users what they can do, not what happened to them |
| 10 | |
| 11 | **Tone shifts by context**: |
| 12 | |
| 13 | | Context | Tone | Example | |
| 14 | |---|---|---| |
| 15 | | Successful transaction | Warm, concise | "Transfer sent. Maria will receive $250.00 within 1 business day." | |
| 16 | | Payment error | Calm, solution-first | "This card was declined. Try a different payment method or contact your bank." | |
| 17 | | Security alert | Urgent, factual | "We blocked a sign-in from an unrecognized device. If this was you, verify now." | |
| 18 | | Empty portfolio | Encouraging, educational | "Your portfolio is empty. Start with as little as $5 to begin investing." | |
| 19 | | Pending transaction | Reassuring, transparent | "Your transfer is processing. Funds typically arrive within 1-2 business days." | |
| 20 | |
| 21 | ## 2. Microcopy Patterns |
| 22 | |
| 23 | **Buttons and CTAs** |
| 24 | - Use specific financial verbs: "Send $250.00," "Add to portfolio," "Confirm transfer" — never "Submit" or "Proceed" |
| 25 | - Destructive financial actions state consequences: "Close account and withdraw $4,230.12" not "Close account" |
| 26 | - Include amounts in confirmation buttons when a transaction is involved: "Pay $89.00" not "Pay" |
| 27 | |
| 28 | **Form labels and help text** |
| 29 | - Labels: "Routing number (9 digits)" not "Routing #" |
| 30 | - Help text answers the next question: "Found on the bottom-left of your check" not "Enter your routing number" |
| 31 | - Placeholder text shows format: `0000 0000 0000 0000` not "Enter card number" |
| 32 | |
| 33 | **Confirmation dialogs** |
| 34 | - Title states the financial action: "Send $500.00 to Alex Reyes?" |
| 35 | - Body states what will happen: "This will be deducted from your checking account ending in 4821. You cannot undo a completed transfer." |
| 36 | - Buttons: "Send $500.00" and "Cancel" — never "Yes" and "No" |
| 37 | |
| 38 | ## 3. Error Message Framework |
| 39 | |
| 40 | Every error answers: what happened, why, and what to do next. |
| 41 | |
| 42 | | Scenario | Bad | Good | |
| 43 | |---|---|---| |
| 44 | | Insufficient funds | "Error: insufficient balance" | "You don't have enough in your checking account for this transfer. Add funds or choose a different account." | |
| 45 | | Expired card | "Card expired" | "This card expired in 01/2026. Update your card details or use a different payment method." | |
| 46 | | Transfer limit exceeded | "Limit exceeded" | "This transfer exceeds your daily limit of $5,000. You can send up to $2,150 today, or try again tomorrow." | |
| 47 | | Session timeout | "Session expired" | "You've been signed out for security. Sign in again to continue where you left off." | |
| 48 | | Network error during payment | "Something went wrong" | "We couldn't complete this payment because the connection was interrupted. Your account was not charged. Try again." | |
| 49 | |
| 50 | **Rules specific to fintech**: |
| 51 | - Always state whether money was or was not moved: "Your account was not charged" resolves the top user anxiety |
| 52 | - Include specific dollar amounts and account identifiers (last 4 digits) in error context |
| 53 | - Never use "oops," "whoops," or casual language around money |
| 54 | |
| 55 | ## 4. Empty States |
| 56 | |
| 57 | | State | Heading | Body | CTA | |
| 58 | |---|---|---|---| |
| 59 | | No transactions (new user) | "No transactions yet" | "Your transaction history will appear here once you send, receive, or invest." | "Send money" / "Add funds" | |
| 60 | | No search results | "No transactions match your search" | "Try a different date range, amount, or recipient name." | "Clear filters" | |
| 61 | | No linked accounts | "No bank accounts linked" | "Link a bank account to send money, receive deposits, and start investing." | "Link bank account" | |
| 62 | | No notifications | "You're all caught up" | "We'll notify you about transfers, security alerts, and account updates." | -- | |
| 63 | |
| 64 | ## 5. Terminology Standards |
| 65 | |
| 66 | | Preferred term | Avoid | Reason | |
| 67 | |---|---|---| |
| 68 | | Send money | Transfer funds, remit, wire | "Send" is the most natural user verb | |
| 69 | | Sign in | Log in, authenticate | Consistent across all Vaulta surfaces | |
| 70 | | Bank account | Funding source, external account | Plain language users understand | |
| 71 | | Portfolio | Holdings, investments, assets | Single term for all investment views | |
| 72 | | Recurring transfer | Standing order, auto-pay, scheduled | Unambiguous across US/EU users | |
| 73 | | Transaction | Activity, movement, operation | One word for all money events | |
| 74 |