Ux copy
Copy self-audit and ban-lists — filler verbs/hype adjectives, slop placeholder names, fake-precise numbers, Title Case headlines, humor in error copy ('Oops!'), em-dash crutch, one copy register per page.From its SKILL.md
npx -y skills add fusengine/agents --skill ux-copyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 22 stars22 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
8.4 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it
UX Copy — Self-Audit + Ban-Lists, One Register Per Page
When
Any time visible copy is written or edited — headlines, subheads, eyebrows, button
labels, body, captions, alt text, error messages, empty states — inside generate/
critique/audit/polish (design-method) or as a standalone copy pass. Register is
resolved once, at Gate 0 (design-method/SKILL.md), before this runs — never re-guessed
here.
Input
- Register (
brand/product) from Gate 0. - Sector, if resolved, for
references/voice-tone-sectors.md. - Every visible string in the deliverable.
One register per page — hard rule
A single copy register per page (references/copy-self-audit.md §7): don't mix
technical mono, editorial prose, and marketing punch on one surface unless the brand
voice explicitly calls for it. Register direction is conditional exactly like layout and
motion (design-method/references/register/copy.md §3): brand copy must trace to
the one-sentence POV — run the Competitor Lift Test on the paragraph itself, could it run
unchanged on a competitor's site; product copy stays precise and domain-specific,
naming the real object and the real action, never marketing voice bleeding into the app
shell.
Ban-lists — mechanical (grep), not vibes
- Filler verbs / hype adjectives —
elevate,seamless(ly),unleash,next-gen,revolutionize,empower,supercharge,game-changer,cutting-edge,unlock,robust,effortless,frictionless, plusdelveandtapestry. Full grep pattern and flag-not-fail nuance (read against the POV or the domain-specificity floor before rewriting):design-method/references/register/copy.md§1. - Slop placeholder names —
Acme,Nexus,SmartFlow,Cloudly,Initech,Globex,Contoso,Umbrella Corp,Zenith (Labs/Tech). Blocks unless the brief explicitly names a fictional example on purpose. Grep + rule:design-method/references/register/copy.md§2. - Fake-precise numbers —
92%,4.1x,48k,99.99%, or any figure not traced to real data, brief/brand guidelines, or an explicitly labelled mock (<!-- mock -->/"example"). Real data reads organic and messy (47.2%), not fake-perfect.references/copy-self-audit.md§3. - Title Case headlines — sentence case is the default register for headings and body copy; reserve Title Case for UI labels, buttons, and eyebrows only, never a body headline, unless the brand style guide explicitly specifies Title Case. Inconsistent or unjustified Title Case on headlines is a recurring AI-slop tell (grounding corpus; general consistency principle also flagged in the reference clone's capitalization check — apply it here as a default ban, not a mere consistency note).
- Humor in error copy ("Oops!"/"Whoops!") — banned. Errors use the what-happened +
why + how-to-fix formula (
references/templates/error-messages.md), never cute framing — a frustrated user doesn't want jokes. Bad-example precedent already in this skill:references/voice-tone-sectors.mderror row flags exactly"Whoops! Something went wrong."against the correct"Connection lost. Try again or continue offline." - AI production-tell catalogue — version-label eyebrows (
v0.6/BETA/EARLY ACCESS), numbered section eyebrows (00 / INDEX), scroll cues, weather/locale strips, "quietly trusted by", decorative photo-credit captions, fabricated live counters, poetic craftsman labels, generic step labels (Stage 1/2/3). Full table:references/copy-self-audit.md§2. - Em-dash as a crutch — a single
—isn't a hard fail; 2+ occurrences reading as a repeated tic is.references/copy-self-audit.md§1 (shared gate withdesign-review). - "Not X. Y." manufactured-contrast fragments — one instance is fine, 2+ on one page
is a blocking tic.
references/copy-self-audit.md§4. - "theater"/"théâtre" keyword — any hit blocks, near-universal AI copy tell.
references/copy-self-audit.md§5. - All-caps body copy — 3+ consecutive all-caps words outside a recognized UI label
blocks; fine inside a button/eyebrow/badge.
references/copy-self-audit.md§6.
Steps
- Confirm register (inherited from Gate 0) — never re-resolve it here.
- Write/review against the sector voice profile
(
references/voice-tone-sectors.md, NNG 4 dimensions) and the matching sector guide if one applies (references/copy-saas.md,references/copy-fintech.md,references/copy-ecommerce.md). - Apply the formula references for the surface being written: buttons/forms/toasts
(
references/microcopy-patterns.md), CTAs (references/templates/cta-patterns.md), errors (references/templates/error-messages.md), empty states (references/empty-states-copy.md), onboarding (references/templates/onboarding-copy.md). Project-level output usesreferences/templates/copy-guide-template.md. - Run every visible string through the ban-lists above.
- Final read (
references/copy-self-audit.md§7): grammatically broken, unclear referent, hallucination-sounding, "LLM trying to sound thoughtful" (forced metaphor, mock-poetic aside, cute-but-empty wordplay). Rewrite; when unsure, replace with the plain functional sentence — boring-correct beats clever-wrong. - Mechanical checks (1-10 above) resolve on the spot. Judgment calls — does this line
actually trace to the POV, does it sound like forced profundity, does the aphoristic
cadence read as punchy ad copy pretending to be product copy — are named specifically
(quote the line, name the section) and routed to the
fuse-ai-pilot:challengergate insidedesign-review, never self-scored (design-method/references/register/copy.md§4;references/copy-self-audit.md, "Not self-audited — routed to challenger").
Failure Handling
- Sector not resolved / no sector guide fits → default to
references/microcopy-patterns.md's generic patterns, flag the gap instead of inventing sector voice. - A ban-list hit is contractually required by the brief (brand literally named "Acme",
a launch brief that genuinely wants a
BETAeyebrow) → note the override explicitly in the deliverable rather than silently keeping it unflagged.
Output
- Every visible string checked against the 10 ban-lists above, register-consistent, one voice per page.
- Judgment-call flags (if any), quoted and located, handed to
design-review's challenger gate — not resolved solo.
Next → design-review — Part 1's em-dash/production-tell checks are the same gates
enforced here; Part 2's challenger judges any remaining judgment call (aphoristic cadence, POV-tracing) this skill flagged but didn't self-score.
References
| File | Purpose |
|---|---|
references/copy-self-audit.md | Canonical self-audit — em-dash, AI tells, fake numbers, final read |
design-method/references/register/copy.md | Filler-verb + slop-name ban-lists, register direction (external, canonical there) |
references/voice-tone-sectors.md | Sector voice profiles, NNG 4 dimensions, do/don't examples |
references/microcopy-patterns.md | CTA/form-label/validation/toast/button-state patterns |
references/empty-states-copy.md | Empty-state copy formulas per type and sector |
references/copy-saas.md | SaaS sector copy examples |
references/copy-fintech.md | Fintech sector copy examples |
references/copy-ecommerce.md | E-commerce sector copy examples |
references/templates/cta-patterns.md | CTA label examples by context |
references/templates/error-messages.md | Error message formula + good/bad examples |
references/templates/onboarding-copy.md | Welcome-flow / first-run copy patterns |
references/templates/copy-guide-template.md | Project-level copy guide output template |
What ships with it: 11 files
39.4 KB alongside SKILL.md
references/
- copy-ecommerce.md2.9 KB
- copy-fintech.md3.0 KB
- copy-saas.md3.0 KB
- copy-self-audit.md5.7 KB
- empty-states-copy.md5.6 KB
- microcopy-patterns.md3.8 KB
- templates/copy-guide-template.md3.4 KB
- templates/cta-patterns.md2.0 KB
- templates/error-messages.md2.6 KB
- templates/onboarding-copy.md2.3 KB
- voice-tone-sectors.md5.0 KB