This runs a structured design critique against your brief and built code. It's meant for the moment after you ship a feature and want to catch visual inconsistencies, accessibility gaps, or places where the implementation drifted from the design intent. The process is thorough: it reads your brief, explores every component and style file, captures responsive screenshots at mobile, tablet, and desktop widths using Playwright or browser tools, then audits visual hierarchy, token usage, and aesthetic fidelity against what you planned. Output is a prioritized refinement list saved as DESIGN_REVIEW.md. Honest take: the mandatory screenshot step makes this actually useful, not just a code linter pretending to review design.
npx -y skills add julianoczkowski/designer-skills --skill design-review --agent claude-codeInstalls into .claude/skills of the current project.
This skill runs a structured design review of what has been built, measured against the design brief and the chosen aesthetic philosophy.
CRITICAL — Visual Screenshot Capture
You MUST capture screenshots of the running application as part of every design review. Code review alone is insufficient — you need to see what the user sees. Follow the screenshot capture protocol in Step 3 below. This is not optional.
Read the brief. Look for the active feature's brief at .design/<feature-slug>/DESIGN_BRIEF.md. If multiple feature folders exist under .design/, ask the user which feature to review. If no .design/ folder exists, fall back to DESIGN_BRIEF.md in the project root. If neither exists, ask the user what the intended design direction was.
Explore the built code. Examine every component, page, and style file that was created or modified. Scan specifically for:
Capture screenshots of the running application.
This step is mandatory. Do not skip it. Do not rely only on user-provided screenshots.
Try each option in order. Use the first one that is available:
plugin-playwright-playwright MCP server is available. If it is, use it — it gives you precise control over viewport sizing, full-page captures, and file naming.cursor-ide-browser MCP server's browser_take_screenshot tool instead. It has the same core capabilities.screenshots/ folder themselves.All screenshots MUST be saved to a screenshots/ subfolder inside the feature's .design/ directory — the same folder where DESIGN_BRIEF.md and other design flow files live.
Path pattern: .design/<feature-slug>/screenshots/
If the brief lives at .design/onboarding-flow/DESIGN_BRIEF.md, screenshots go to .design/onboarding-flow/screenshots/. Create the folder if it does not exist.
If no .design/ folder exists (legacy project or standalone review), fall back to a screenshots/ folder in the project root.
Use descriptive filenames that encode what was captured:
.design/
└── onboarding-flow/
├── DESIGN_BRIEF.md
├── DESIGN_REVIEW.md
└── screenshots/
├── review-homepage-desktop-1280.png
├── review-homepage-tablet-768.png
├── review-homepage-mobile-375.png
├── review-homepage-dark-mode-desktop-1280.png
└── review-card-component-hover.png
a. Navigate to the application. Ask the user for the URL if not obvious from the project (e.g., http://localhost:3000). Use browser_navigate to open it.
b. Capture responsive breakpoints. At minimum, capture these three viewports for every key page/view:
| Breakpoint | Width × Height | Filename suffix |
|---|---|---|
| Mobile | 375 × 812 | -mobile-375 |
| Tablet | 768 × 1024 | -tablet-768 |
| Desktop | 1280 × 800 | -desktop-1280 |
Use browser_resize to set the viewport before each screenshot. Use browser_take_screenshot with fullPage: true to capture the entire scrollable page, and save with the filename parameter pointing to the screenshots/ folder.
Playwright MCP example sequence (assuming feature slug is onboarding-flow):
1. browser_navigate → { url: "http://localhost:3000" }
2. browser_resize → { width: 1280, height: 800 }
3. browser_take_screenshot → { type: "png", filename: ".design/onboarding-flow/screenshots/review-homepage-desktop-1280.png", fullPage: true }
4. browser_resize → { width: 768, height: 1024 }
5. browser_take_screenshot → { type: "png", filename: ".design/onboarding-flow/screenshots/review-homepage-tablet-768.png", fullPage: true }
6. browser_resize → { width: 375, height: 812 }
7. browser_take_screenshot → { type: "png", filename: ".design/onboarding-flow/screenshots/review-homepage-mobile-375.png", fullPage: true }
c. Capture interactive states (when relevant).
d. Capture dark mode (if the project supports it). Toggle dark mode and repeat the responsive breakpoint captures with -dark-mode in the filename.
e. Capture specific components. If the review focuses on a particular component, use the element and ref parameters to screenshot just that element.
After capturing, visually analyze each screenshot against the design brief. For each screenshot:
Reference specific screenshots by filename in the review output so findings are traceable.
Run the review checklist below. For each category, note what passes and what needs refinement. Be specific. Reference exact components, files, line numbers, and screenshot filenames.
Produce a prioritized refinement list. Group issues by severity:
Save the review as DESIGN_REVIEW.md inside the feature's .design/<feature-slug>/ folder (next to DESIGN_BRIEF.md). If no .design/ folder exists, save to the project root. Include a "Screenshots Captured" section listing all screenshots taken with their paths. Present the review directly as well if the user prefers.
prefers-color-scheme support?min-width media queries, not max-width)?# Design Review: [Feature/Page Name]
Reviewed against: DESIGN_BRIEF.md
Philosophy: [named philosophy]
Date: [date]
## Screenshots Captured
| Screenshot | Breakpoint | Description |
| -------------------------------------------- | ------------------ | --------------- |
| `screenshots/review-[page]-desktop-1280.png` | Desktop (1280×800) | [what it shows] |
| `screenshots/review-[page]-tablet-768.png` | Tablet (768×1024) | [what it shows] |
| `screenshots/review-[page]-mobile-375.png` | Mobile (375×812) | [what it shows] |
> All screenshots are in `.design/<feature-slug>/screenshots/`.
## Summary
[2-3 sentences on overall quality and the biggest finding.]
## Must Fix
1. **[Issue]**: [Specific description with file/component reference]. See [`screenshots/[relevant-screenshot].png`]. _Fix: [concrete suggestion]._
## Should Fix
1. **[Issue]**: [Description]. See [`screenshots/[relevant-screenshot].png`]. _Fix: [suggestion]._
## Could Improve
1. **[Issue]**: [Description]. _Suggestion: [idea]._
## What Works Well
[Note the strongest aspects of the implementation. This is not padding. Designers need to know what to keep doing.]
cursor/plugins
github/awesome-copilot
alirezarezvani/claude-skills
microsoft/win-dev-skills