Skip to content
Development
Skill

/audit

Technical UI audit — a11y, performance, responsive. Produces a prioritized findings table. Invoke when the user asks for audit on their UI, or mentions 'audit' alongside design / UI / frontend work.

From plugin
ui-craft
44530 skills2 agents25 commands1 hook
+1

Claude Code

$ npx -y skills add educlopez/ui-craft --skill audit --agent claude-code

SKILL.md

audit.SKILL.md
name: audit
description: "Technical UI audit — a11y, performance, responsive. Produces a prioritized findings table. Invoke when the user asks for audit on their UI, or mentions 'audit' alongside design / UI / frontend work."

<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->

**Context:** this sub-skill is one lens of the broader `ui-craft` skill. If the `ui-craft` skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.

Run a technical audit of the UI at `$ARGUMENTS`. Load the `ui-craft` skill and apply the audit lens.

Step 0: Visual capture (mandatory)

Code-only review is insufficient. Every audit/critique starts with the surface as the user sees it. Try the following in order; use the first one available:

1. **Playwright MCP** — if `playwright` MCP server is available, use it. Capture full-page screenshots at three viewports: desktop (1280×800), tablet (768×1024), mobile (375×812). Capture dark mode if the app supports it. 2. **Browser DevTools / Chrome MCP** — second choice; same viewport set. 3. **Other browser automation** (`agent-browser`, `cursor-ide-browser`) — third choice. 4. **Ask the user** — last resort. If no automation is available, request screenshots from the user before proceeding. Be specific:

  • "Visual review needs screenshots. Please provide:
  • Full-page at 1280px (desktop)
  • Full-page at 768px (tablet)
  • Full-page at 375px (mobile)
  • Dark mode of each, if supported."

Do not begin the review until visuals are captured or provided. State this explicitly to the user when no automation succeeds — don't silently fall back to code-only review.

If the user declines to provide screenshots, run a code-only pass and clearly mark the report `[CODE-ONLY REVIEW — visual issues not assessed]` at the top so the limitation is explicit.

**Note:** audit is knob-agnostic — accessibility and performance are not tunable.

**Scope (non-negotiable checks):**

1. **Accessibility** — read `references/accessibility.md`:

  • Visible `:focus-visible` on every interactive element
  • Keyboard reachable, no focus traps
  • Touch targets ≥ 44px (mobile)
  • Color not the only signal for state
  • Form labels, error association, required indication
  • `prefers-reduced-motion` honored for all animations

2. **Performance** — read `references/motion.md` Rendering Performance section:

  • Only `transform` / `opacity` animated (no `width`/`top`/`height`)
  • No `transition: all`
  • `will-change` scoped to active interaction, removed after
  • Images have `width`/`height` or `aspect-ratio` (CLS)
  • No layout thrash in scroll/resize handlers

3. **Responsive** — read `references/responsive.md`:

  • Mobile-first breakpoints, no fixed-width components
  • `env(safe-area-inset-*)` respected on fixed elements
  • Touch zones don't overlap
  • No horizontal scroll at 320px

**Output format** — the Review Format table from SKILL.md:

| Before | After | Why | | --- | --- | --- |

Group findings by priority: **Critical** (blocks usability/a11y) → **High-impact** (immediately noticeable) → **Quick wins** (polish).

Do NOT rewrite code unless asked. Report findings first; wait for approval before editing.

**Close with a Craft Report** (`references/review.md` → Craft Report), wrapping the findings table above — Checked states scope (a11y/perf/responsive, at which viewports), Passed carries anything inspected and found sound, Changed stays empty pre-approval, Verdict names the top priority. Produce it even on a clean audit — a11y/perf/responsive coming back clean is the finding.

**Next step:** `/harden` — turn the findings into real production coverage (rung 1).

Read more
@educlopez
Ships withui-craft

Ship designer-grade UI by default. A design engineering system for AI coding agents — install it as a skill or as the ui-craft CLI, and your agent starts designing like it has taste. Ask for a dashboard, get one you'd put in production.

44530 skills2 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
445
Star history of educlopez/ui-craft on GitHub, a chart by star-history.com

Other skills on ui-craft.

friction-log

friction-log

File contributor or agent papercuts as GitHub issues labeled friction, or investigate those issues as the daily friction-log…

@educlopez@educlopezInstall Skill
ui-craft-dense-dashboard

ui-craft-dense-dashboa…

Dense dashboard / admin / Bloomberg / Retool / data-heavy internal tools. Locked knobs: CRAFT=7, MOTION=3, DENSITY=9. IBM Plex +…

@educlopez@educlopezInstall Skill
ui-craft-editorial

ui-craft-editorial

Editorial / magazine / long-form / Medium / Substack / content-heavy UIs. Locked knobs: CRAFT=9, MOTION=4, DENSITY=3. Serif…

@educlopez@educlopezInstall Skill
ui-craft-minimal

ui-craft-minimal

Minimal / clean / Linear / Notion / Vercel / whitespace-heavy UIs. Locked knobs: CRAFT=8, MOTION=3, DENSITY=2. Monochrome + one…

@educlopez@educlopezInstall Skill
ui-craft

ui-craft

Use for UI design and implementation work to avoid generic AI-looking interfaces. Provides anti-slop rules, a required discovery…

@educlopez@educlopezInstall Skill
adapt

adapt

Responsive layout pass covering breakpoints, touch targets, safe areas, and fluid type. Use when the UI has layout or touch…

@educlopez@educlopezInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about audit.

Which coding agents can use audit?
audit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.