web-design-reviewer

Visual inspection and source-level fixing of website design issues across responsive, accessibility, and layout concerns. Detects layout overflow, alignment problems, responsive breakpoints, accessibility contrast issues, and visual inconsistencies across mobile (375px), tablet (768px), desktop (1280px), and wide (1920px) viewports Supports static sites, SPAs (React/Vue/Angular/Svelte), full-stack frameworks (Next.js/Nuxt/SvelteKit), and CMS platforms with automatic framework and styling method detection Identifies source files by selector search and component patterns, then applies minimal fixes respecting existing code style and avoiding regressions Requires a running target website (local dev server, staging, or production) and workspace access to source code for making fixes; includes before/after screenshot comparison and iteration up to three attempts per issue

INSTALLATION
npx skills add https://github.com/github/awesome-copilot --skill web-design-reviewer
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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 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
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card