ux-audit

Audit a UI surface against interface design patterns and UX checklists across static, visual, and dynamic layers.

Updated Jan 27, 2026
One-click install
npx skills add https://github.com/SmallAi-API/smaihub --skill ux-audit-smallai-api
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ux-audit
Source: https://github.com/SmallAi-API/smaihub/tree/main/.agents/skills/ux-audit
Command: npx skills add https://github.com/SmallAi-API/smaihub --skill ux-audit-smallai-api

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? UX reviews are often ad-hoc, vibe-based, and miss entire classes of issues — a code read can't judge visual hierarchy, a screenshot can't measure layout shift, and neither can spot a capability the surface never built. This Skill provides a repeatable, evidence-based audit of one screen at a time, benchmarked against Tidwell's Designing Interfaces pattern catalog and a companion ux checklist skill. ## Core Features & Use Cases - Three-layer audit: L1 static code reading (missing states, absent patterns), L2 visual screenshot review (hierarchy, spacing, responsive, dark mode), and L3 dynamic journey testing with quantified CLS/LCP/INP metrics via agent-browser CDP automation. - Evidence-grounded findings: every finding cites file:line, a verified screenshot, or a captured metric, with a shared severity rubric and a coverage matrix that prevents concluding visual verdicts from code. - Closed-loop feedback: generalizable gaps and exemplary good cases are fed back into the ux checklist skill, and each audit is saved as a worked-example reference for the next run. - Use Case: Run an L1 audit of an OAuth consent screen to discover it lacks a switch-account affordance — a class norm every comparable provider ships — then land the finding as a new checklist item. ## Quick Start Ask the AI to run a ux-audit on a specific page or surface, optionally scoping it with --l1, --l2, or --l3 to choose the audit layer.

Frequently Asked Questions about ux-audit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a UX audit on a single page or screen?

Invoke the ux-audit skill with the page or surface name, optionally scoping with --l1, --l2, or --l3. L1 reads the code for missing states and patterns, L2 reviews screenshots of the render, and L3 drives the real user journey with performance instrumentation.

What is the difference between the L1, L2, and L3 audit layers?

L1 statically reads code to catch missing empty/error branches and absent patterns. L2 inspects screenshots for visual hierarchy, spacing, and responsive issues. L3 automates the user journey via agent-browser CDP to force states and measure CLS, LCP, and INP.

Can a UX audit conclude visual issues from reading code?

No. The skill's coverage matrix forbids visual verdicts from code alone — a variant prop cannot confirm the dominant control is the primary action. Visual claims must be verified on a rendered screenshot with the Read tool, and metrics like CLS require L3 instrumentation.

How does the audit catch capabilities a surface never built?

It benchmarks the surface's class against comparable mature products before reading code, since an entirely absent feature leaves no code to grep. For example, an OAuth consent screen is checked against GitHub/Google norms like switch-account and scope listing.

What happens to the findings after a UX audit completes?

Concrete bugs are fixed or filed as Linear sub-issues, generalizable gaps are fed back into the ux checklist skill as new or sharpened rules, exemplary good cases become positive examples, and the audit itself is saved as a worked-example reference.

When should I not run all three audit layers?

L1 runs on every audit as the cheap baseline. Add L2 only when findings concern layout, hierarchy, or rendered states, and L3 only when you need to walk a journey, force runtime states, or quantify performance — running all three every time is wasteful.