Atlas / Skills / plugin87 / ux-ui-agent-skills

ux-ui-agent-skillsBLOCK

skills/plugin87/ux-ui-agent-skills

Turn Claude into a senior design architect: DTCG tokens, 52 components, WCAG 2.2 AA-AAA, 138 design systems, any-framework code, and 50 objective gates that fail the build instead of faking success.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Version
—
Hosts
5 documented
License
MIT
Stars
1,558
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

aka XIAS**

Turn Claude into a Senior Design Architect — 15+ years of expertise in design systems, accessibility, and production-ready component engineering.

A comprehensive kit of structured instructions, design tokens, runnable skills, and 138 brand-grade design systems that turn Claude into a UX/UI expert agent — targeting any framework and any design system. Drop it into any project for consistent, accessible, token-driven design outputs, every time.

<img src=".github/images/hero.png" alt="XIAS - design-system doctrine for coding agents. 52 objective gates, 34 of which open a real browser: WCAG contrast in every state, axe roles and landmarks, keyboard, target size, reduced motion, no horizontal overflow at 280, token by intent, screen economy. 138 design systems, 52 component specs, 25 runnable skills, 14 DTCG token files, 16 framework adapters. Claude Code, Codex, Cursor, Copilot, Aider, MCP." width="900">

[](https://github.com/plugin87/ux-ui-agent-skills/releases) [](#license) [](#-accessibility-standards)

[](https://www.npmjs.com/package/ux-ui-agent-skills) [![npm downloads](https://img.shield

Read from source at commit b0f99e285339OBSERVED · 2026-10-09
02

Install

Commands as the repository documents them. They are shown, not run.

npm install && npx playwright install chrome
claude mcp add ux-ui-gates -- npx -y --package=ux-ui-agent-skills ux-ui-mcp
npx skills add
npm install && npx playwright install chrome
git clone https://github.com/plugin87/ux-ui-agent-skills.git
npm install                 # playwright — needed by 35 of the 51 gates, not dev-only
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
copilotmentioned
cursormentioned
openclawmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: a11y-audit
description: Audit a UI or design against WCAG 2.2 AA/AAA and ARIA patterns, returning criterion-referenced findings with severity and specific fixes. Use when the user wants an accessibility check, contrast verification, keyboard/screen-reader review, or wants to confirm a component meets POUR.
---

# Skill: Accessibility Audit

> **Step 0 — is the kit here?** This skill reads files from the kit. Check once:
> `ls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSING`
> On `KIT_MISSING` only the skill folders were installed, which is what
> `npx skills add` does. Say so plainly, point the user at
> `npx ux-ui-agent-skills init` or the plugin install, and stop. Do not guess the
> contents of a file you could not open.

Evaluate against WCAG 2.2 and the project's ARIA patterns.

## Steps
1. Read `${CLAUDE_SKILL_DIR}/../../../accessibility/wcag-checklist.md` (POUR-organized, P0/P1/P2) and `${CLAUDE_SKILL_DIR}/../../../accessibility/aria-patterns.md`.
2. Check the mandatory P0 set per component: keyboard navigable, focus visible (≥3:1), screen-reader name/role/state, contrast (4.5:1 text / 3:1 UI), target size ≥24×24, no color-only signaling.
3. Verify WCAG 2.2 additions: Focus Not Obscured (2.4.11), Target Size (2.5.8), Accessible Authentication (3.3.8).
4. **Contrast — measure, don't eyeball.** For rendered HTML, RUN the real-render gates and report their actual output (CLAUDE.md → Verification Protocol): `node ${CLAUDE_SKILL_DIR}/../../../scripts/measure_render.mjs <file> [--dark]` (every text element) AND `node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_states.mjs <file> [--dark]` (every interactive element in default/hover/focus — catches hover-state failures). For loose color pairs, `python3 ${CLAUDE_SKILL_DIR}/../../../scripts/contrast.py "<fg>" "<bg>"`. Never state a ratio you did not measure.
5. Check reduced-motion handling (`${CLAUDE_SKILL_DIR}/../../../taste/motion-choreography.md`).

## Output
A findings table: WCAG criterion (e.g. 1.4.3) · severity (P0/P1/P2) · what fails · specific fix. Confirm passes explicitly. Accessibility may never be traded for aesthetics.
05

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (2 observation(s))
Shell
declared (7 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (13)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/verify_keyboard.mjs:226
const read = () => page.$eval(sel, (el, a) => el.getAttribute(a), x.stateAttr);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/verify_keyboard.mjs:248
const read = () => page.$eval(host, el => el.getAttribute('aria-activedescendant'));
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
bin/cli.js:207
console.log(`  4. Set the MCP env vars (FIGMA_API_KEY, ...) in your shell. Never commit a secret.`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/lint_intent.mjs:208
console.log(`lint_intent: FAIL — token chosen by convenience, not by intent${dark ? ' [dark]' : ''}`);
MEDIUMHard-coded secrets · secret.stripe · CWE-798, CWE-321
examples/component-states/edge-cases.html:84
<h3 class="breakable">pk_live_51MZq8bK2eCx9vRt7WgYh3NdJfLpQaSzXcVbNmKjHgFdSaPoIuYtReWq</h3>
LOWInventory / provenance · inv.hidden_file · CWE-1104
.mcp.example.json
.mcp.example.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
tests/meta/hooks.test.mjs:59
for (const forbidden of ['spawnSync', 'execSync', 'spawn(', 'exec(', 'child_process']) {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
scripts/measure_install_paths.py:219
print("\nWrite them as ${CLAUDE_SKILL_DIR}/../../../<path>, or for a "
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/cli/installed-references.test.mjs:90
const root = resolve(skillDir, '../../..');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/cli/installed-references.test.mjs:92
`${skillDir} + ../../.. resolved to ${root}, not the project root`);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/meta/skill-frontmatter.test.mjs:118
const firstUse = text.indexOf('${CLAUDE_SKILL_DIR}/../../../');
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
esbuild, playwright, react, react-dom
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOPrompt injection · prompt.authority_framing · CWE-94, CWE-1427
README.md:329
**Then start using** — open the project in **Claude Code** or any Claude-powered IDE. `CLAUDE.md` loads automatically, activating the agent persona with full access to every tokens / components / tast

Gates applied: no_behavioural_pass.

Audited 2026-10-09 · audit v0.4.1 · source sha b0f99e285339full audit observations/trust-audit/skill/plugin87__ux-ui-agent-skills.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-09b0f99e285339BLOCKD69first audit
07

Questions

What does the ux-ui-agent-skills skill do?

Turn Claude into a senior design architect: DTCG tokens, 52 components, WCAG 2.2 AA-AAA, 138 design systems, any-framework code, and 50 objective gates that fail the build instead of faking success.

Is ux-ui-agent-skills safe to install?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can ux-ui-agent-skills access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.

Which assistants does ux-ui-agent-skills work with?

Its documentation mentions claude-code, codex, copilot, cursor and openclaw. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (b0f99e285339), read on 2026-10-09. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement