Web Interface Guidelines Reviewer
vercel-labs/openreview
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…
Fix accessibility issues documented in a component's A11y.mdx audit file by editing the component source, then refresh the audit artifacts.
$ npx skills add scaleway/ultraviolet --skill a11y-fix -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scaleway/ultraviolet a11y-fix --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/scaleway/ultraviolet.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/a11y-fix .claude/skills/a11y-fix && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "a11y-fix" agent skill from https://github.com/scaleway/ultraviolet/tree/main/.agents/skills/a11y-fix into .claude/skills/a11y-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a11y-fix", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scaleway/ultraviolet/tree/main/.agents/skills/a11y-fixType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scaleway/ultraviolet --skill a11y-fix -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scaleway/ultraviolet a11y-fix --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scaleway/ultraviolet.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/a11y-fix .agents/skills/a11y-fix && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "a11y-fix" agent skill from https://github.com/scaleway/ultraviolet/tree/main/.agents/skills/a11y-fix into .agents/skills/a11y-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a11y-fix", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scaleway/ultraviolet --skill a11y-fix -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scaleway/ultraviolet a11y-fix --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scaleway/ultraviolet.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/a11y-fix .cursor/skills/a11y-fix && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "a11y-fix" agent skill from https://github.com/scaleway/ultraviolet/tree/main/.agents/skills/a11y-fix into .cursor/skills/a11y-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a11y-fix", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scaleway/ultraviolet.git --path .agents/skills/a11y-fix--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scaleway/ultraviolet --skill a11y-fix -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scaleway/ultraviolet a11y-fix --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scaleway/ultraviolet.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/a11y-fix .gemini/skills/a11y-fix && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "a11y-fix" agent skill from https://github.com/scaleway/ultraviolet/tree/main/.agents/skills/a11y-fix into .gemini/skills/a11y-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a11y-fix", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scaleway/ultraviolet a11y-fixInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scaleway/ultraviolet --skill a11y-fix -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scaleway/ultraviolet.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/a11y-fix .github/skills/a11y-fix && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "a11y-fix" agent skill from https://github.com/scaleway/ultraviolet/tree/main/.agents/skills/a11y-fix into .github/skills/a11y-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a11y-fix", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scaleway/ultraviolet --skill a11y-fix -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scaleway/ultraviolet a11y-fix --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scaleway/ultraviolet.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/a11y-fix .opencode/skills/a11y-fix && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "a11y-fix" agent skill from https://github.com/scaleway/ultraviolet/tree/main/.agents/skills/a11y-fix into .opencode/skills/a11y-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "a11y-fix", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
a11y-fixFix accessibility issues documented in a component's A11y.mdx audit file by editing the component source, then refresh the audit artifacts.
A11y Fix is an agent skill from scaleway/ultraviolet. Fix accessibility issues documented in a component's A11y.mdx audit file by editing the component source, then refresh the audit artifacts. Use when the user wants to resolve accessibility issues found by the a11y-audit skill, or mentions fixing a11y/ARIA/keyboard navigation/WCAG issues in a component.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `REFERENCE.md`).
It sits in Frontend & Design, covering Accessibility. The repository describes itself as: A monorepo Design System with React components. The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 29d7205. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
A11y Fix loads about 1.3k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 641 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from scaleway/ultraviolet at commit 29d7205, republished under its Apache-2.0 licence (© scaleway). 641 words, ~1,341 tokens.
.claude/skills/a11y-fix/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Resolve the accessibility issues documented in a component's A11y.mdx audit file by editing the component source, then refresh the audit artifacts so they reflect the new state.
Locate packages/ui/src/components/<Component>/__stories__/A11y.mdx (or the path given by the user). If it does not exist, stop and tell the user to run the a11y-audit skill first.
Extract from it:
Read the Dependencies section. If it lists other components that must be fixed first, present them to the user and ask whether to fix those before this one. If the user declines or there are none, continue.
Read the component source to understand the current implementation and conventions:
index.tsx — component logic, ARIA attributes, keyboard handlerstype.ts — propsstyles.css.ts — vanilla-extract styles (focus indicators, visibility)Follow existing conventions (vanilla-extract for styles, functional components, existing ARIA patterns in neighbour components).
List every issue from the audit, ordered Critical → High → Medium → Low. For each, state the intended fix and the file(s) affected. Present the plan to the user and confirm before editing.
For common fix patterns and code snippets, see REFERENCE.md.
Before implementing any fix, write an accessibility test suite that documents the expected post-fix behaviour. Tests will initially fail (confirming the issues exist) and pass once the fix is applied.
Create packages/ui/src/components/<Component>/__tests__/a11y.test.tsx following the template in REFERENCE.md:
describe('<component> - A11y', { tags: ['a11y'] }, ...) block.await expectNoViolations(container).@testing-library/user-event to assert the desired behaviour (e.g. expect(trigger).toHaveFocus() after dismiss, expect(menu).toBeVisible() after ArrowDown).it.for([...consoleThemesMap.entries()])('should not have violations with (theme: %s)', ...).Run the suite with pnpm test:unit -- <component-path> and confirm the expected tests fail. Do not proceed to the fix until the suite accurately documents the issues.
Implement fixes in criticality order. Prefer the smallest change that satisfies the WCAG rule referenced in the audit. Do not change the public API unless strictly necessary; if a prop must change or be added, flag it to the user first.
Run from the repo root:
pnpm lintpnpm typecheckpnpm test:unit -- <component-path> (e.g. packages/ui/src/components/Alert)The a11y test suite generated in Step 5 should now pass. Fix any failures you introduced. If a pre-existing test needs updating to reflect the a11y fix, explain why to the user before updating it.
A11y.mdx — for each resolved issue, mark it ✅ and keep the original note for traceability. Update the Summary lines (✅/⚠️/❌) to reflect the new state. Wrap the whole "Accessibility issues" section in a <details><summary> block and rename it to "Past accessibility issues". Within that section, format each issue as a list item whose first line is the issue title (with ✅/⚠️/❌) and whose details (description, resolution, or status) go in a nested sub-list below it, e.g.:- ✅ Missing ARIA props on button:
- The following ARIA props were defined but NOT passed to the native `<button>` element: ...
- **Resolved** by forwarding all ARIA attributes to the `<button>` element (`index.tsx`).
- ❌ Contrast failures:
- Unresolved (theme tokens, see WCAG 1.4.3 above).index.stories.tsx — recompute the a11yStatus parameter:perceivable: false if any 1.x.x rule still fails, else trueoperable: false if any 2.x.x rule still fails, else trueunderstandable: false if any 3.x.x rule still fails, else truerobust: false if any 4.x.x rule still fails, else trueSummarize which fixes were applied, then prompt the user to manually verify with a keyboard (Tab / Enter / Space / Escape) and, if possible, a screen reader.
© scaleway, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/a11y-fix of scaleway/ultraviolet.
Open the folder on GitHubat commit 29d7205
A11y Fix next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| A11y Fix this skillscaleway/ultraviolet | 127 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Web Interface Guidelines Reviewervercel-labs/openreview | 1.7k | 97 repos | ~308 | Automated safety check: Pass | None | |
| Accessibility Reviewmarkmead/hyperui | 12k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Web Animation DesignbaptisteArno/typebot.io | 11k | 2 repos | ~2.7k | Automated safety check: Pass | Custom licence | |
| Accessibility Fixeribelick/ui-skills | 9.5k | 4 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Wcag Audit PatternsvmDeshpande/ai-agent-automation | 178 | 11 repos | ~610 | Automated safety check: Pass | Apache-2.0 |
vercel-labs/openreview
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…
markmead/hyperui
Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.
baptisteArno/typebot.io
Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.
ibelick/ui-skills
Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.
vmDeshpande/ai-agent-automation
Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance.
ibelick/ui-skills
Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.
scaleway/ultraviolet
Audit components for accessibility. An agent skill from scaleway/ultraviolet.
scaleway/ultraviolet
Write Vitest/Testing Library tests the Ultraviolet way — interact with the rendered DOM like a user, following query priority.
scaleway/ultraviolet
Create or update a GitHub Pull Request — analyze the diff, draft the description from the repo template, push with gh.
Categories
Fix accessibility issues documented in a component's A11y.mdx audit file by editing the component source, then refresh the audit artifacts. A11y Fix is an agent skill from scaleway/ultraviolet.mdx audit file by editing the component source, then refresh the audit artifacts.
A11y Fix fits situations like: the user wants to resolve accessibility issues found by the a11y-audit skill; mentions fixing a11y/ARIA/keyboard navigation/WCAG issues in a component.
Run `npx skills add scaleway/ultraviolet --skill a11y-fix -a claude-code`. Or copy the skill folder (.agents/skills/a11y-fix in scaleway/ultraviolet) into .claude/skills/a11y-fix in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scaleway/ultraviolet --skill a11y-fix -a codex`. Or copy the skill folder (.agents/skills/a11y-fix in scaleway/ultraviolet) into .agents/skills/a11y-fix in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scaleway/ultraviolet --skill a11y-fix -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/a11y-fix, .gemini/skills/a11y-fix, .github/skills/a11y-fix and .opencode/skills/a11y-fix in your project.
Going by SKILL.md and its folder, A11y Fix needs the command-line tools its instructions call (pnpm).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
A11y Fix is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with A11y Fix: Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars), Accessibility Review (markmead/hyperui, 12k stars), Web Animation Design (baptisteArno/typebot.io, 11k stars) and Accessibility Fixer (ibelick/ui-skills, 9.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scaleway (a GitHub organization) maintains it in scaleway/ultraviolet, which has 127 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 8, 2026.
Source: scaleway/ultraviolet on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.