agentleFS
workshop-gbbworkshop-gbb/awesome-copilot-adventures/.github/skills/web-design-reviewer/SKILL.md

web-design-reviewer

Skill1 starsChanged 2 months agoMITView on GitHub

Inspect local or remote website design, identify layout, responsive, accessibility, and visual consistency defects, and make source-level fixes. Use when users ask to "review website design", "check the UI", "fix the layout", "find design problems", or validate a web page after changes.

15 other projects use a version of this, 12 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use results-report, daily-coding and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Galaxy-DawnSkill

    results-report

    This skill should be used when the user asks to "write an experiment report", "summarize experimental results", "do experiment retrospection", "write a results report", "写实验总结报告", "写实验复盘", or mentions turning completed experiment artifacts into a structured, decision-oriented research report. It assumes strict analysis should come from `results-analysis` first.

    Also in 3 projects that use this

  • Clay-HHKSkill

    daily-coding

    Daily coding assistant that auto-triggers when writing/modifying code, providing a core checklist.

    Also in 3 projects that use this

  • Clay-HHKSkill

    kaggle-learner

    This skill should be used when the user asks to "learn from Kaggle", "study Kaggle solutions", "analyze Kaggle competitions", or mentions Kaggle competition URLs. Provides access to extracted knowledge from winning Kaggle solutions across NLP, CV, time series, tabular, and multimodal domains.

    Also in 3 projects that use this

  • kharlamenkodevSkill

    bug-detective

    Also in 3 projects that use this

  • Google CloudSkill

    citation-verification

    Verify that citations in a document resolve to real records and that claimed titles match. Use before trusting a document's reference list.

    Also in 4 projects that use this

  • AnthropicSkill

    command-development

    This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.

    Also in 3 projects that use this

  • +2 more from Clay-HHK

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. 18 are common, 3 are distinctive, and 1 is very specific to this project.

  • 18

    Common

    Most of the 14 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

    If the URL is not provided, ask the user:

    line 109
  2. Common:

    When making fixes, gather the following information:

    line 115
  3. Common:

    If additional pages exist, traverse through navigation

    line 160
  4. Common:

    Test at the following viewports:

    line 202
  5. Common:

    Search codebase by class name or ID

    line 275
  6. Common:

    Minimal Changes: Only make the minimum changes necessary to resolve the issue

    line 297
  7. Common:

    Respect Existing Patterns: Follow existing code style in the project

    line 298
  8. Common:

    Add Comments: Add comments to explain the reason for fixes where appropriate

    line 300
  9. Common:

    Verify that fixes haven't affected other areas

    line 314
  10. Common:

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

    line 372
  11. Distinctive:

    Always save screenshots before making fixes

    line 477
  12. Common:

    Follow the project's existing code style

    line 479
  13. Distinctive:

    Document fix details thoroughly

    line 481
  14. Very specific:

    Check dependencies in package.json

    line 496
  15. Common:

    Consider the possibility of CSS-in-JS

    line 497
  16. Common:

    Consider CSS generated at build time

    line 498
  17. Common:

    Ask user about styling method

    line 499
  18. Common:

    Check if development server HMR is working

    line 503
  19. Common:

    Check CSS specificity issues

    line 506
  20. Common:

    Use more specific selectors

    line 511
  21. Common:

    Consider using CSS Modules or scoped styles

    line 512
  22. Distinctive:

    Read bundled references only when the task needs that depth.

    line 518

“Common” is measured: kept by at least 6 in 10 of the 14 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Web design reviewer

Inspect local or remote websites visually, identify layout, responsive, accessibility, and consistency defects, then make source-level fixes when the workspace contains the code.

When to invoke

  • "Review this website design."
  • "Check the UI for layout problems."
  • "Fix the responsive layout."
  • "Find design problems on this page."
  • "Validate the web design after my changes."

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 and context

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

Procedure

