review-design
Skill8 starsChanged 50 days agoMITView on GitHub
Performs a comprehensive UX/UI/design quality audit of a live URL or a
- Installs packages
10 other projects use a version of this.
Adopted by
Most recently taken up by
- dorian-akhs/skillstheir own version, first seen Nov 8, 2026
- CsHeng/agent-skillstheir own version, first seen Nov 4, 2026
- alo-exp/silver-bullettheir own version, first seen Nov 1, 2026
- timholy/claude_configtheir own version, first seen Oct 20, 2026
- WhorideChicken/first-playabletheir own version, first seen Oct 11, 2026
- fpindej/netrocktheir own version, first seen Oct 8, 2026
Used with
Projects with it also use review-pr.
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.
DockerSkillreview-pr
Review one or more incoming Docker documentation pull requests as a maintainer. Independently validate technical claims, assess editorial fit and information architecture, choose a verdict, and draft exact inline or PR-wide feedback behind a confirmation gate. Use for requests such as "review PR 123", "is this PR correct?", "does this information belong here?", "validate this PR", or "help review backlog PRs". Do not use to maintain or fix a PR you own; use maintain-pr for that.
Also in 3 projects that use this
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- fpindej/netrock★ 234same name
- timholy/claude_config★ 75same name
- gtrabanco/agentic-workflow★ 23same name
- alo-exp/silver-bullet★ 7same name
- CsHeng/agent-skills★ 3same name
- WhorideChicken/first-playable★ 3same name
- dirkkok101/skills★ 2same name
- herohua/skills★ 1same name
- dorian-akhs/skills★ 0same name
- Jagoda11/the-jagoda-toolkit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository53 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-browserSkill
- anything-to-skillSkill
- ci-generateSkill
- ci-localSkill
- clotho-researchSkill
- codex-imagegenSkill
- create-ruleSkill
- create-skillSkill
- db-migrateSkill
- docker-initSkill
- docs-adrSkill
- docs-checkSkill
- docs-diagramSkill
- docs-initSkill
- docs-rfcSkill
- docs-updateSkill
- env-setupSkill
- find-skillsSkill
- fix-bugSkill
- git-commitSkill
- git-create-prSkill
- gitflowSkill
- git-releaseSkill
- git-syncSkill
- i18n-checkSkill
- implement-featureSkill
- improve-skillSkill
- inject-docsSkill
- jira-cliSkill
- motion-studioSkill
- optimize-ai-setupSkill
- orchestrateSkill
- oss-launchSkill
- prd-to-issuesSkill
- product-design-specSkill
- product-design-tokensSkill
- product-prdSkill
- project-illustratorSkill
- project-plannerSkill
- refactorSkill
- renderSkill
- review-codeSkill
- review-depsSkill
- review-perfSkill
- review-planSkill
- review-securitySkill
- shipSkill
- stopslopSkill
- test-suiteSkill
- vrt-checkSkill
- wtfSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 12 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 35
When both a URL and a codebase target are supplied, it runs both and emits two separate reports.
- Distinctive: line 63
No invented standards: only reference real WCAG SCs, MD3 specs, and HIG guidance
- Very specific: line 96
Use an Explore agent (model: haiku) to detect the design system and tooling:
- Very specific: line 117
If agent-browser is missing, tell the user how to install it (npm install -g agent-browser && agent-browser install) and offer to fall back …
- Distinctive: line 121
Use TodoWrite to track progress across the 8 dimensions plus capture, consolidation, and report generation.
- Distinctive: line 151
Read the relevant criteria reference for its dimensions (criteria-foundations.md or criteria-interaction.md)
- Distinctive: line 160
After all agents complete:
- Distinctive: line 187
Before presenting, verify every finding has:
- Distinctive: line 193
No duplicates, no placeholder text ("TODO", "[example]", "lorem")
- Distinctive: line 221
If omitted, all 8 dimensions are audited.
- Distinctive: line 240
Does not modify any code or design files
- Distinctive: line 241
Does not auto-fix issues or commit changes
- Distinctive: line 242
Does not run a full automated a11y scanner (axe/pa11y), it reasons from evidence
- Very specific: line 243
Does not evaluate native mobile (SwiftUI/Compose/Flutter) static patterns (web-first.
- Distinctive: line 244
Does not guarantee 100% issue detection
“Common” is measured: kept by at least 6 in 10 of the 9 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.
Files
Design Review
Comprehensive UX/UI/design quality analysis across 8 audit dimensions, each mapped to authoritative standards. This skill only analyzes: it identifies design issues, explains findings against a cited criterion, and suggests fix approaches without making code changes.
It supports two input modes:
- Live mode: audits a running URL via the
agent-browserCLI (screenshots + DOM/accessibility snapshot). - Static mode: audits a codebase (CSS/components/design tokens) via Grep.
When both a URL and a codebase target are supplied, it runs both and emits two separate reports.
Audit Taxonomy (8 Dimensions)
| # | Dimension | Key Standards |
| 1 | Visual Hierarchy & Layout | NN/g, Refactoring UI, Laws of UX, MD3 8pt grid |
| 2 | Typography | Butterick, Refactoring UI, MD3, Apple HIG |
| 3 | Color & Theming (incl. Dark Mode) | MD3 color roles, 60-30-10, WCAG 1.4.1/1.4.3 |
| 4 | Depth & Elevation (Shadows) | MD3 elevation, Refactoring UI, Josh Comeau |
| 5 | Components & Affordance (Buttons/Icons) | MD3 buttons/icons, Apple HIG, NN/g |
| 6 | Feedback & States | NN/g visibility-of-status, MD3 state layers |
| 7 | Motion & Microinteractions | NN/g animation, Laws of UX (Doherty), MD3 motion |
| 8 | Accessibility (cross-cutting) | WCAG 2.2 AA |
Measurable criteria for dimensions 1–4 are in references/criteria-foundations.md; dimensions 5–8 are in references/criteria-interaction.md.
Anti-hallucination guidelines
Design reviews must be based on actual evidence, never assumptions. This is critical:
- Observe before claiming: never report an issue without reading the code (static) or viewing the screenshot/snapshot (live)
- Evidence-based findings: every finding cites a file path + line number (static) OR a screenshot region + DOM ref (live)
- Cite a criterion: every finding maps to a criterion ID and an authoritative citation (WCAG SC, MD3 spec, etc.)
- Measure, don't estimate: report actual values (contrast ratio, px size, ms duration), not guesses. In static mode there is no rendered page to sample from, so compute the contrast ratio from the two hex/rgb values found in the CSS/tokens with the sibling
product-design-tokensskill'sscripts/contrast.py --pair FG BG(otherwise a python3 one-liner of the WCAG relative-luminance formula, given in references/agent-prompts.md); never eyeball a ratio - Applicable-only scoring: only score dimensions that apply to the target; never penalize what cannot be observed
- State what was NOT checked: every report ends with an explicit coverage gap section
- No invented standards: only reference real WCAG SCs, MD3 specs, and HIG guidance
Review Workflow
Phase 0: Parse Arguments & Resolve Mode
Parse arguments to determine target and mode:
Arguments:
- <url>: A live URL to audit (http/https) → live mode
- <pr_number>: Files changed in a PR (e.g., "123", "#123") → static mode
- <commit_sha>: Files changed in a commit (e.g., "abc123") → static mode
- "--all" or a path or no args: Entire codebase → static mode
- "--mode [live|static|both]": Force a mode
- "--scope [dimension]": Focus on one dimension (e.g., typography, color, accessibility)Mode resolution:
- A URL argument (or
--mode live) → live audit. - A PR / commit /
--all/ path (or--mode static) → static audit. - Both a URL and a codebase target present (or
--mode both) → run both, emit two reports.
For static PR/commit scope, get changed files:
# For PR
gh pr view <pr_number> --json files --jq '.files[].path'
# For commit
git diff-tree --no-commit-id --name-only -r <commit_sha>Phase 1: Discovery
Use an Explore agent (model: haiku) to detect the design system and tooling:
Use Task tool with Explore agent (model: haiku):
- prompt: "Discover the project's design system and front-end stack:
1. Detect CSS approach: Tailwind, CSS Modules, styled-components, vanilla CSS, Sass
2. Detect component/design system: Material UI, Chakra, Radix, shadcn/ui, Ant Design, custom
3. Find design tokens: tailwind.config.*, theme files, CSS custom properties (:root { --* }), tokens.json
4. Find existing a11y tooling: eslint-plugin-jsx-a11y, axe, pa11y, Storybook a11y addon
5. Detect dark-mode support: prefers-color-scheme, .dark class, data-theme
6. List the key UI directories (components/, styles/, app/, pages/)
Return: a stack + design-system summary with the token source of truth."
- subagent_type: "Explore"Without a Task tool, run this discovery yourself inline using the same 6 steps before proceeding.
For live mode, confirm the URL is reachable and agent-browser is installed:
agent-browser --version || echo "agent-browser not installed (npm install -g agent-browser)"If agent-browser is missing, tell the user how to install it (npm install -g agent-browser && agent-browser install) and offer to fall back to static mode.
Phase 2: Initialize Progress Tracking
Use TodoWrite to track progress across the 8 dimensions plus capture, consolidation, and report generation. One todo per dimension. Without TodoWrite, narrate phase/dimension transitions in your responses instead.
Phase 3: Capture, then Spawn Parallel Audit Agents
Live mode, capture first (the agents analyze these artifacts):
mkdir -p /tmp/review-design
agent-browser open <url>
agent-browser snapshot -i > /tmp/review-design/snapshot.txt # interactive elements + a11y tree
agent-browser screenshot /tmp/review-design/page.png --full # full-page screenshot
# Optional, for inspected elements:
# agent-browser get styles @<ref> # computed CSS
# agent-browser get box @<ref> # bounding box (for touch-target size)Capture additional viewports/pages if the user names them. Always agent-browser close when done.
Then spawn 6 parallel Explore agents (model: sonnet) covering the 8 dimensions. For the full per-agent prompts (live screenshot/snapshot analysis AND static grep patterns), see references/agent-prompts.md. Without a Task tool, run the 6 dimension analyses sequentially inline yourself, one after another, using the same per-agent prompts and criteria references.
Agent assignments:
| Agent | Covers |
| Agent 1 | Visual Hierarchy + Layout & Spacing (Dimension 1) |
| Agent 2 | Typography (Dimension 2) |
| Agent 3 | Color + Dark Mode (Dimension 3) |
| Agent 4 | Depth/Shadows + Components/Affordance (Dimensions 4, 5) |
| Agent 5 | Feedback & States + Motion/Microinteractions (Dimensions 6, 7) |
| Agent 6 | Accessibility, WCAG 2.2 AA (Dimension 8, cross-cutting) |
Each agent must:
- Read the relevant criteria reference for its dimensions (criteria-foundations.md or criteria-interaction.md)
- Live: visually analyze the screenshot and cross-reference the DOM/a11y snapshot. Static: grep CSS/components/tokens for measurable failures, then read each match to verify
- Record the measured value (contrast ratio, px, ms, dp) as evidence
- Map each finding to a criterion ID + citation (WCAG SC / MD3 / HIG / NN/g)
- Classify severity (Critical/High/Medium/Low)
- Provide a concrete fix (2-3 approaches with the target value)
Phase 4: Consolidate & Analyze Findings
After all agents complete:
- Collect findings from the 6 agents.
- Deduplicate across agents (same element/criterion = one finding).
Prioritize by severity, using this table:
Severity Criteria Critical WCAG AA failure blocking use (contrast < 3:1 on text, no keyboard focus, missing form labels), unusable touch targets High WCAG AA contrast failures (< 4.5:1 body text), missing focus-visible, no reduced-motion support, broken hierarchy Medium Off-grid spacing, un-tinted shadows, weak typographic scale, missing hover/active states Low Polish: minor inconsistency, sub-optimal line length, icon-label spacing - Map to dimension: group findings under the 8 dimensions.
- Applicable-only score: for each dimension that applies, score = passed criteria / applicable criteria. Skip dimensions that cannot be observed and say so.
- Statistics: total findings, by severity, by dimension; elements/files reviewed vs. those with issues.
Phase 5: Generate Report(s)
Generate a markdown report per the template in references/report-template.md.
- Live audit →
design-report-live.md - Static audit →
design-report-static.md - Both modes → produce both files.
Phase 6: Verification & Quality Gate
Before presenting, verify every finding has:
- Evidence:
file:line(static) or screenshot region + DOM ref (live) - A measured value where one applies (ratio / px / ms / dp)
- A criterion ID + authoritative citation
- A concrete fix with the target value
- A justified severity
- No duplicates, no placeholder text ("TODO", "[example]", "lorem")
- An explicit "What Was NOT Checked" section
- Applicable-only scoring (no penalty for unobservable dimensions)
Usage
# Live audit of a running site
review-design --url https://example.com
review-design https://example.com
# Static audit of the codebase
review-design --all --mode static
review-design 123 # PR #123 changed files
review-design abc123def # a commit
# Both: live + static (two reports)
review-design https://staging.example.com --all --mode both
# Focus a single dimension
review-design --url https://example.com --scope accessibility
review-design --all --scope typographyScope Options
--scope focuses the audit on one dimension: hierarchy, layout, typography,
color, dark-mode, depth, components, feedback, motion, accessibility.
If omitted, all 8 dimensions are audited.
Additional Resources
- references/criteria-foundations.md: measurable criteria for dimensions 1-4 (hierarchy, layout, typography, color, depth)
- references/criteria-interaction.md: measurable criteria for dimensions 5-8 (components, feedback, motion, accessibility)
- references/agent-prompts.md: per-agent prompts (live + static) and grep patterns
- references/report-template.md: live and static report templates
What This Skill Does
- Audits UX/UI/design quality across 8 standards-mapped dimensions
- Works against a live URL (agent-browser) or a static codebase (grep)
- Measures real values (contrast, sizes, durations) as evidence
- Maps every finding to a criterion ID + authoritative citation
- Produces severity-ranked, fix-oriented report(s)
What This Skill Does NOT Do
- Does not modify any code or design files
- Does not auto-fix issues or commit changes
- Does not run a full automated a11y scanner (axe/pa11y), it reasons from evidence
- Does not evaluate native mobile (SwiftUI/Compose/Flutter) static patterns (web-first; future extension)
- Does not guarantee 100% issue detection
Limitations
| Limitation | Detail |
| Heuristic + measured | Combines tool measurements with expert heuristics; some judgment calls remain |
| Live mode | Needs a reachable URL and the agent-browser CLI installed |
| Static mode | Pattern-based; dynamic/runtime states may be missed |
| Screenshot analysis | Depends on render fidelity at the captured viewport |
| Expert review | Recommended for high-stakes or regulated interfaces |
Standards References
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
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.

