Atelier copy
Atelier - a premium, anti-slop frontend design skill suite for Claude Code: 11 skills + a deepdive knowledge base.
npx -y skills add luminary19/atelier --skill atelier-copyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Atelier suite — the UX-writing & microcopy layer. The words inside the interface are part of the design: button and action labels, form labels and helper text, error messages, empty-state and loading copy, confirmation and destructive-action dialogs, tooltips, onboarding lines, and notifications. Write copy that's clear, human, specific, and on-voice — verb-first actions, errors that say what happened + why + how to fix it, empty states that onboard, no jargon-as-label, no duplicate CTA intents, no fake-precise numbers, no AI-cute wordplay. Use whenever writing or fixing interface copy, microcopy, error/empty/loading text, labels, button text, or when the wording feels generic, confusing, robotic, or off-brand. This owns the WORDS only — which screens/states exist is atelier-ux, their production behavior (overflow, locale, validation) is atelier-harden, and the markup is atelier-components. Part of the Atelier suite.
SKILL.md
6.7 KB, as published. Nobody here has run it
Atelier — UX Writing & Microcopy
The fastest way to make a polished interface feel cheap is the words. A pixel-perfect form with the label "Submit", an error that says "Error: null", and an empty state that says "No data" reads as unfinished — because it is. This skill treats copy as design: every visible string is a decision, on the project's voice, doing a job.
Project memory: if
ATELIER.mdexists at the project root, read its Personality (the voice traits) and Register first — they set the voice this copy must hold. Missing on substantial work? Offer/atelier init(owned by theatelierrouter).Suite map.
atelier-uxdecides the flows and which screen-states exist; this writes the words in them.atelier-componentsbuilds the markup the copy lives in (labels, errors, empty states) and calls here for the strings.atelier-hardenowns the behavior of error/empty/form states and locale formatting; this owns their words. Theatelier-perf-a11yanti-slop gate runs the "copy self-audit" Tell (and points here);atelier-review's CODE/COPY reviewer checks against this skill. Deep reference:references/fundamentals-deepdive.md.
The flow
- Lock the voice (from
ATELIER.md/ Direction) → 2. Inventory every visible string → - Fix the high-stakes copy (errors, empty, destructive, primary CTAs) → 4. Labels & microcopy →
- Terminology consistency pass → 6. Self-audit (cut AI-cute, fake-precise).
1. Lock the voice
Voice is constant; tone flexes by moment. Pull the three personality words + register from ATELIER.md
(or the Direction Doc). Full method in references/voice-and-tone.md. The rule: voice is who you
are (calm, expert, warm — set once); tone is how you read in context (an error is plain and
reassuring; a success is brief; an upsell is light). One register per surface — don't slip between playful
and formal in the same flow.
2. Inventory every visible string
List them by type — they have different jobs and rules: actions/CTAs, form labels + helper text, errors + validation, empty / loading / partial states, confirmations / destructive dialogs, tooltips / hints, notifications / toasts, onboarding lines, nav labels, alt text, footer / legal. You can't fix what you haven't enumerated.
3. Fix the high-stakes copy first
The strings that decide trust and task success (patterns in references/microcopy-patterns.md):
- Errors: what happened + why + how to fix. Human language, never a raw code or "null" alone, never
blame the user. "We couldn't save — you're offline. We'll retry when you reconnect." Preserve their input
(behavior is
atelier-harden). - Empty states: onboard, don't apologize. Name the value + one clear first action. Never a bare "No data" or blank panel.
- Destructive confirmations: name the consequence + the object + reversibility. "Delete 3 projects? This can't be undone." Not "Are you sure?".
- Primary CTAs: verb + object, specific. "Create account", "Save changes", "Start free trial" — not "Submit", "OK", "Click here".
4. Labels & microcopy
- Labels above inputs, always — a placeholder is not a label (it vanishes on focus, fails a11y). Use placeholders only for format examples; put requirements in persistent helper text.
- Verb-first, specific, parallel — actions are verbs; sibling actions share grammar ("Edit / Duplicate / Delete", not "Edit / Duplication / Remove item").
- Sentence case for UI text by default (easier to read than Title Case); reserve Title/UPPER for brand moments decided in direction.
- Helper > tooltip for anything required to complete a task (tooltips hide on touch and from keyboards).
5. Terminology consistency (one word per concept)
Pick one term per concept and use it everywhere — "Projects" is not sometimes "Workspaces" or "Boards". Match the user's vocabulary, not the database's ("Billing", not "SubscriptionEntity"). Keep a tiny glossary for the project; it prevents the slow drift that makes a product feel incoherent.
6. Self-audit (the anti-slop pass on words)
Re-read every visible string out loud and cut:
- AI-cute copy — forced wordplay, mock-poetic micro-meta ("Let's craft magic ✨"), fake-craftsman labels. Plain functional copy beats clever-wrong copy every time.
- Fake-precise numbers —
92%,4.1×,13.4 lbinvented for effect. Real (from the brand), an explicitly-labelled mock, or cut. - Duplicate CTA intents — "Get in touch" + "Contact us" + "Let's talk" = one intent → one label,
reused. (This is an
atelier-perf-a11yanti-slop Tell too.) - Marketing slop — "seamless", "robust", "elevate", "empower", "unlock", "supercharge", "delve", "in today's fast-paced world". Say the specific thing instead.
- Jargon / unclear referents / broken grammar — anything a first-time user wouldn't parse.
Operating principles
- Copy is design. A polished UI with placeholder words ships as slop. Every visible string is a decision.
- Clarity over cleverness, always. The plain version that one-shots comprehension beats the witty one that needs a second read.
- Errors are a trust moment — say what happened, why, and how to fix it; never blame, never leak a stack trace.
- One voice, one term per concept — drift in either is what makes a product feel incoherent.
- Cut AI tells in words too — no fake precision, no forced whimsy, no duplicate CTAs, no buzzword filler.