/design
Transform visual design references into actionable technical specifications. Analyze screenshots, videos, or design mockups to extract layout structure, styling details, component patterns, and implementation strategies.
Syntax
/design:describe [screenshot or video file]
How It Works
The /design:describe command uses AI vision to analyze visual content:
1. Visual Analysis
- Processes screenshot or video using multimodal AI
- Identifies UI components and layout structure
- Extracts color palette and typography
- Measures spacing, sizing, and proportions
- Detects interaction patterns (from videos)
2. Component Identification
- Recognizes common UI patterns
- Identifies component library usage (Material UI, Ant Design, etc.)
- Maps components to standard implementations
- Detects custom components
3. Style Extraction
- Extracts color values (hex, RGB)
- Identifies font families and sizes
- Measures spacing system (padding, margins)
- Detects border radius, shadows, gradients
- Analyzes layout systems (Grid, Flexbox)
4. Implementation Strategy
- Suggests appropriate tech stack
- Recommends component libraries
- Provides CSS/Tailwind implementation hints
- Identifies reusable patterns
- Estimates complexity and effort
5. Technical Specifications
- Generates detailed component breakdown
- Creates responsive design notes
- Documents state management requirements
- Lists required assets and resources
Examples
Landing Page Screenshot
/design:describe [saas-landing-hero.png]
Visual Analysis Output:
Design Analysis: SaaS Landing Hero Section
ββββββββββββββββββββββββββββββββββββββββββββ
Layout Structure:
βββ Full-width hero section (min-height: 100vh)
βββ Two-column grid layout (60/40 split at desktop)
β βββ Left: Content (headline, description, CTA)
β βββ Right: Product screenshot with floating cards
βββ Gradient background (purple-600 β indigo-900)
Typography:
βββ Headline: "Inter" font, 72px, 900 weight, -0.02em tracking
βββ Subheading: "Inter" font, 24px, 400 weight, 1.6 line-height
βββ Button: "Inter" font, 18px, 600 weight, uppercase
Color Palette:
βββ Primary: #7C3AED (purple-600)
βββ Accent: #4338CA (indigo-700)
βββ Text: #FFFFFF (white)
βββ Text Secondary: #E9D5FF (purple-200)
βββ Background: Linear gradient (135deg, #7C3AED β #312E81)
Components Identified:
βββ Navigation Bar
β βββ Logo (SVG, 40px height)
β βββ Menu Items (5 items, horizontal)
β βββ CTA Button (outlined, white border)
βββ Hero Content
β βββ Badge ("New Feature" pill)
β βββ H1 Headline (3 lines, left-aligned)
β βββ Description Paragraph (2 lines)
β βββ CTA Group (2 buttons, horizontal)
βββ Product Visual
βββ Browser mockup (screenshot container)
βββ Floating cards (3 cards, positioned absolute)
βββ Blur backdrop effects
Spacing System:
βββ Container padding: 80px (desktop), 24px (mobile)
βββ Section gap: 48px
βββ Button padding: 16px 32px
βββ Card gap: 24px
βββ Consistent 8px spacing unit
Visual Effects:
βββ Gradient background with noise texture
βββ Floating cards with shadow: 0 25px 50px -12px rgba(0,0,0,0.25)
βββ Button hover: scale(1.05) + shadow increase
βββ Backdrop blur: blur(12px) on floating cards
βββ Subtle animation: floating cards move vertically (2s ease-in-out infinite)
Responsive Behavior:
βββ Desktop (>1024px): Two-column layout
βββ Tablet (768-1023px): Stack layout, reduced font sizes
βββ Mobile (<768px): Single column, full-width CTA
βββ Navigation: Hamburger menu below 768px
Implementation Suggestions:
βββ Framework: React or Next.js
βββ Styling: Tailwind CSS with custom gradient
βββ Components: Hero, Button, Card, Badge, Navigation
βββ Libraries: Framer Motion for animations
βββ Assets Needed: Logo SVG, product screenshot, noise texture
βββ Estimated Time: 4-6 hours for pixel-perfect implementation
Accessibility Notes:
βββ Ensure sufficient color contrast (currently good)
βββ Add alt text for product screenshot
βββ Keyboard navigation for menu
βββ Focus indicators for interactive elements
βββ Reduced motion media query for animations
Mobile App Screenshot
/design:describe [mobile-app-profile.png]
Analysis Output:
Design Analysis: Mobile Profile Screen
ββββββββββββββββββββββββββββββββββββββββββββ
Device: iPhone 14 Pro (393 Γ 852 px)
Platform: iOS (status bar, rounded corners detected)
Layout Structure:
βββ Status Bar (system, 54px height)
βββ Navigation Header (60px)
β βββ Back button (left)
β βββ Title "Profile" (center)
β βββ Edit icon (right)
βββ Profile Section (auto height)
β βββ Avatar (120px circle, center)
β βββ Name (24px, center)
β βββ Bio (16px, center, gray)
β βββ Stats Row (3 columns)
βββ Action Buttons Row (2 buttons, gap 12px)
βββ Content Tabs (underline style)
βββ Grid Content (3 columns)
Design System:
βββ Colors:
β βββ Primary: #007AFF (iOS blue)
β βββ Background: #F2F2F7 (iOS light gray)
β βββ Surface: #FFFFFF (white cards)
β βββ Text Primary: #000000
β βββ Text Secondary: #8E8E93
βββ Typography:
β βββ System Font: SF Pro (iOS native)
β βββ Name: 24px, 600 weight
β βββ Stats Number: 20px, 600 weight
β βββ Labels: 14px, 400 weight
βββ Spacing:
βββ Container padding: 16px
βββ Element gap: 12px
βββ Grid gap: 2px
Components:
βββ Avatar
β βββ Size: 120px Γ 120px
β βββ Border: 4px white + 2px shadow
β βββ Centered with gradient border effect
βββ Stats Card
β βββ Three columns (equal width)
β βββ Number (large, bold) + Label (small, gray)
β βββ No borders, clean spacing
βββ Buttons
β βββ Primary: Filled (#007AFF, white text)
β βββ Secondary: Outlined (border: #007AFF)
β βββ Height: 44px (iOS touch target)
β βββ Border radius: 12px
βββ Tab Bar
βββ Underline indicator (2px, #007AFF)
βββ Active state: blue text + underline
βββ Inactive: gray text
Interaction Patterns:
βββ Pull to refresh (detected from context)
βββ Tap avatar to view full size
βββ Tab switching with slide animation
βββ Grid items tap to open detail
βββ Native iOS gestures (swipe back)
Technical Implementation:
βββ Platform: React Native or Swift/SwiftUI
βββ Navigation: Stack navigator with modal for edit
βββ State Management: Profile data, tabs state
βββ APIs: User profile, posts grid
βββ Image Handling: Avatar upload, image caching
βββ Performance: Lazy loading grid, image optimization
Similar Patterns Found:
βββ Instagram profile screen
βββ Twitter profile layout
βββ Standard iOS Settings pattern
βββ Apple HIG compliant design
Recommendations:
β Use native iOS components for authenticity
β Implement haptic feedback on interactions
β Add skeleton loaders for data fetching
β Support dark mode with adaptive colors
β Handle safe area insets properly
Design Video Analysis
/design:describe [onboarding-flow.mp4]
Video Analysis Output:
Design Analysis: Onboarding Flow Animation
ββββββββββββββββββββββββββββββββββββββββββββ
Video Duration: 15 seconds
Flow Steps: 4 screens
Transitions: Smooth slide animations (300ms ease-out)
Screen 1: Welcome (0:00 - 0:03)
βββ Hero illustration (Lottie animation)
β βββ Character waves (loop, 2s duration)
βββ Headline: "Welcome to AppName"
βββ Subheading: Brief value proposition
βββ "Get Started" button (pulsing subtle animation)
Screen 2: Feature Highlight (0:04 - 0:07)
βββ Icon animation (scale in + rotate)
βββ Feature title with typewriter effect
βββ Bullet points fade in sequentially (100ms stagger)
βββ Progress dots (2/4, animated)
βββ "Next" button + "Skip" link
Screen 3: Permissions (0:08 - 0:11)
βββ Permission icon (notifications bell)
βββ Permission request explanation
βββ "Allow" button (primary)
βββ "Not Now" button (text link)
βββ Progress dots (3/4)
Screen 4: Profile Setup (0:12 - 0:15)
βββ Avatar upload circle (dashed border animation)
βββ Name input field (focus state shown)
βββ Email input field (validation icon)
βββ "Complete Setup" button
βββ Progress dots (4/4, all filled)
Animation Details:
βββ Page Transitions:
β βββ Slide from right (incoming)
β βββ Slide to left (outgoing)
β βββ Duration: 300ms
β βββ Easing: cubic-bezier(0.4, 0.0, 0.2, 1)
βββ Element Animations:
β βββ Fade + scale for illustrations (500ms)
β βββ Staggered list items (100ms delay each)
β βββ Button pulse (2s infinite, scale 1.0 β 1.05)
β βββ Progress dots fill (200ms)
βββ Micro-interactions:
βββ Button press: scale down to 0.95
βββ Input focus: border color change + scale
βββ Skip link: underline slide animation
βββ Success checkmark: draw animation (300ms)
Design System:
βββ Colors:
β βββ Primary: #6366F1 (indigo-500)
β βββ Success: #10B981 (green-500)
β βββ Background: #F9FAFB (gray-50)
β βββ Text: #111827 (gray-900)
βββ Typography:
β βββ Headlines: "Poppins" 28px 600
β βββ Body: "Inter" 16px 400
β βββ Buttons: "Inter" 16px 600
βββ Spacing:
βββ Screen padding: 24px
βββ Element gap: 24px
βββ Button height: 56px
Technical Implementation:
βββ Framework: React Native + Reanimated
β or Framer Motion for web
βββ Animations:
β βββ Lottie for illustrations
β βββ Spring physics for transitions
β βββ Gesture handling for swipe
β βββ Progress tracking state
βββ Components:
β βββ OnboardingSlide (reusable)
β βββ AnimatedButton
β βββ ProgressDots
β βββ TypewriterText
β βββ IllustrationContainer
βββ State Management:
βββ Current step index
βββ User input values
βββ Completion status
βββ Skip/back navigation
Performance Notes:
βββ All animations run at 60 FPS
βββ No jank detected in transitions
βββ Illustrations preloaded before display
βββ Smooth gesture handling
βββ No layout shifts
Accessibility Considerations:
β Respects reduced motion preferences
β Clear focus indicators on inputs
β Skip button always visible
β Adequate touch target sizes (56px min)
β Color contrast meets WCAG AA
Similar Patterns:
βββ Duolingo onboarding
βββ Headspace intro flow
βββ Notion first-time setup
βββ Linear app walkthrough
Implementation Estimate: 8-12 hours
Complexity: Medium (animations add complexity)
When to Use /design
β Use /design for:
- Design Analysis: Understanding design decisions
- Competitive Research: Analyzing competitor interfaces
- Design Handoff: Extracting specs from mockups
- Reverse Engineering: Understanding existing designs
- Learning: Studying award-winning designs
- Pre-Implementation: Planning before coding
- Design Reviews: Documenting design patterns
- Style Guide Creation: Building design system from examples
β Donβt use /design for:
- Creating New Designs: Use
/design:goodor/design:fastinstead - Direct Implementation: Use
/design:screenshotto implement - Bug Fixes: Use
/fix:uifor fixing issues - Code Review: This is for visual analysis only
Best Practices
Provide High-Quality References
β Good:
# Clear, high-resolution screenshots
/design:describe [figma-export-2x.png]
# Full context videos
/design:describe [complete-user-flow.mp4]
# Multiple views
/design:describe [desktop-view.png] and /design:describe [mobile-view.png]
β Bad:
# Low resolution, blurry
/design:describe [blurry-screenshot.jpg]
# Cropped or partial view
/design:describe [just-a-button.png]
Ask Specific Questions
# Focus the analysis
/design:describe [dashboard.png] - focus on the data visualization components
# Compare designs
/design:describe [design-v1.png] vs [design-v2.png] - identify differences
# Extract specific details
/design:describe [hero.png] - extract exact color values and spacing
Use for Learning
# Study award-winning work
/design:describe [awwwards-winner.png] - analyze what makes this design exceptional
# Understand trends
/design:describe [modern-saas-page.png] - identify current design trends
# Learn patterns
/design:describe [stripe-dashboard.png] - document reusable patterns
Output Formats
Component Breakdown
Identified Components:
βββ Header
β βββ Type: Sticky navigation
β βββ Height: 80px
β βββ Background: rgba(255,255,255,0.8) + backdrop-blur
β βββ Children: Logo, Nav, CTA Button
βββ Hero Section
β βββ Layout: Two-column grid (1fr 1fr)
β βββ Min-height: 600px
β βββ Background: Linear gradient
βββ Feature Cards
βββ Grid: 3 columns (repeat(3, 1fr))
βββ Gap: 32px
βββ Card: Padding 40px, Border-radius 16px
Color Palette Export
/* Extracted Color System */
:root {
--primary-50: #EEF2FF;
--primary-100: #E0E7FF;
--primary-500: #6366F1;
--primary-600: #4F46E5;
--primary-900: #312E81;
--neutral-50: #F9FAFB;
--neutral-900: #111827;
--success: #10B981;
--error: #EF4444;
--warning: #F59E0B;
}
Typography System
/* Extracted Typography */
--font-primary: 'Inter', sans-serif;
--font-display: 'Poppins', sans-serif;
--text-xs: 0.75rem; /* 12px */
--text-sm: 0.875rem; /* 14px */
--text-base: 1rem; /* 16px */
--text-lg: 1.125rem; /* 18px */
--text-xl: 1.25rem; /* 20px */
--text-2xl: 1.5rem; /* 24px */
--text-4xl: 2.25rem; /* 36px */
Spacing Scale
/* Extracted Spacing System */
--space-1: 0.25rem; /* 4px */
--space-2: 0.5rem; /* 8px */
--space-3: 0.75rem; /* 12px */
--space-4: 1rem; /* 16px */
--space-6: 1.5rem; /* 24px */
--space-8: 2rem; /* 32px */
--space-12: 3rem; /* 48px */
--space-16: 4rem; /* 64px */
Advanced Analysis
Design System Extraction
/design:describe [multiple-screens/*.png] - extract complete design system with colors, typography, components, and spacing
Generates comprehensive design system documentation with:
- Complete color palette
- Typography scale
- Component library
- Spacing system
- Grid system
- Breakpoints
Competitive Analysis
/design:describe [competitor-landing/*.png] - compare design approaches across 5 competitors
Generates comparison report:
- Common patterns identified
- Unique differentiators
- Best practices observed
- Improvement opportunities
Animation Specification
/design:describe [interaction-video.mp4] - document all animations with timing and easing functions
Generates animation specification:
- Transition durations
- Easing curves
- Trigger events
- Sequence timing
- Implementation code
Integration Workflow
Design β Implementation
# 1. Analyze design
/design:describe [design-mockup.png]
# 2. Review specifications
# (Read generated analysis)
# 3. Implement based on specs
/design:screenshot [design-mockup.png]
# 4. Compare result
/fix:ui [screenshot-comparison] - adjust any differences
Learning Workflow
# 1. Find inspiring design
# (Browse Dribbble, Awwwards, etc.)
# 2. Analyze thoroughly
/design:describe [inspiring-design.png]
# 3. Document patterns
# (Save analysis to design system docs)
# 4. Apply learnings
/design:good [implement similar pattern for our product]
Next Steps
- /design - Implement the analyzed design
- /design - Create similar high-quality design
- /design - Quick prototype based on analysis
- /docs - Document extracted design system
Key Takeaway: /design:describe transforms visual references into actionable specifications, extracting every design detail from colors to animations. Use it to understand, learn from, and document great design before implementation.