---
config:
  theme: base
  look: classic
  themeVariables:
    darkMode: false
    background: "#ffffff"
    primaryColor: "#f5f5f5"
    primaryTextColor: "#111111"
    primaryBorderColor: "#555555"
    secondaryColor: "#e0e0e0"
    secondaryTextColor: "#111111"
    secondaryBorderColor: "#666666"
    tertiaryColor: "#bdbdbd"
    tertiaryTextColor: "#111111"
    tertiaryBorderColor: "#444444"
    lineColor: "#444444"
    textColor: "#111111"
    mainBkg: "#f5f5f5"
    nodeBorder: "#555555"
    clusterBkg: "#ffffff"
    clusterBorder: "#999999"
    edgeLabelBackground: "#ffffff"
    actorBkg: "#e0e0e0"
    actorBorder: "#555555"
    actorTextColor: "#111111"
    actorLineColor: "#777777"
    signalColor: "#333333"
    signalTextColor: "#111111"
    labelBoxBkgColor: "#f5f5f5"
    labelBoxBorderColor: "#777777"
    labelTextColor: "#111111"
    loopTextColor: "#111111"
    activationBkgColor: "#bdbdbd"
    activationBorderColor: "#555555"
    noteBkgColor: "#f5f5f5"
    noteTextColor: "#111111"
    noteBorderColor: "#777777"
    attributeBackgroundColorOdd: "#f5f5f5"
    attributeBackgroundColorEven: "#e0e0e0"
---
flowchart TD
    accTitle: Web design review procedure
    accDescr: Information gathering leads to visual inspection, issue fixing and re-verification; remaining issues return to inspection, otherwise the review ends in a completion report.
    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"]

Legend. Rectangles are review steps; the diamond is the decision after re-verification. Solid arrows show the normal order; the labeled branches show the two outcomes.

Explanation. Inspection and fixing repeat until re-verification finds nothing left. The report is written from the verified state, not from the first pass.


Information gathering

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

Visual inspection criteria

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

Work through references/visual-checklist.md during inspection and again during post-fix verification.

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

Source-level fixing

3.1 Issue Prioritization

---
config:
  theme: base
  look: classic
  themeVariables:
    darkMode: false
    background: "#ffffff"
    primaryColor: "#f5f5f5"
    primaryTextColor: "#111111"
    primaryBorderColor: "#555555"
    secondaryColor: "#e0e0e0"
    secondaryTextColor: "#111111"
    secondaryBorderColor: "#666666"
    tertiaryColor: "#bdbdbd"
    tertiaryTextColor: "#111111"
    tertiaryBorderColor: "#444444"
    lineColor: "#444444"
    textColor: "#111111"
    mainBkg: "#f5f5f5"
    nodeBorder: "#555555"
    clusterBkg: "#ffffff"
    clusterBorder: "#999999"
    edgeLabelBackground: "#ffffff"
    actorBkg: "#e0e0e0"
    actorBorder: "#555555"
    actorTextColor: "#111111"
    actorLineColor: "#777777"
    signalColor: "#333333"
    signalTextColor: "#111111"
    labelBoxBkgColor: "#f5f5f5"
    labelBoxBorderColor: "#777777"
    labelTextColor: "#111111"
    loopTextColor: "#111111"
    activationBkgColor: "#bdbdbd"
    activationBorderColor: "#555555"
    noteBkgColor: "#f5f5f5"
    noteTextColor: "#111111"
    noteBorderColor: "#777777"
    attributeBackgroundColorOdd: "#f5f5f5"
    attributeBackgroundColorEven: "#e0e0e0"
---
flowchart TD
    accTitle: Fix priority order
    accDescr: Layout defects that affect functionality are fixed first, then visual defects that degrade the experience, then minor inconsistencies.
    P1["P1 · fix immediately<br/>layout defects affecting functionality"] --> P2["P2 · fix next<br/>visual defects degrading the experience"]
    P2 --> P3["P3 · fix if possible<br/>minor visual inconsistencies"]

Legend. Each rectangle is a priority band; the arrows show the order in which the bands are addressed.

Explanation. A defect that blocks a task outranks one that only looks wrong. Work down the bands so a long tail of cosmetic issues never delays a functional fix.

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

Re-verification

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

