Community Команды Дизайн

Команда web-design-reviewer

Установка
npx claude-code-templates@latest --command design/web-design-reviewer

Описание

web-design-reviewer — slash-команда визуального аудита: осмотр сайта — локального или удалённого, адаптивность — поведение на разных разрешениях, доступность — compliance и удобство, визуальная консистентность — единообразие стилей, баги вёрстки — поиск и исправление поломок. Для разработчиков, желающих дизайн-ревью перед показом людям.

Что умеет:
— ревьюить сайт визуально;
— проверять адаптивность и доступность;
— находить баги вёрстки;
— исправлять дизайн-проблемы.

Web Design Reviewer

This skill enables visual inspection and validation of website design quality, identifying and fixing issues at the source code level.

Scope of Application

  • Static sites (HTML/CSS/JS)
  • SPA frameworks such as React / Vue / Angular / Svelte
  • Full-stack frameworks such as Next.js / Nuxt / SvelteKit
  • CMS platforms such as WordPress / Drupal
  • Any other web application

Prerequisites

Required

  • Target website must be running
  • Local development server (e.g., http://localhost:3000)
  • Staging environment
  • Production environment (for read-only reviews)
  • Browser automation must be available
  • Screenshot capture
  • Page navigation
  • DOM information retrieval
  • Access to source code (when making fixes)
  • Project must exist within the workspace

Workflow Overview


flowchart TD
    A[Step 1: Information Gathering] --> B[Step 2: Visual Inspection]
    B --> C[Step 3: Issue Fixing]
    C --> D[Step 4: Re-verification]
    D --> E{Issues Remaining?}
    E -->|Yes| B
    E -->|No| F[Completion Report]

—

Step 1: Information Gathering Phase

1.1 URL Confirmation

If the URL is not provided, ask the user:

> Please provide the URL of the website to review (e.g., http://localhost:3000)

1.2 Understanding Project Structure

When making fixes, gather the following information:

| Item | Example Question |

|——|——————|

| Framework | Are you using React / Vue / Next.js, etc.? |

| Styling Method | CSS / SCSS / Tailwind / CSS-in-JS, etc. |

| Source Location | Where are style files and components located? |

| Review Scope | Specific pages only or entire site? |

1.3 Automatic Project Detection

Attempt automatic detection from files in the workspace:


Detection targets:
├── package.json     → Framework and dependencies
├── tsconfig.json    → TypeScript usage
├── tailwind.config  → Tailwind CSS
├── next.config      → Next.js
├── vite.config      → Vite
├── nuxt.config      → Nuxt
└── src/ or app/     → Source directory

1.4 Identifying Styling Method

| Method | Detection | Edit Target |

|——–|———–|————-|

| Pure CSS | *.css files | Global CSS or component CSS |

| SCSS/Sass | *.scss, *.sass | SCSS files |

| CSS Modules | *.module.css | Module CSS files |

| Tailwind CSS | tailwind.config.* | className in components |

| styled-components | styled. in code | JS/TS files |

| Emotion | @emotion/ imports | JS/TS files |

| CSS-in-JS (other) | Inline styles | JS/TS files |

—

Step 2: Visual Inspection Phase

2.1 Page Traversal

  • Navigate to the specified URL
  • Capture screenshots
  • Retrieve DOM structure/snapshot (if possible)
  • If additional pages exist, traverse through navigation

2.2 Inspection Items

Layout Issues

| Issue | Description | Severity |

|——-|————-|———-|

| Element Overflow | Content overflows from parent element or viewport | High |

| Element Overlap | Unintended overlapping of elements | High |

| Alignment Issues | Grid or flex alignment problems | Medium |

| Inconsistent Spacing | Padding/margin inconsistencies | Medium |

| Text Clipping | Long text not handled properly | Medium |

Responsive Issues

| Issue | Description | Severity |

|——-|————-|———-|

| Non-mobile Friendly | Layout breaks on small screens | High |

| Breakpoint Issues | Unnatural transitions when screen size changes | Medium |

| Touch Targets | Buttons too small on mobile | Medium |

Accessibility Issues

| Issue | Description | Severity |

|——-|————-|———-|

| Insufficient Contrast | Low contrast ratio between text and background | High |

| No Focus State | Cannot determine state during keyboard navigation | High |

| Missing alt Text | No alternative text for images | Medium |

Visual Consistency

| Issue | Description | Severity |

|——-|————-|———-|

| Font Inconsistency | Mixed font families | Medium |

| Color Inconsistency | Non-unified brand colors | Medium |

| Spacing Inconsistency | Non-uniform spacing between similar elements | Low |

2.3 Viewport Testing (Responsive)

Test at the following viewports:

| Name | Width | Representative Device |

|——|——-|———————-|

| Mobile | 375px | iPhone SE/12 mini |

| Tablet | 768px | iPad |

| Desktop | 1280px | Standard PC |

| Wide | 1920px | Large display |

—

Step 3: Issue Fixing Phase

3.1 Issue Prioritization


block-beta
    columns 1
    block:priority["Priority Matrix"]
        P1["P1: Fix Immediately\n(Layout issues affecting functionality)"]
        P2["P2: Fix Next\n(Visual issues degrading UX)"]
        P3["P3: Fix If Possible\n(Minor visual inconsistencies)"]
    end

3.2 Identifying Source Files

Identify source files from problematic elements:

  • Selector-based Search
  • Search codebase by class name or ID
  • Explore style definitions with grep_search
  • Component-based Search
  • Identify components from element text or structure
  • Explore related files with semantic_search
  • File Pattern Filtering

   Style files: src/**/*.css, styles/**/*
   Components: src/components/**/*
   Pages: src/pages/**, app/**

3.3 Applying Fixes

Framework-specific Fix Guidelines

See [references/framework-fixes.md](references/framework-fixes.md) for details.

Fix Principles

  • Minimal Changes: Only make the minimum changes necessary to resolve the issue
  • Respect Existing Patterns: Follow existing code style in the project
  • Avoid Breaking Changes: Be careful not to affect other areas
  • Add Comments: Add comments to explain the reason for fixes where appropriate

—

Step 4: Re-verification Phase

4.1 Post-fix Confirmation

  • Reload browser (or wait for development server HMR)
  • Capture screenshots of fixed areas
  • Compare before and after

4.2 Regression Testing

  • Verify that fixes haven’t affected other areas
  • Confirm responsive display is not broken

4.3 Iteration Decision


flowchart TD
    A{Issues Remaining?}
    A -->|Yes| B[Return to Step 2]
    A -->|No| C[Proceed to Completion Report]

Iteration Limit: If more than 3 fix attempts are needed for a specific issue, consult the user

—

Output Format

Review Results Report


# Web Design Review Results

## Summary

| Item | Value |
|------|-------|
| Target URL | {URL} |
| Framework | {Detected framework} |
| Styling | {CSS / Tailwind / etc.} |
| Tested Viewports | Desktop, Mobile |
| Issues Detected | {N} |
| Issues Fixed | {M} |

## Detected Issues

### [P1] {Issue Title}

- **Page**: {Page path}
- **Element**: {Selector or description}
- **Issue**: {Detailed description of the issue}
- **Fixed File**: `{File path}`
- **Fix Details**: {Description of changes}
- **Screenshot**: Before/After

### [P2] {Issue Title}
...

## Unfixed Issues (if any)

### {Issue Title}
- **Reason**: {Why it was not fixed/could not be fixed}
- **Recommended Action**: {Recommendations for user}

## Recommendations

- {Suggestions for future improvements}

—

Required Capabilities

| Capability | Description | Required |

|————|————-|———-|

| Web Page Navigation | Access URLs, page transitions | ✅ |

| Screenshot Capture | Page image capture | ✅ |

| Image Analysis | Visual issue detection | ✅ |

| DOM Retrieval | Page structure retrieval | Recommended |

| File Read/Write | Source code reading and editing | Required for fixes |

| Code Search | Code search within project | Required for fixes |

—

Reference Implementation

Implementation with Playwright MCP

Playwright MCP is recommended as the reference implementation for this skill.

| Capability | Playwright MCP Tool | Purpose |

|————|———————|———|

| Navigation | browser_navigate | Access URLs |

| Snapshot | browser_snapshot | Retrieve DOM structure |

| Screenshot | browser_take_screenshot | Images for visual inspection |

| Click | browser_click | Interact with interactive elements |

| Resize | browser_resize | Responsive testing |

| Console | browser_console_messages | Detect JS errors |

Configuration Example (MCP Server)


{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest", "--caps=vision"]
    }
  }
}

Other Compatible Browser Automation Tools

| Tool | Features |

|——|———-|

| Selenium | Broad browser support, multi-language support |

| Puppeteer | Chrome/Chromium focused, Node.js |

| Cypress | Easy integration with E2E testing |

| WebDriver BiDi | Standardized next-generation protocol |

The same workflow can be implemented with these tools. As long as they provide the necessary capabilities (navigation, screenshot, DOM retrieval), the choice of tool is flexible.

—

Best Practices

DO (Recommended)

  • ✅ Always save screenshots before making fixes
  • ✅ Fix one issue at a time and verify each
  • ✅ Follow the project’s existing code style
  • ✅ Confirm with user before major changes
  • ✅ Document fix details thoroughly

DON’T (Not Recommended)

  • ❌ Large-scale refactoring without confirmation
  • ❌ Ignoring design systems or brand guidelines
  • ❌ Fixes that ignore performance
  • ❌ Fixing multiple issues at once (difficult to verify)

—

Troubleshooting

Problem: Style files not found

  • Check dependencies in package.json
  • Consider the possibility of CSS-in-JS
  • Consider CSS generated at build time
  • Ask user about styling method

Problem: Fixes not reflected

  • Check if development server HMR is working
  • Clear browser cache
  • Rebuild if project requires build
  • Check CSS specificity issues

Problem: Fixes affecting other areas

  • Rollback changes
  • Use more specific selectors
  • Consider using CSS Modules or scoped styles
  • Consult user to confirm impact scope