ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββ ββββββ βββββββ βββββββββββ βββββββββββββββββ βββ β
β βββ ββββββ βββββββββββββββββββ βββββββββββββββββ βββ β
β βββ ββββββ ββββββββββββββ βββ ββββββββββββ βββ ββ βββ β
β βββ ββββββ ββββββββββββββ ββββ βββββββββββββ ββββββββββ β
β ββββββββββββ βββ βββββββββββ βββββββ βββββββββββββββββββββ β
β βββββββ βββ βββ βββββββββββ βββββ βββββββββββ ββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β AUTOMATED UI/UX CODE REVIEW USING VERCEL WEB INTERFACE GUIDELINES β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β STATUS: OPERATIONAL β VERSION: 1.0 β LICENSE: MIT β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β A GitHub Action that automatically reviews frontend code against β
β Vercel's Web Interface Guidelines using Claude AI. Non-blocking. β
β Advisory. Always current with upstream guidelines. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CAPABILITY DESCRIPTION β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β LIVE GUIDELINES Fetches latest guidelines at runtime from β
β vercel-labs/web-interface-guidelines β
β Never outdated. Always synchronized. β
β β
β AI-POWERED REVIEW Uses Claude to intelligently analyze code β
β against 9 UI/UX categories β
β β
β NON-BLOCKING Advisory only. Will not fail builds. β
β Posts feedback as PR comments. β
β β
β SELECTIVE TRIGGER Only executes on frontend file changes β
β (.tsx, .ts, .css in configured paths) β
β β
β DETAILED REPORTING Categorized feedback with file:line refs β
β MUST fix vs SHOULD improve priorities β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STEP 1: ADD WORKFLOW β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Copy .github/workflows/ui-guidelines-review.yml to your repository. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STEP 2: CONFIGURE API KEY β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Add ANTHROPIC_API_KEY to repository secrets: β
β β
β Settings > Secrets and variables > Actions > New repository secret β
β β
β Name: ANTHROPIC_API_KEY β
β Value: [Your Anthropic API key] β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STEP 3: EXECUTE β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Open a pull request modifying frontend files. β
β Review runs automatically. Results posted as PR comments. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CATEGORY SCOPE β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ACCESSIBILITY ARIA labels, keyboard support, focus β
β management, semantic HTML β
β β
β FORMS Input types, autocomplete, validation, β
β error handling β
β β
β ANIMATION prefers-reduced-motion, compositor-friendly β
β properties β
β β
β PERFORMANCE Virtualization, image optimization, β
β CLS prevention β
β β
β NAVIGATION URL state sync, proper link elements β
β β
β TOUCH Hit targets (44x44px), touch-action, β
β overscroll behavior β
β β
β TYPOGRAPHY Proper quotes, ellipsis, non-breaking spaces β
β β
β DARK MODE color-scheme, theme-color meta β
β β
β HYDRATION Controlled vs uncontrolled inputs β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PATTERN ISSUE β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β user-scalable=no Breaks accessibility β
β maximum-scale=1 Breaks accessibility β
β onPaste with preventDefault Blocks user input β
β transition: all Performance degradation β
β outline-none without focus-visible Breaks keyboard navigation β
β <div onClick> for navigation Not accessible β
β Images without dimensions Causes CLS β
β Form inputs without labels Screen reader issue β
β Icon buttons without aria-label Not accessible β
β Hardcoded date/number formats Use Intl.* instead β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EXAMPLE REVIEW OUTPUT β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ## UI Guidelines Review β
β β
β ### Summary β
β Found 3 issues across 2 files. β
β 1 accessibility concern (MUST fix), 2 improvements (SHOULD). β
β β
β ### Accessibility (MUST) β
β - `components/Button.tsx:42` - Icon button missing `aria-label` β
β ```tsx β
β // Add aria-label for screen readers β
β <button aria-label="Close dialog"> β
β ``` β
β β
β ### Animation (SHOULD) β
β - `components/Modal.tsx:18` - Missing `prefers-reduced-motion` check β
β β
β ### Passing β
β - Form accessibility β
β - Keyboard navigation β
β - Image optimization β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CUSTOMIZE FILE PATTERNS β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Edit workflow to match project structure: β
β β
β paths: β
β - "src/**" β
β - "components/**" β
β - "app/**" β
β - "*.tsx" β
β - "*.ts" β
β - "*.css" β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ADJUST REVIEW DEPTH β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Modify claude_args to change review depth: β
β β
β claude_args: "--max-turns 30" β
β β
β Higher values enable deeper analysis. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β RESOURCE URL β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Web Interface Guidelines https://vercel.com/design/guidelines β
β Guidelines Repository https://github.com/vercel-labs/ β
β web-interface-guidelines β
β AGENTS.md (Full Guidelines) https://github.com/vercel-labs/ β
β web-interface-guidelines/blob/ β
β main/AGENTS.md β
β command.md (Checklist) https://github.com/vercel-labs/ β
β web-interface-guidelines/blob/ β
β main/command.md β
β Claude Code Action https://github.com/anthropics/ β
β claude-code-action β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β MIT LICENSE β
β βββββββββββ β
β β
β Permission is hereby granted, free of charge, to any person obtaining a β
β copy of this software and associated documentation files, to deal in the β
β Software without restriction, including without limitation the rights to β
β use, copy, modify, merge, publish, distribute, sublicense, and/or sell β
β copies of the Software. β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β [END OF TRANSMISSION] β
β β
β β β β β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