From Darkroom Engineering
Validates visual and accessibility quality via Chrome DevTools – screenshots, contrast, touch targets, and mockup-vs-implement diff. Use /verify for logic checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/darkroom:qaThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
- **Screenshot first, then critique.** Always look at the actual rendered output, not just the code.
The Chrome DevTools MCP exposes browser automation as tool calls. Typical sequence:
mcp__chrome-devtools__navigate_page (type: "url", url: "http://localhost:3000") — load the pagemcp__chrome-devtools__take_snapshot — text-based a11y tree with element uids (cheap, preferred first step)mcp__chrome-devtools__take_screenshot — visual capture for reviewclick / fill / hover / press_key using the uids from the snapshotCheck for:
Common issues:
Check for:
Common issues:
Check for:
Common issues:
Check for:
Common issues:
Check for:
Common issues:
alt textaria-labeloutline: none without replacement)Check for:
Common issues:
Check for:
Use mcp__chrome-devtools__resize_page to switch between desktop (1440×900), tablet (768×1024), and mobile (375×667) viewports.
uids for interactive elements)resize_page between capturesmcp__figma__get_design_context returns structured design specs (tokens, dimensions, component props) instead of pixel-pushing screenshots. The MCP server's own instructions cover URL parsing and the design-to-code workflow.| Action | Tool |
|---|---|
| Load a URL | mcp__chrome-devtools__navigate_page { type: "url", url } |
Text a11y tree with uids (cheap) | mcp__chrome-devtools__take_snapshot |
| Screenshot | mcp__chrome-devtools__take_screenshot |
| Click an element | mcp__chrome-devtools__click { uid } |
| Fill input / select option | mcp__chrome-devtools__fill { uid, value } |
| Hover an element | mcp__chrome-devtools__hover { uid } |
| Press key (Enter, Tab, Escape, …) | mcp__chrome-devtools__press_key { key } |
| Resize viewport | mcp__chrome-devtools__resize_page { width, height } |
| Run JS in page | mcp__chrome-devtools__evaluate_script |
## QA Report: [Page/Component]
**Overall impression:** [One sentence -- first gut reaction]
**Quality score:** [1-10] / 10
### Critical Issues (fix before shipping)
1. **[Category]:** [Specific issue with exact details]
-> **Fix:** [Actionable recommendation]
### Improvements (should fix)
1. **[Category]:** [Specific issue]
-> **Fix:** [Recommendation]
### Minor Polish (nice to fix)
1. **[Category]:** [Specific issue]
-> **Fix:** [Recommendation]
### What's Working Well
- [Specific praise -- what's well-executed]
- [Another positive]
### Passed Checks
- [x] Touch targets adequate
- [x] Heading hierarchy correct
### Issues Found
- [ ] Missing alt text on hero image
-> Add alt="..." to components/hero/index.tsx:15
- [ ] Contrast too low on muted text
-> Change text-gray-400 to text-gray-500
### Recommendations
- Consider adding loading skeleton for async content
## Quick QA: [Page/Component Name]
Score: [X]/10
Top 3 fixes:
1. [Most impactful issue + fix]
2. [Second issue + fix]
3. [Third issue + fix]
Looks good: [What's working]
## Design vs Implementation Review
**Fidelity score:** [1-10] / 10
### Deviations Found
1. **[Element]:** Mockup shows [X], implementation has [Y]
Impact: [High/Medium/Low]
-> **Fix:** [How to match the mockup]
### Matching Well
- [Elements that accurately match the design]
Requires the chrome-devtools MCP server (shipped in mcp-configs/recommended.json and installed by setup.sh).
npx claudepluginhub darkroomengineering/cc-settings --plugin darkroomConducts 7-phase frontend design review with WCAG 2.1 AA accessibility checks, responsive testing, visual polish for PR reviews, UI audits, layout issues.
Reviews web app or page visual design for layout, typography, spacing, color, hierarchy, consistency, interactions, and responsiveness. Outputs polished findings report with screenshots.
Validates UI modifications through systematic visual analysis, detecting pixel-level differences, design system compliance issues, and accessibility violations.