Skip to main content
ClaudeWave
Skill465 repo starsupdated 2d ago

ss-copy

# ss-copy The ss-copy skill generates user interface microcopy including button labels, error messages, empty states, and toast notifications using a casual-but-polite voice and tone. Use this skill when you need consistent, concise UX writing that follows plain language principles, active voice construction, and positive framing across product interface elements within a single English language context.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/bitjaru/styleseed /tmp/ss-copy && cp -r /tmp/ss-copy/engine/.claude/skills/ss-copy ~/.claude/skills/ss-copy
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# UX Microcopy Generator

## When NOT to use

- For long-form content (blog posts, docs, marketing pages) — out of scope
- For full feedback state design (not just text) → use `/ss-feedback`
- For brand voice/tone definition itself — this skill consumes a voice spec, doesn't create it
- For translations to non-English languages — single-language only

Context: **$0**
Description: $ARGUMENTS

## Instructions

1. Read the design language reference:
   - `DESIGN-LANGUAGE.md` sections on Microcopy Tone Guide and UX Writing

2. Apply the voice principles:

### Tone Rules
- **Casual but polite**: Friendly, not robotic. Like talking to a helpful friend.
- **Active voice**: "We saved your changes" not "Your changes have been saved"
- **Positive framing**: "Free shipping on orders over $30" not "Orders under $30 have shipping fees"
- **Plain language**: "Send money" not "Initiate transfer"
- **Concise**: Every word must earn its place

### Copy Patterns by Context

#### Button Labels (CTA)
```
Format: [Action verb] + [Object] (optional)
Good: "Place order", "Get started", "Save changes", "Try again"
Bad:  "Submit", "OK", "Click here", "Proceed to next step"
```
- One primary CTA per screen
- Label must clearly describe what happens next
- Max 3 words for primary CTA

#### Empty States
```
Format: [Friendly observation] + [Suggested action]
Good: "No activity yet. Create your first project to get started."
Bad:  "No data found."
```
- Always suggest a next action
- Use a relevant icon (32px, text-text-tertiary)
- Tone: encouraging, not blaming

#### Error Messages
```
Format: [What happened] + [What to do]
Good: "Couldn't load the data. Please try again."
Bad:  "Error 500: Internal Server Error"
```
- Never show technical errors to users
- Blame the system, not the user
- Always provide a recovery action

#### Toast Notifications
```
Format: [Confirmation of what happened]
Good: "Saved!", "Changes applied", "Item deleted · Undo"
Bad:  "Operation completed successfully"
```
- Max 2 lines
- Include "Undo" link for reversible destructive actions
- Info toasts: 3 seconds. Action toasts: 5 seconds.

#### Form Labels & Helpers
```
Label: Noun phrase ("Email address", "Password")
Placeholder: Example or hint ("name@example.com")
Helper: Format guidance ("Must be at least 8 characters")
Error: Specific issue ("This email is already registered")
```

#### Confirmation Dialogs
```
Title: [Question about the action]
Body: [Consequence explanation]
Primary: [Action verb] ("Delete", "Confirm")
Secondary: "Close" (not "Cancel" — avoids confusion)
```

3. Generate copy for the requested context, providing:
   - Primary copy (what to display)
   - Variants (if context varies)
   - Do's and Don'ts for the specific context