# Review Design

> Use when reviewing frontend implementation against design specs - design system compliance, responsive behavior, accessibility audit

- Skill: `badrusiddique/review-design` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add badrusiddique/review-design`
- Raw SKILL.md: https://api.skillmd.com/api/skills/badrusiddique/review-design/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: badrusiddique (https://skillmd.com/u/badrusiddique)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/badrusiddique/review-design

---


# Frontend Design Quality Review

**Announce:** "I'm using enggenie:review-design to review the frontend implementation."

## Overview

Review frontend code for design quality - not just "does it work" but "does it look and feel professional." Catches the gap between functional code and production-quality UI.

## Jira Ticket Entry

When the user references a Jira ticket for design review (e.g., "Check design for PROJ-1234", "Review UI on PROJ-1234"):

1. Read the Jira ticket using MCP tools
2. Find the spec link - extract Figma references, design tokens, layout requirements, and responsive breakpoints documented by PM
3. Find the "Dev Handoff" comment - extract the PR link and what was built
4. Use the spec's design requirements as the review baseline - compare implementation against what was specified, not against generic best practices alone

If Jira MCP is not available, ask: "I can't read PROJ-1234 directly. Can you share the design specs or Figma link?"

---

## What to Check

### 1. Design System Compliance

- Are design system components used where they exist? (Not custom CSS for things the system handles)
- Are spacing values from the design system tokens? (Not arbitrary px values)
- Are colors from the design system palette? (Not hardcoded hex)
- Are typography styles from the design system? (Not custom font-size/weight)

### Design Comparison Method

Since AI agents cannot directly view Figma files:
1. Check if the spec (from pm-refine) includes Figma dimensions, tokens, and layout details
2. If Figma MCP is available, use it to extract design specifications
3. If neither is available, ask the user: "Can you share the key design specs (colors, spacing, breakpoints) so I can compare?"
4. Compare extracted/provided specs against the implementation using grep for hardcoded values that should be tokens

### 2. State Coverage

Every interactive component needs ALL of these states. Missing states are the #1 sign of AI-generated UI:

| State | What to check |
|-------|--------------|
| Loading | Skeleton or spinner while data loads |
| Empty | Meaningful message when no data exists |
| Error | Clear error message with recovery action |
| Hover | Visual feedback on interactive elements |
| Focus | Visible focus ring for keyboard navigation |
| Disabled | Visually distinct, non-interactive |
| Active/Selected | Clear indication of current selection |

### 3. Responsive Behavior

- Mobile (320-767px): Single column, touch targets 44px+, no horizontal scroll
- Tablet (768-1023px): Adapted layout, readable text
- Desktop (1024px+): Full layout, efficient use of space

Test: Resize browser from 320px to 1440px. Nothing should break, overflow, or become unreadable.

### 4. Accessibility

| Check | How |
|-------|-----|
| ARIA labels | All interactive elements have accessible names |
| Keyboard navigation | Tab through every interactive element. Logical order? |
| Color contrast | Text meets WCAG 2.1 AA (4.5:1 normal, 3:1 large) |
| Screen reader | Content makes sense when read linearly |
| Focus management | Focus moves logically after interactions (modals, navigation) |
| Alt text | All images have meaningful alt text (or empty alt for decorative) |

### 5. AI Code Smell Detection

Common signs of AI-generated frontend code that looks "off":

- Generic layouts (everything centered, no visual hierarchy)
- Bootstrap/Tailwind defaults without customization
- Inconsistent spacing (some elements tight, others floating)
- Missing micro-interactions (no transitions, no hover feedback)
- Placeholder content still present
- Stock colors instead of design system palette
- No loading states (content pops in abruptly)
- No error handling in the UI

### 6. Animation and Transitions

- Transitions are smooth (150-300ms for UI, 300-500ms for page transitions)
- Animations are purposeful (guide attention, show state change)
- No janky animations (check for layout thrashing)
- Reduced motion preference respected: `prefers-reduced-motion: reduce`

## Issue Severity

| Severity | Definition | Action |
|----------|-----------|--------|
| **Critical** | Broken functionality, inaccessible content, crashes | Fix before proceeding |
| **Important** | Missing states, wrong design system tokens, poor responsive behavior | Fix before PR |
| **Minor** | Spacing inconsistencies, animation timing, micro-interaction polish | Note for follow-up |

## Review Report Format

```markdown
## Design Review: [Component/Feature]

### Design System Compliance
- [PASS/FAIL] Component usage
- [PASS/FAIL] Spacing tokens
- [PASS/FAIL] Color palette
- [PASS/FAIL] Typography

### State Coverage
- [PASS/FAIL] Loading state
- [PASS/FAIL] Empty state
- [PASS/FAIL] Error state
- [PASS/FAIL] Hover/Focus/Active states

### Responsive
- [PASS/FAIL] Mobile (320px)
- [PASS/FAIL] Tablet (768px)
- [PASS/FAIL] Desktop (1024px+)

### Accessibility
- [PASS/FAIL] ARIA labels
- [PASS/FAIL] Keyboard navigation
- [PASS/FAIL] Color contrast
- [PASS/FAIL] Screen reader

### Issues Found
1. [Severity] Description - How to fix
```

## Subagents

- **Design Reviewer subagent** (sonnet) - Reads Figma context from spec, reviews component code, checks design system usage, identifies quality gaps

**Subagent prompt template:** `agents/design-reviewer-agent.md`

## Subagent Context Preservation

When the Design Reviewer subagent completes, explicitly capture its findings back to the main conversation:

- Design system compliance results (pass/fail per category)
- State coverage gaps found
- Responsive behavior issues
- Accessibility audit results
- Specific file paths and components reviewed

Do not assume the orchestrating agent retains subagent context automatically. Extract the full review before presenting results.

---

## Recommended Model

**Primary:** sonnet
**Why:** Design review requires understanding visual patterns, accessibility standards, and responsive behavior. Sonnet provides sufficient visual reasoning capability.

This is a recommendation. Ask the user: "Confirm model selection or override?" Do not proceed until the user responds.

---

## Entry Condition

After frontend code is written (from enggenie:dev-implement FE phase).

## Exit Action

Design review passed → proceed to enggenie:qa-verify or enggenie:qa-test.

