UI Review
Comprehensive frontend review that orchestrates 7 Impeccable analysis dimensions via parallel
subagents. Produces a plan artifact with explicit, ready-to-apply recommendations.
Critical Rules
- Recommendations are the deliverable. The subagents produce concrete fixes (exact code changes). Present those directly -- users apply them, they don't re-run the skills.
- Small changes only. Every recommendation must be a targeted edit: a CSS value, a token swap, a copy string, a missing attribute. Never suggest structural rewrites, component replacements, or architectural changes.
- Report, don't fix. Present the full review. Never apply changes without explicit user approval.
- Browser-first. Use cursor-ide-browser MCP to visually inspect the live page before analysis.
Phase 0: Context Gathering
Design Context
Check for design context in this order:
- Current instructions -- if a Design Context section is loaded, proceed.
.impeccable.md in project root -- read it. If it has context, proceed.
- Neither exists -- read and run the teach-impeccable skill at
/Users/tomimor/.claude/plugins/cache/impeccable/impeccable/1.5.1/.claude/skills/teach-impeccable/SKILL.md before continuing.
User Input
Use the AskQuestion tool to gather:
Questions:
1. "What is the URL of the page to review?" (free text or provide the current URL)
2. "What is the quality bar?" with options: ["MVP / early stage", "Production feature", "Flagship / high polish"]
3. "Any specific focus areas?" with options: ["All dimensions", "Typography only", "Layout & spacing only", "Accessibility only", "Responsiveness only", "Copy & UX writing only", "Visual polish only", "Design critique only"]
(allow_multiple: true)
If the user already provided the URL and context in their message, skip redundant questions.
Phase 1: Visual Capture
Navigate to the page and capture its current state:
- Navigate: Use
browser_navigate to open the URL.
- Screenshot: Use
browser_take_screenshot to capture the visual state.
- Snapshot: Use
browser_snapshot to get the aria/accessibility tree.
- Source files: Ask the user which source files to review, or infer from the page structure. Read them with the Read tool.
Store all captured context -- it gets passed to every subagent.
Phase 2: Parallel Reviews
Launch subagents in parallel using the Task tool. Each subagent is readonly: true.
For each dimension, the subagent reads its Impeccable skill file, applies the assessment criteria to the captured context, and returns structured findings.
Launch ALL applicable subagents in a single message (parallel execution):
Subagent Definitions
Each subagent prompt follows this template. Replace {DIMENSION}, {SKILL_PATH}, and {CRITERIA} per dimension:
You are reviewing a frontend page for {DIMENSION} issues.
First, read the skill file at {SKILL_PATH} and follow its assessment criteria.
Also read the frontend-design base skill at:
/Users/tomimor/.claude/plugins/cache/impeccable/impeccable/1.5.1/.claude/skills/frontend-design/SKILL.md
Then analyze the page using this context:
- Design context: {design_context from .impeccable.md or instructions}
- Source files to review: {list of files and their contents}
Additional criteria to focus on:
{CRITERIA}
RULES:
- Report ONLY small, targeted fixes (a CSS value, a token, a string, a missing attribute).
- Do NOT suggest structural rewrites, component replacements, or architectural changes.
- For each finding, return EXACTLY this structure:
- location: file path and line number, or CSS selector
- severity: Critical / High / Medium / Low
- issue: what is wrong (one sentence)
- recommendation: the EXACT change to make (e.g. "Change `font-size: 14px` to `font-size: 1rem`")
- effort: trivial / small
Return findings as a numbered list. If no issues found, say "No issues found."
The 7 dimensions:
| # |
Dimension |
Skill Path |
Criteria Focus |
| 1 |
Audit |
.../skills/audit/SKILL.md |
Accessibility (contrast, ARIA, keyboard, semantics), performance (layout thrashing, expensive animations), theming (hard-coded colors, dark mode), responsive (fixed widths, touch targets), anti-patterns (AI slop tells) |
| 2 |
Critique |
.../skills/critique/SKILL.md |
Visual hierarchy, information architecture, emotional resonance, composition & balance, discoverability, typography as communication, color purpose, states & edge cases, microcopy |
| 3 |
Typography |
.../skills/typeset/SKILL.md |
Font choices (generic defaults?), type scale consistency, hierarchy clarity, readability (line length, line height), weight consistency, font loading |
| 4 |
Layout |
.../skills/arrange/SKILL.md |
Spacing system consistency, visual rhythm (tight grouping vs generous separation), grid usage, card monotony, hierarchy through space, squint test |
| 5 |
Responsive |
.../skills/adapt/SKILL.md |
Breakpoint coverage, touch targets (44px minimum), content reflow, orientation handling, input method adaptation |
| 6 |
Copy |
.../skills/clarify/SKILL.md |
Error messages, form labels, button/CTA text, empty states, loading states, help text, terminology consistency |
| 7 |
Polish |
.../skills/polish/SKILL.md |
Pixel alignment, interaction states (all 8 states), transitions & easing, icon consistency, focus indicators, reduced motion support |
All skill paths are under: /Users/tomimor/.claude/plugins/cache/impeccable/impeccable/1.5.1/.claude/skills/
The Polish subagent must also read css-polish-details.md (in this skill
directory) and apply its checklist. Append this line to the Polish subagent's prompt, after the
Impeccable skill path:
Also read the CSS polish checklist at {ui-review skill dir}/css-polish-details.md and report any
missing details: concentric border radius, tabular numbers, text-wrap balance/pretty, font
smoothing, and image outlines.
If the user selected specific focus areas in Phase 0, only launch those subagents.
Phase 3: Aggregate and Deduplicate
After all subagents return:
- Collect all findings from every subagent.
- Deduplicate: If multiple subagents flagged the same issue (e.g., "contrast too low" from audit and polish), merge into one finding. Keep the most specific recommendation.
- Assign severity: Use the highest severity any subagent gave. Severity guide:
- Critical: Blocks core functionality or violates WCAG A.
- High: Significant usability/accessibility impact, WCAG AA violation.
- Medium: Quality issues, readability concerns, inconsistencies.
- Low: Minor polish, optimization opportunities.
- Categorize: Assign each finding to one category:
accessibility / typography / layout / responsive / copy / visual-polish / design.
Phase 4: Plan Artifact
Generate the final review report following the template in review-template.md.
Present the full report to the user. Every finding must include the explicit recommendation (the exact change to make).
After presenting, ask the user: "Would you like me to apply any of these recommendations?"
Anti-Patterns
- Do NOT re-run Impeccable skills as a recommendation. The subagents already did the analysis -- their recommendations are the deliverable.
- Do NOT suggest vague fixes ("improve the contrast"). Be specific ("Change
color: #999 to color: var(--text-secondary) on line 42").
- Do NOT flag issues without explaining impact on users.
- Do NOT suggest rewrites or new components. Only small, targeted edits.
- Do NOT skip the browser inspection. Visual context is essential.
- Do NOT launch subagents sequentially. Always launch in parallel.
- Do NOT present findings without deduplication. Overlapping findings from different subagents must be merged.
1---2name: ui-review3description: Orchestrates a comprehensive frontend UI review by running parallel analysis across typography, layout, accessibility, responsiveness, copy, visual polish, and design critique. Uses browser inspection for visual context. Produces a prioritized plan of small, concrete fixes -- never rewrites. Use when the user mentions UI review, frontend review, page review, design review, visual review, audit my page, or review my UI.4---56# UI Review78Comprehensive frontend review that orchestrates 7 Impeccable analysis dimensions via parallel9subagents. Produces a plan artifact with explicit, ready-to-apply recommendations.1011## Critical Rules12131. **Recommendations are the deliverable.** The subagents produce concrete fixes (exact code changes). Present those directly -- users apply them, they don't re-run the skills.142. **Small changes only.** Every recommendation must be a targeted edit: a CSS value, a token swap, a copy string, a missing attribute. Never suggest structural rewrites, component replacements, or architectural changes.153. **Report, don't fix.** Present the full review. Never apply changes without explicit user approval.164. **Browser-first.** Use cursor-ide-browser MCP to visually inspect the live page before analysis.1718## Phase 0: Context Gathering1920### Design Context2122Check for design context in this order:231. Current instructions -- if a **Design Context** section is loaded, proceed.242. `.impeccable.md` in project root -- read it. If it has context, proceed.253. Neither exists -- read and run the **teach-impeccable** skill at `/Users/tomimor/.claude/plugins/cache/impeccable/impeccable/1.5.1/.claude/skills/teach-impeccable/SKILL.md` before continuing.2627### User Input2829Use the AskQuestion tool to gather:3031```32Questions:331. "What is the URL of the page to review?" (free text or provide the current URL)342. "What is the quality bar?" with options: ["MVP / early stage", "Production feature", "Flagship / high polish"]353. "Any specific focus areas?" with options: ["All dimensions", "Typography only", "Layout & spacing only", "Accessibility only", "Responsiveness only", "Copy & UX writing only", "Visual polish only", "Design critique only"]36 (allow_multiple: true)37```3839If the user already provided the URL and context in their message, skip redundant questions.4041## Phase 1: Visual Capture4243Navigate to the page and capture its current state:44451. **Navigate**: Use `browser_navigate` to open the URL.462. **Screenshot**: Use `browser_take_screenshot` to capture the visual state.473. **Snapshot**: Use `browser_snapshot` to get the aria/accessibility tree.484. **Source files**: Ask the user which source files to review, or infer from the page structure. Read them with the Read tool.4950Store all captured context -- it gets passed to every subagent.5152## Phase 2: Parallel Reviews5354Launch subagents in parallel using the Task tool. Each subagent is `readonly: true`.5556For each dimension, the subagent reads its Impeccable skill file, applies the assessment criteria to the captured context, and returns structured findings.5758**Launch ALL applicable subagents in a single message** (parallel execution):5960### Subagent Definitions6162Each subagent prompt follows this template. Replace `{DIMENSION}`, `{SKILL_PATH}`, and `{CRITERIA}` per dimension:6364```65You are reviewing a frontend page for {DIMENSION} issues.6667First, read the skill file at {SKILL_PATH} and follow its assessment criteria.68Also read the frontend-design base skill at:69/Users/tomimor/.claude/plugins/cache/impeccable/impeccable/1.5.1/.claude/skills/frontend-design/SKILL.md7071Then analyze the page using this context:72- Design context: {design_context from .impeccable.md or instructions}73- Source files to review: {list of files and their contents}7475Additional criteria to focus on:76{CRITERIA}7778RULES:79- Report ONLY small, targeted fixes (a CSS value, a token, a string, a missing attribute).80- Do NOT suggest structural rewrites, component replacements, or architectural changes.81- For each finding, return EXACTLY this structure:82 - location: file path and line number, or CSS selector83 - severity: Critical / High / Medium / Low84 - issue: what is wrong (one sentence)85 - recommendation: the EXACT change to make (e.g. "Change `font-size: 14px` to `font-size: 1rem`")86 - effort: trivial / small8788Return findings as a numbered list. If no issues found, say "No issues found."89```9091The 7 dimensions:9293| # | Dimension | Skill Path | Criteria Focus |94|---|-----------|-----------|----------------|95| 1 | **Audit** | `.../skills/audit/SKILL.md` | Accessibility (contrast, ARIA, keyboard, semantics), performance (layout thrashing, expensive animations), theming (hard-coded colors, dark mode), responsive (fixed widths, touch targets), anti-patterns (AI slop tells) |96| 2 | **Critique** | `.../skills/critique/SKILL.md` | Visual hierarchy, information architecture, emotional resonance, composition & balance, discoverability, typography as communication, color purpose, states & edge cases, microcopy |97| 3 | **Typography** | `.../skills/typeset/SKILL.md` | Font choices (generic defaults?), type scale consistency, hierarchy clarity, readability (line length, line height), weight consistency, font loading |98| 4 | **Layout** | `.../skills/arrange/SKILL.md` | Spacing system consistency, visual rhythm (tight grouping vs generous separation), grid usage, card monotony, hierarchy through space, squint test |99| 5 | **Responsive** | `.../skills/adapt/SKILL.md` | Breakpoint coverage, touch targets (44px minimum), content reflow, orientation handling, input method adaptation |100| 6 | **Copy** | `.../skills/clarify/SKILL.md` | Error messages, form labels, button/CTA text, empty states, loading states, help text, terminology consistency |101| 7 | **Polish** | `.../skills/polish/SKILL.md` | Pixel alignment, interaction states (all 8 states), transitions & easing, icon consistency, focus indicators, reduced motion support |102103All skill paths are under: `/Users/tomimor/.claude/plugins/cache/impeccable/impeccable/1.5.1/.claude/skills/`104105**The Polish subagent must also read [css-polish-details.md](css-polish-details.md)** (in this skill106directory) and apply its checklist. Append this line to the Polish subagent's prompt, after the107Impeccable skill path:108109```110Also read the CSS polish checklist at {ui-review skill dir}/css-polish-details.md and report any111missing details: concentric border radius, tabular numbers, text-wrap balance/pretty, font112smoothing, and image outlines.113```114115**If the user selected specific focus areas** in Phase 0, only launch those subagents.116117## Phase 3: Aggregate and Deduplicate118119After all subagents return:1201211. **Collect** all findings from every subagent.1222. **Deduplicate**: If multiple subagents flagged the same issue (e.g., "contrast too low" from audit and polish), merge into one finding. Keep the most specific recommendation.1233. **Assign severity**: Use the highest severity any subagent gave. Severity guide:124 - **Critical**: Blocks core functionality or violates WCAG A.125 - **High**: Significant usability/accessibility impact, WCAG AA violation.126 - **Medium**: Quality issues, readability concerns, inconsistencies.127 - **Low**: Minor polish, optimization opportunities.1284. **Categorize**: Assign each finding to one category: `accessibility` / `typography` / `layout` / `responsive` / `copy` / `visual-polish` / `design`.129130## Phase 4: Plan Artifact131132Generate the final review report following the template in [review-template.md](review-template.md).133134Present the full report to the user. Every finding must include the explicit recommendation (the exact change to make).135136After presenting, ask the user: "Would you like me to apply any of these recommendations?"137138## Anti-Patterns139140- Do NOT re-run Impeccable skills as a recommendation. The subagents already did the analysis -- their recommendations are the deliverable.141- Do NOT suggest vague fixes ("improve the contrast"). Be specific ("Change `color: #999` to `color: var(--text-secondary)` on line 42").142- Do NOT flag issues without explaining impact on users.143- Do NOT suggest rewrites or new components. Only small, targeted edits.144- Do NOT skip the browser inspection. Visual context is essential.145- Do NOT launch subagents sequentially. Always launch in parallel.146- Do NOT present findings without deduplication. Overlapping findings from different subagents must be merged.