mcpbeat

Ss Copy

bitjaru/ss-copy

Generate UX microcopy (button labels, error messages, empty states, toasts) following a casual-but-polite voice and tone

841 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
866
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/bitjaru/styleseed --skill ss-copy

The instruction itself

11 sections, as written by the author

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

> Read engine/UX-WRITING.md first — it's the rule set this skill applies: buttons

> name the action (not "Submit"), errors help instead of blame, empty states invite,

> money copy stays calm, one term per concept. Korean/CJK projects: see §W8 for the

> clear-calm-human "Toss feel" (존댓말 일관성, 사용자 관점 "내 계좌", 군더더기 빼기).

Instructions

  • Read the design language reference:
  • DESIGN-LANGUAGE.md sections on Microcopy Tone Guide and UX Writing
  • 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 ("[email protected]")
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)
  • 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

How to use it

Copy the folder

Take bitjaru/ss-copy from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.