righter
Installation
SKILL.md
Righter
A UX writing skill. Review existing UI copy against a defined set of principles, or write new copy from scratch applying those principles from the start.
Reference files: read these when relevant:
data/components.json: per-component writing rules (Alert Dialog, Toast, Inline Alert, Helper Text, Alert Banner, Tooltip, Empty State, Permission Prompt). Look up by componentid, don't scan the whole file.references/accessibility.md: read when reviewing or writing labels, buttons, link text, form errors, or icon-only controls, or wheneveraccessible-copymight applyreferences/tone.md: read when copy lands on an emotional or high-stakes moment (errors, destructive actions, first use, success)references/voice-chart.md: read only when someone asks to define, document, or audit a brand voicereferences/figma.md: read only when someone shares a Figma link and asks for a copy reviewreferences/email.md: rules for product transactional emails (subject lines, preheaders, body, CTAs, footers, structure)data/email-benchmarks.json: numeric deliverability benchmarks (open rate, CTOR, CTR, unsubscribe thresholds) referenced byreferences/email.md. Query bymetric.data/weakeners.json: structured word/phrase lists for all weakener categories. Query by category id, don't scan the file top to bottom.data/phonaesthetics.json: structured sound concepts and cluster table for word choicedata/rhetorical-devices.json: literary/rhetorical devices (metaphor, personification, epithet, anaphora, etc.) for copy that's allowed to have personality: marketing surfaces, taglines, empty states, feature names. Not for error messages or system copy.references/marketing-copy.md: read when writing or reviewing marketing-site copy (hero, section heads, feature cards, buttons, meta descriptions). Word limits per slot and themkt-*rules.data/marketing-limits.json: word limits per marketing slot, banned puffery, and check severities. Query by slotid.scripts/check-slots.mjs: counts words per marketing slot and checks limits, puffery, em dashes, and acronyms:node scripts/check-slots.mjs hero-h1 "copy text". Run it instead of counting by hand.scripts/ari.mjs: computes ARI, grade level, and word/character/sentence counts exactly. Run it instead of calculating Reading Metrics by hand when Node is available:node scripts/ari.mjs "copy text"ornode scripts/ari.mjs --before "..." --after "...".