Atelier copy
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.From its SKILL.md
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.
SKILL.md
6.7 KB, ~1.5k tokens by cl100k_base, 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.
What ships with it: 3 files
142.3 KB alongside SKILL.md
references/
- fundamentals-deepdive.md135.5 KB
- microcopy-patterns.md3.7 KB
- voice-and-tone.md3.0 KB