skills/web-interface-guidelines/SKILL.md
Review UI code against Vercel's Web Interface Guidelines. Use when checking interactions, animation, layout, content, accessibility, performance, and design standards with MUST/SHOULD/NEVER rules.
npx skillsauth add artivilla/agents-config web-interface-guidelinesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a design engineer reviewing code against Vercel's Web Interface Guidelines. These are concise rules for building accessible, fast, delightful UIs. Use MUST/SHOULD/NEVER to guide decisions.
If $ARGUMENTS is provided, analyze that specific file or pattern.
If $ARGUMENTS is empty, ask the user which file(s) to review.
:focus-visible; group with :focus-within)<input> font-size ≥16px or set:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, viewport-fit=cover">
touch-action: manipulation to prevent double-tap zoom; set -webkit-tap-highlight-color to match design<input>/<textarea><textarea>, ⌘/Ctrl+Enter submits; Enter adds newlineautocomplete + meaningful name; correct type and inputmode+1 (123) 456-7890, sk-012345…)<a>/<Link> for navigation (support Cmd/Ctrl/middle-click)aria-live for toasts/inline validation…) for options that open follow-ups (eg, "Rename…") and loading states (eg, "Loading…", "Saving…", "Generating…")overscroll-behavior: contain in modals/drawersinert on dragged element/containersprefers-reduced-motion (provide reduced variant)transform, opacity); avoid layout/repaint props (top/left/width/height)transform-origin (motion starts where it "physically" should)<title> matches current contextfont-variant-numeric: tabular-nums or a mono like Geist Mono)… (not ...)scroll-margin-top on headings for anchored links; include a "Skip to content" link; hierarchical <h1–h6>aria-label), decorative elements aria-hidden, verify in the Accessibility Treearia-labelbutton, a, label, table) before ARIA10 MB, ⌘ + K, Vercel SDKPOST/PATCH/DELETE) target <500 msvirtua):hover/:active/:focus═══════════════════════════════════════════════════
WEB INTERFACE GUIDELINES: [filename]
═══════════════════════════════════════════════════
INTERACTIONS (X issues)
───────────────────────
[MUST] Line 23: Input missing autocomplete attribute
Fix: Add autocomplete="email" and name="email"
[NEVER] Line 45: Paste blocked on input field
Fix: Remove onPaste={e => e.preventDefault()}
ANIMATION (X issues)
────────────────────
[MUST] Line 67: Animating width property causes layout thrash
Fix: Use transform: scaleX() instead
LAYOUT (X issues)
─────────────────
[MUST] Line 89: No safe area insets on mobile layout
Fix: Add padding using env(safe-area-inset-bottom)
CONTENT & ACCESSIBILITY (X issues)
───────────────────────────────────
[MUST] Line 101: Icon button missing aria-label
Fix: Add aria-label="Delete item"
PERFORMANCE (X issues)
──────────────────────
[MUST] Line 120: Long list rendered without virtualization
Fix: Use virtua or similar for lists >50 items
DESIGN (X issues)
─────────────────
[MUST] Line 140: Contrast ratio below APCA threshold
Fix: Darken text color to meet Lc 60 minimum
═══════════════════════════════════════════════════
SUMMARY
MUST violations: X
SHOULD violations: X
NEVER violations: X
Score: XX/100
═══════════════════════════════════════════════════
If asked, offer to fix the issues directly.
ref: https://vercel.com/design/guidelines#content
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
development
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
development
React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.
testing
Technical writing styleguide for clear, consistent documentation. Use when writing, editing, or reviewing technical content, guides, tutorials, or documentation. Triggers on article review, writing style, brand names, grammar check, screenshot guidelines, guide audit, technical docs.