---
config:
  theme: base
  look: classic
  themeVariables:
    darkMode: false
    background: "#ffffff"
    primaryColor: "#f5f5f5"
    primaryTextColor: "#111111"
    primaryBorderColor: "#555555"
    secondaryColor: "#e0e0e0"
    secondaryTextColor: "#111111"
    secondaryBorderColor: "#666666"
    tertiaryColor: "#bdbdbd"
    tertiaryTextColor: "#111111"
    tertiaryBorderColor: "#444444"
    lineColor: "#444444"
    textColor: "#111111"
    mainBkg: "#f5f5f5"
    nodeBorder: "#555555"
    clusterBkg: "#ffffff"
    clusterBorder: "#999999"
    edgeLabelBackground: "#ffffff"
    actorBkg: "#e0e0e0"
    actorBorder: "#555555"
    actorTextColor: "#111111"
    actorLineColor: "#777777"
    signalColor: "#333333"
    signalTextColor: "#111111"
    labelBoxBkgColor: "#f5f5f5"
    labelBoxBorderColor: "#777777"
    labelTextColor: "#111111"
    loopTextColor: "#111111"
    activationBkgColor: "#bdbdbd"
    activationBorderColor: "#555555"
    noteBkgColor: "#f5f5f5"
    noteTextColor: "#111111"
    noteBorderColor: "#777777"
    attributeBackgroundColorOdd: "#f5f5f5"
    attributeBackgroundColorEven: "#e0e0e0"
---
flowchart TD
    accTitle: Iteration decision after re-verification
    accDescr: If issues remain the review returns to visual inspection; otherwise it proceeds to the completion report.
    A{"Issues remaining?"} -->|Yes| B["Return to step 2"]
    A -->|No| C["Proceed to the completion report"]

Legend. The diamond is the decision after re-verification; the two labeled branches are its outcomes.

Explanation. Re-verification decides whether the loop continues. Stopping before it passes leaves the defect in the product with a report that says it was reviewed.

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


Report format

## Web design review result

## 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 transitionsYes
Screenshot CapturePage image captureYes
Image AnalysisVisual issue detectionYes
DOM RetrievalPage structure retrievalRecommended
File Read/WriteSource code reading and editingRequired for fixes
Code SearchCode search within projectRequired for fixes

Browser automation options

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.


Gotchas

Do

  • 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

Do not

  • 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

Progressive disclosure and bundled resources

Read bundled references only when the task needs that depth.

  • references/visual-checklist.md: detailed inspection checklist for layout, responsive, accessibility, and visual consistency passes.
  • references/framework-fixes.md: framework-specific source fix guidance for React, Vue, Angular, Svelte, Next.js, Nuxt, SvelteKit, Tailwind CSS, CSS Modules, and CSS-in-JS.

Output template

## Web design review result

**Status:** complete | needs fixes | blocked
**Target URL:** `<http://localhost:3000 or remote URL>`
**Framework:** `<React/Vue/Angular/Svelte/Next.js/Nuxt/SvelteKit/CMS/unknown>`
**Styling:** `<CSS/SCSS/Sass/Tailwind CSS/CSS Modules/styled-components/Emotion/unknown>`
**Tested viewports:** `375px`, `768px`, `1280px`, `1920px`

| Priority | Page | Element | Issue | Evidence | Fixed file | Verification |
| --- | --- | --- | --- | --- | --- | --- |
| P1 | `<path>` | `<selector or description>` | `<overflow/overlap/contrast/focus/etc.>` | `<screenshot or DOM evidence>` | `{File path}` | `<Before/After result>` |

**Unfixed issues**
- `<issue>`: `<reason and recommended action>`

Quality gate

  • name is web-design-reviewer and matches the parent directory.
  • The target URL is reachable, including http://localhost:3000 when the local server is running.
  • Screenshots or DOM snapshots were inspected before any edit.
  • references/visual-checklist.md is used for inspection and post-fix verification when detailed review is requested.
  • references/framework-fixes.md is used before framework-specific edits.
  • Mobile 375px, tablet 768px, desktop 1280px, and wide 1920px viewports are tested when responsive behavior is in scope.
  • Fixes are minimal, source-level, and verified with screenshots or DOM evidence after reload/HMR/rebuild.
  • More than three failed fix attempts on one issue are reported instead of continuing blindly.

References

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.