skills/design-review/SKILL.md
--- name: design-review description: 7-phase frontend design review with accessibility (WCAG 2.1 AA), responsive testing, visual polish. Use for PR reviews, UI audits, or encountering contrast issues, broken layouts, accessibility violations, inconsistent spacing, missing focus states. Keywords: design review, UI audit, frontend review, accessibility audit, WCAG compliance, responsive design, visual QA, UX review, component review, PR design check, layout issues, accessibility violations,
npx skillsauth add kennyolofsson23-netizen/claude-code-config skills/design-reviewInstall 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.
Status: Production Ready ✅ Last Updated: 2025-11-20 Dependencies: Playwright MCP or Chrome DevTools Methodology: 7-phase systematic review (inspired by Stripe, Airbnb, Linear)
Before starting a design review, verify browser automation tools are available:
Option A: Playwright MCP (recommended for interactive testing)
playwright-testing skill for Playwright setupOption B: Chrome DevTools CLI (alternative for screenshots and performance)
chrome-devtools skill for Puppeteer CLI setupFor complete browser tools reference, see references/browser-tools-reference.md.
For PR reviews:
# Analyze git diff to understand scope
git diff --name-only origin/main...HEAD
# Read PR description for context
For general UI reviews: Simply provide the preview URL and component/page description.
Follow the systematic checklist below. Each phase has specific objectives and testing procedures.
Objective: Understand context and set up testing environment.
Steps:
Read PR description or review request to understand:
Analyze code diff (if PR available):
git diff origin/main...HEAD
Identify modified files (components, styles, tests)
Set up live preview environment:
Review design principles (if project has custom guidelines):
When to skip: For quick component reviews without git context.
Objective: Verify the interactive experience works as expected.
For complete interaction guide: Load references/interaction-patterns.md when testing interactive states, forms, buttons, navigation flows, micro-interactions, modals, or keyboard navigation.
Quick checklist:
Triage: [Blocker] Critical flow broken | [High] Poor UX/missing focus states | [Medium] Missing polish | [Nitpick] Minor timing issues
Objective: Ensure design works across all viewport sizes.
For complete responsive guide: Load references/responsive-testing.md when testing viewports, touch targets, mobile navigation, image responsiveness, or debugging horizontal scrolling.
Test 3 viewports:
Quick testing:
mcp__playwright__browser_resize(width: 1440, height: 900) # Desktop
mcp__playwright__browser_resize(width: 768, height: 1024) # Tablet
mcp__playwright__browser_resize(width: 375, height: 667) # Mobile
mcp__playwright__browser_take_screenshot(fullPage: true)
Triage: [Blocker] Layout broken | [High] Horizontal scroll/overlapping | [Medium] Suboptimal spacing | [Nitpick] Minor inconsistencies
Objective: Assess aesthetic quality and visual consistency.
For design principles guide: Load references/visual-polish.md when evaluating typography hierarchy, spacing/layout, color palette, alignment/grid, visual hierarchy, image quality, or S-Tier design standards.
Quick evaluation (5 criteria):
Triage: [Blocker] Illegible text/broken images | [High] Obvious inconsistencies | [Medium] Spacing/alignment issues | [Nitpick] Aesthetic preferences
Objective: Ensure inclusive design for all users.
For complete WCAG 2.1 AA checklist: Load references/accessibility-wcag.md when verifying WCAG compliance, testing keyboard navigation, checking color contrast, auditing semantic HTML, or using accessibility testing tools (Lighthouse, axe, WAVE).
Quick WCAG tests (4 principles):
Critical tests:
<label for="id"> or aria-label)<button> not <div onClick>)Triage: [Blocker] No keyboard access to core features | [High] WCAG AA violations | [Medium] Semantic HTML issues | [Nitpick] Enhanced accessibility
Objective: Verify handling of edge cases and error conditions.
Test scenarios:
Common overflow issues:
Test procedure:
# Simulate slow network
# Check browser DevTools Network tab → throttling
# Force error states
# Test with invalid API responses or network failures
Common problems:
Triage priorities:
Objective: Ensure maintainable, consistent implementation.
For code patterns guide: Load references/code-health-patterns.md when evaluating component reuse (DRY principle), design token usage (colors, spacing, typography), pattern consistency (naming, file structure, API patterns), or identifying red flags (duplication, magic numbers, broken abstractions).
Quick review (3 criteria):
margin: 17px), border radii consistentTriage: [High] Introduces tech debt/breaks patterns | [Medium] Missed reuse opportunities | [Nitpick] Code style preferences
Objective: Verify polished details and technical correctness.
Check for:
Common content issues:
Test procedure:
# Using Playwright MCP
mcp__playwright__browser_console_messages()
# Using Chrome DevTools
# Open DevTools → Console tab
Look for:
Triage priorities:
Describe the problem and its impact, not the solution. Let the developer decide implementation.
❌ Prescriptive (avoid): "Change the margin to 16px"
✅ Problem-focused (preferred): "The spacing feels inconsistent with adjacent elements, creating visual clutter that distracts from the primary CTA. The current spacing breaks the established rhythm of the design system."
Categorize every issue with clear priority:
| Priority | Criteria | Action Required | |----------|----------|----------------| | [Blocker] | Critical failures, core functionality broken, critical accessibility violations | Must fix before merge | | [High-Priority] | Significant UX issues, obvious design inconsistencies, WCAG violations | Should fix before merge | | [Medium-Priority] | Improvements, minor inconsistencies, edge case handling | Consider for follow-up PR | | [Nitpick] | Aesthetic preferences, minor polish, subjective opinions | Optional refinements |
Important: Prefix all nitpicks with "Nit:" to signal low priority.
Always provide screenshots for visual issues. Screenshots should:
Example:
### [High-Priority] Poor contrast on disabled button
**Problem:** Disabled button text has insufficient contrast (2.1:1), failing WCAG AA
standard (requires 4.5:1). Users with low vision may not recognize the button as disabled.
**Screenshot:** [Attach screenshot showing disabled button]
**Impact:** Accessibility violation, potential confusion for users with visual impairments.
Always acknowledge what works well before listing issues. This:
Example:
### Design Review Summary
The new checkout flow shows excellent attention to user experience. The step indicator
is clear and well-designed, error messages are helpful and actionable, and the overall
layout feels spacious and uncluttered. The loading states with skeleton screens are
particularly well-executed. Great work on the form validation feedback!
However, there are a few accessibility and responsiveness issues to address before merge...
For complete template: Load assets/review-report-template.md for the full markdown template with all sections and examples.
Essential structure:
## Design Review Summary
[2-3 sentences: positive acknowledgment + overall assessment]
**Review scope:** [PR #, pages, components]
**Viewports tested:** Desktop (1440px), Tablet (768px), Mobile (375px)
**Methodology:** 7-phase comprehensive review
---
### Findings
#### 🚨 Blockers
[Critical issues requiring immediate fix before merge]
- **[Blocker] [Title]**: Problem + Screenshot + Phase
#### ⚠️ High-Priority Issues
[Significant issues to fix before merge]
- **[High] [Title]**: Problem + Screenshot + Phase
#### 📋 Medium-Priority / Suggestions
[Improvements for follow-up PR]
- **[Medium] [Title]**: Problem + Phase
#### ✨ Nitpicks
[Minor aesthetic details - optional]
- **Nit:** [Issue] - [Brief description]
---
### Testing Evidence
**Screenshots:** Desktop (1440px) + Tablet (768px) + Mobile (375px)
**Console output:** [Errors/warnings or "Console clean"]
**Accessibility:** Keyboard nav + Focus states + Color contrast
---
### Next Steps
1. Fix Blockers
2. Address High-Priority issues
3. Consider Medium-Priority items
**Overall assessment:** [Ready to merge after blockers fixed / Needs revisions / Ready to merge!]
Load reference files when working on specific aspects of design review:
Load when:
Load when:
Load when:
17px, inconsistent state management, broken abstractions)Load when:
Load when:
Load when:
Load when:
This skill prevents 8 documented design review issues:
| Issue | Problem | Impact | Prevention | |-------|---------|--------|------------| | #1: Missing Accessibility | Reviews focus only on visual appearance, ignoring keyboard navigation and screen readers | WCAG violations shipped to production, excluding users with disabilities | Phase 4 enforces complete WCAG 2.1 AA checklist with keyboard testing | | #2: Incomplete Responsive Testing | Reviewing only at desktop viewport, missing mobile breakage | Broken mobile layouts, frustrated mobile users | Phase 2 requires testing at 1440px, 768px, and 375px viewports | | #3: Vague Feedback | Comments like "looks off" without screenshots or specifics | Wasted time, unclear action items, frustrated developers | Evidence-based feedback principle requires screenshots | | #4: Prescriptive Solutions | Dictating implementation ("change margin to 16px") instead of describing UX impact | Design-dev friction, missed better solutions | "Problems Over Prescriptions" principle enforced | | #5: No Triage Priority | All feedback treated equally, blocking merges on nitpicks | Slowed delivery, unclear priorities | Triage matrix (Blocker/High/Medium/Nitpick) required | | #6: Skipped Edge Cases | Happy path works, but error states and overflow break layout | Production bugs with edge cases | Phase 5 mandates robustness testing | | #7: Console Errors Ignored | Visual design passes, but JavaScript errors exist in console | Runtime failures, poor user experience | Phase 7 requires console check | | #8: Inconsistent Methodology | Ad-hoc reviews miss critical areas depending on reviewer mood | Incomplete reviews, missed issues | 7-phase checklist ensures comprehensive, repeatable reviews |
Browser automation tools (one of the following):
Playwright MCP (recommended)
playwright-testing skill for installationChrome DevTools CLI
chrome-devtools skill for installationLive preview environment:
If browser tools are not available, this skill will:
playwright-testing or chrome-devtools)This skill is based on real design review workflows used at:
Estimated token efficiency:
Questions or issues?
playwright-testing or chrome-devtools skills)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.
testing
Full QA pass: run all tests, check types, catch regressions, write missing tests. Use when the user says "run tests", "QA", "verify changes", "check for regressions", "test everything", or "make sure it works".
development
Provides guidance for property-based testing across multiple languages and smart contracts. Use when writing tests, reviewing code with serialization/validation/parsing patterns, designing features, or when property-based testing would provide stronger coverage than example-based tests.
development
Initialize a new project with Kenny's universal conventions and stack-appropriate infrastructure. Use this skill whenever: setting up a new project, creating a new repo, scaffolding a new app, starting fresh on a new idea, 'init project', 'new project', 'set up a new app', 'create a project for X', or any variant of starting a new codebase from scratch. Also trigger when the user says 'bootstrap', 'scaffold', or 'kickstart'. This skill ensures every project gets the same quality gates and conventions while adapting infrastructure to the chosen stack.