web-design-reviewer

bởi github

Kiểm tra trực quan và sửa lỗi thiết kế website ở cấp độ mã nguồn, bao gồm các vấn đề về responsive, khả năng tiếp cận và bố cục. Phát hiện tràn bố cục, vấn đề căn chỉnh, điểm ngắt responsive, vấn đề tương phản về khả năng tiếp cận, và sự không nhất quán về hình ảnh trên các khung nhìn di động (375px), máy tính bảng (768px), máy tính để bàn (1280px) và rộng (1920px). Hỗ trợ các trang web tĩnh, SPA (React/Vue/Angular/Svelte), framework full-stack (Next.js/Nuxt/SvelteKit) và nền tảng CMS với framework và kiểu dáng tự động...

npx skills add https://github.com/github/awesome-copilot --skill web-design-reviewer

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

  1. Target website must be running

    • Local development server (e.g., http://localhost:3000)
    • Staging environment
    • Production environment (for read-only reviews)
  2. Browser automation must be available

    • Screenshot capture
    • Page navigation
    • DOM information retrieval
  3. 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:

ItemExample Question
FrameworkAre you using React / Vue / Next.js, etc.?
Styling MethodCSS / SCSS / Tailwind / CSS-in-JS, etc.
Source LocationWhere are style files and components located?
Review ScopeSpecific 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

MethodDetectionEdit Target
Pure CSS*.css filesGlobal CSS or component CSS
SCSS/Sass*.scss, *.sassSCSS files
CSS Modules*.module.cssModule CSS files
Tailwind CSStailwind.config.*className in components
styled-componentsstyled. in codeJS/TS files
Emotion@emotion/ importsJS/TS files
CSS-in-JS (other)Inline stylesJS/TS files

Step 2: Visual Inspection Phase

2.1 Page Traversal

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

2.2 Inspection Items

Layout Issues

IssueDescriptionSeverity
Element OverflowContent overflows from parent element or viewportHigh
Element OverlapUnintended overlapping of elementsHigh
Alignment IssuesGrid or flex alignment problemsMedium
Inconsistent SpacingPadding/margin inconsistenciesMedium
Text ClippingLong text not handled properlyMedium

Responsive Issues

IssueDescriptionSeverity
Non-mobile FriendlyLayout breaks on small screensHigh
Breakpoint IssuesUnnatural transitions when screen size changesMedium
Touch TargetsButtons too small on mobileMedium

Accessibility Issues

IssueDescriptionSeverity
Insufficient ContrastLow contrast ratio between text and backgroundHigh
No Focus StateCannot determine state during keyboard navigationHigh
Missing alt TextNo alternative text for imagesMedium

Visual Consistency

IssueDescriptionSeverity
Font InconsistencyMixed font familiesMedium
Color InconsistencyNon-unified brand colorsMedium
Spacing InconsistencyNon-uniform spacing between similar elementsLow

2.3 Viewport Testing (Responsive)

Test at the following viewports:

NameWidthRepresentative Device
Mobile375pxiPhone SE/12 mini
Tablet768pxiPad
Desktop1280pxStandard PC
Wide1920pxLarge 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:

  1. Selector-based Search

    • Search codebase by class name or ID
    • Explore style definitions with grep_search
  2. Component-based Search

    • Identify components from element text or structure
    • Explore related files with semantic_search
  3. 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

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

Step 4: Re-verification Phase

4.1 Post-fix Confirmation

  1. Reload browser (or wait for development server HMR)
  2. Capture screenshots of fixed areas
  3. 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

CapabilityDescriptionRequired
Web Page NavigationAccess URLs, page transitions
Screenshot CapturePage image capture
Image AnalysisVisual issue detection
DOM RetrievalPage structure retrievalRecommended
File Read/WriteSource code reading and editingRequired for fixes
Code SearchCode search within projectRequired for fixes

Reference Implementation

Implementation with Playwright MCP

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

CapabilityPlaywright MCP ToolPurpose
Navigationbrowser_navigateAccess URLs
Snapshotbrowser_snapshotRetrieve DOM structure
Screenshotbrowser_take_screenshotImages for visual inspection
Clickbrowser_clickInteract with interactive elements
Resizebrowser_resizeResponsive testing
Consolebrowser_console_messagesDetect JS errors

Configuration Example (MCP Server)

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

Other Compatible Browser Automation Tools

ToolFeatures
SeleniumBroad browser support, multi-language support
PuppeteerChrome/Chromium focused, Node.js
CypressEasy integration with E2E testing
WebDriver BiDiStandardized 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

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

Problem: Fixes not reflected

  1. Check if development server HMR is working
  2. Clear browser cache
  3. Rebuild if project requires build
  4. Check CSS specificity issues

Problem: Fixes affecting other areas

  1. Rollback changes
  2. Use more specific selectors
  3. Consider using CSS Modules or scoped styles
  4. Consult user to confirm impact scope

Thêm skills từ github

console-rendering
github
Hướng dẫn sử dụng hệ thống kết xuất console dựa trên thẻ struct trong Go
official
acquire-codebase-knowledge
github
Sử dụng kỹ năng này khi người dùng yêu cầu rõ ràng để lập bản đồ, tài liệu hóa hoặc làm quen với một mã nguồn hiện có. Kích hoạt cho các lời nhắc như "lập bản đồ mã nguồn này", "tài liệu hóa…
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
Tạo tệp hướng dẫn AI agent tùy chỉnh thông qua lệnh hướng dẫn AgentRC. Tạo ra tệp .github/copilot-instructions.md (mặc định, được khuyến nghị cho Copilot trong VS…)
official
acreadiness-policy
github
Giúp người dùng chọn, viết hoặc áp dụng chính sách AgentRC. Chính sách tùy chỉnh điểm sẵn sàng bằng cách tắt các kiểm tra không liên quan, ghi đè mức độ tác động/cấp độ, thiết lập…
official
add-educational-comments
github
Thêm các bình luận giáo dục vào các tệp mã để biến chúng thành tài liệu học tập hiệu quả. Điều chỉnh độ sâu giải thích và giọng điệu theo ba cấp độ kiến thức có thể cấu hình: sơ cấp, trung cấp và nâng cao. Tự động yêu cầu một tệp nếu không có tệp nào được cung cấp, với danh sách đánh số để chọn nhanh. Mở rộng tệp lên tới 125% chỉ bằng các bình luận giáo dục (giới hạn cứng: 400 dòng mới; 300 dòng cho tệp trên 1.000 dòng). Bảo toàn mã hóa tệp, kiểu thụt lề, tính đúng đắn cú pháp và...
official
adobe-illustrator-scripting
github
Viết, gỡ lỗi và tối ưu hóa các tập lệnh tự động hóa Adobe Illustrator bằng ExtendScript (JavaScript/JSX). Sử dụng khi tạo hoặc sửa đổi các tập lệnh thao tác…
official
agent-governance
github
Các chính sách khai báo, phân loại ý định và nhật ký kiểm toán để kiểm soát quyền truy cập và hành vi công cụ của tác nhân AI. Các chính sách quản trị có thể kết hợp xác định công cụ được phép/bị chặn, bộ lọc nội dung, giới hạn tốc độ và yêu cầu phê duyệt — được lưu trữ dưới dạng cấu hình, không phải mã. Phân loại ý định ngữ nghĩa phát hiện các lời nhắc nguy hiểm (rò rỉ dữ liệu, leo thang đặc quyền, tiêm lời nhắc) trước khi thực thi công cụ bằng tín hiệu dựa trên mẫu. Trình trang trí quản trị cấp công cụ thực thi các ch
official