Every UX writing principle and error-message rule in Righter now carries a stable id.
Other skills and tools can cite a specific rule without depending on its position in the numbered list — ids don’t shift when principles get added or reordered.
Small changes, reliability improvements, and updates across all the skills I’ve created and actively manage.
Other skills and tools can cite a specific rule without depending on its position in the numbered list — ids don’t shift when principles get added or reordered.
Closes a gap where references/email.md assumed this rule existed — it was referenced but never actually defined until now.
Copy that doesn’t cleanly match any of the six existing questions now has somewhere to go, instead of leaving the choice up to guesswork.
Computes ARI score, grade level, and word, character, and sentence counts exactly, instead of asking the formula to be worked out by hand.
An eight-case corpus for checking that future edits to principles or data files don’t silently change what the skill flags.
Source fields in the component, weakener, and phonaesthetics data files still pointed at reference files removed in a previous version. Missing example pairs were filled in too.
Anti-patterns to prevent slop in AI generated designs. It can read and flag anti-patterns and remedy them before pushing out generated designs.
An agent can now look up one rule by ID instead of reading an entire reference file to find what needs to be used. The corpus that used to live only in prose format now has a structured lookup alongside it.
Less to read, nothing lost — every decision tree and "why not X" rationale was verified 1:1 against the new data file before the markdown was deleted.
The skills referenced tool names that didn’t exist. The real registered names replace the placeholders.
A more complete picture of what a designer actually does, with less guessing about which bucket a skill falls into. The question bank also moved to structured data, queryable by competency number or category instead of read start to finish.
Open skills download straight from GitHub and run standalone. Premium skills — the full Vois design system chain, including Vois Router and Vois Loop — ship inside the Vois app, available on a Pro account.
Vois Patterns, Vois Components, Vois Tokens, and Righter no longer assume Vois Router, Vois Loop, or a connected MCP tool is present. Every telemetry call — recording a component choice, a pattern decision, a rule usage log — is now optional. If the tool’s there, it fires; if not, the skill degrades gracefully and moves on.
Subject lines, preheaders, CTAs, and footers get the same scrutiny as a button label, backed by numeric deliverability benchmarks — open rate, CTOR, CTR, unsubscribe thresholds — for judging whether copy is actually working.
Meta, yes. The alternative was this page reading like a commit log, and nobody wants that. Changelog Writer drafts external release notes with voice, then runs every entry through structure, sass-budget, and length checks before it ships.
Centered-hero sections, the purple-to-blue gradient, three identical feature cards — the defaults every AI-built page reaches for. Passing every spacing and accessibility rule doesn’t matter if the page still reads as generated. Nine rules now flag centered heroes, AI gradients, identical card grids, eyebrow overuse, emoji-as-icons, zigzag repetition, spec-sheet tables, and uniform page rhythm — several gated by a new tunable variance dial.
18 mechanically-checkable rules now get caught on every edit instead of relying on an agent to remember them. A per-edit hook installs into Claude Code, Cursor, or Codex and covers color, accessibility, spacing, animation, layout, typography, and modal safeguards — complementary to, never a replacement for, judgment-only rules.
The rename makes room in the design system’s naming for a patterns skill and a components skill that aren’t about tokens. Every cross-reference across the stack was updated to match — rule IDs didn’t change, only the skill’s name did.
Reading one rule no longer means loading 500+ lines to find it. No rule content was added, removed, or reworded in the split — every rule ID and path ID survived the move intact.
Two more places where agents used to guess now have an actual answer. One reference file covers the shadow scale and modal scrim behavior; the other covers icon sizing and stroke-width consistency.
A place to actually see what these skills do before installing one. Each skill page lists what it takes in, what it hands back, how to install it, and how it connects to the rest of the system.
Every label, error, and button on a screen now gets reviewed by Righter as one batch, before Vois Tokens touches a single line. The gate applies in both gated and fast mode — only the confirmation prompt is skippable, never the review itself.
One entry point that reads a brief, figures out where to start, and carries context between every skill in the chain. Vois Router classifies the work and hands off between Vois Patterns, Vois Components, Vois Tokens, and Righter. Vois Loop wraps that same chain in a loop that detects conflicts between skills and routes back upstream until they resolve.
Things like sibling spacing belonging to the parent’s gap, not a child’s padding — small calls that compound into messy markup at scale. Also new: a CSS selectors-and-specificity section, banning ID selectors and capping nesting at two levels.
Dialog vs Drawer, Toast vs Banner, Select vs Combobox — the calls that get made inconsistently without a rubric. Every job comes with a decision tree and a "why not X" explanation, so the choice is defensible, not a guess.
A structural decision made before any code gets written, instead of discovered halfway through the build. Five core templates — settings pages, table/list with details, forms, dialogs, and detail pages — plus decision trees for container type, form complexity, and permissions handling.