Files
gh-madappgang-claude-code-p…/skills/ui-implementer/SKILL.md
2025-11-30 08:38:57 +08:00

13 KiB

name, description, allowed-tools
name description allowed-tools
ui-implementer Implements UI components from scratch based on design references (Figma, screenshots, mockups) with intelligent validation and adaptive agent switching. Use when user provides a design and wants pixel-perfect UI implementation with design fidelity validation. Triggers automatically when user mentions Figma links, design screenshots, or wants to implement UI from designs. Task, AskUserQuestion, Bash, Read, TodoWrite, Glob, Grep

UI Implementer

This Skill implements UI components from scratch based on design references using specialized UI development agents with intelligent validation and adaptive agent switching for optimal results.

When to use this Skill

Claude should invoke this Skill when:

Design References Provided:

  • User shares a Figma URL (e.g., "Here's the Figma design: https://figma.com/...")
  • User provides a screenshot/mockup path (e.g., "I have a design at /path/to/design.png")
  • User mentions a design URL they want to implement

Intent to Implement UI:

  • "Implement this UI design"
  • "Create components from this Figma file"
  • "Build this interface from the mockup"
  • "Make this screen match the design"

Pixel-Perfect Requirements:

  • "Make it look exactly like the design"
  • "Implement pixel-perfect from Figma"
  • "Match the design specifications exactly"

Examples of User Messages:

  • "Here's a Figma link, can you implement the UserProfile component?"
  • "I have a design screenshot, please create the dashboard layout"
  • "Implement this navbar from the mockup at designs/navbar.png"
  • "Build the product card to match this Figma: https://figma.com/..."

DO NOT use this Skill when:

  • User just wants to validate existing UI (use browser-debugger or /validate-ui instead)
  • User wants to fix existing components (use regular developer agent)
  • User wants to implement features without design reference (use regular implementation flow)

Instructions

This Skill implements the same workflow as the /implement-ui command. Follow these phases:

PHASE 0: Initialize Workflow

Create a global todo list to track progress:

TodoWrite with:
- PHASE 1: Gather inputs (design reference, component description, preferences)
- PHASE 1: Validate inputs and find target location
- PHASE 2: Launch UI Developer for initial implementation
- PHASE 3: Start validation and iterative fixing loop
- PHASE 3: Quality gate - ensure design fidelity achieved
- PHASE 4: Generate final implementation report
- PHASE 4: Present results and complete handoff

PHASE 1: Gather User Inputs

Step 1: Extract Design Reference

Check if user already provided design reference in their message:

  • Scan for Figma URLs: https://figma.com/design/... or https://figma.com/file/...
  • Scan for file paths: /path/to/design.png, ~/designs/mockup.jpg
  • Scan for remote URLs: http://example.com/design.png

If design reference found in user's message:

  • Extract and store as design_reference
  • Log: "Design reference detected: [design_reference]"

If NOT found, ask:

I'd like to implement UI from your design reference.

Please provide the design reference:
1. Figma URL (e.g., https://figma.com/design/abc123.../node-id=136-5051)
2. Screenshot file path (local file on your machine)
3. Remote URL (live design reference)

What is your design reference?

Step 2: Extract Component Description

Check if user mentioned what to implement:

  • Look for component names: "UserProfile", "navbar", "dashboard", "ProductCard"
  • Look for descriptions: "implement the header", "create the sidebar", "build the form"

If found:

  • Extract and store as component_description

If NOT found, ask:

What UI component(s) should I implement from this design?

Examples:
- "User profile card component"
- "Navigation header with mobile menu"
- "Product listing grid with filters"
- "Dashboard layout with widgets"

What component(s) should I implement?

Step 3: Ask for Target Location

Ask:

Where should I create this component?

Options:
1. Provide a specific directory path (e.g., "src/components/profile/")
2. Let me suggest based on component type
3. I'll tell you after seeing the component structure

Where should I create the component files?

Store as target_location.

Step 4: Ask for Application URL

Ask:

What is the URL where I can preview the implementation?

Examples:
- http://localhost:5173 (Vite default)
- http://localhost:3000 (Next.js/CRA default)
- https://staging.yourapp.com

Preview URL?

Store as app_url.

Step 5: Ask for UI Developer Codex Preference

Use AskUserQuestion:

Enable intelligent agent switching with UI Developer Codex?

When enabled:
- If UI Developer struggles (2 consecutive failures), switches to UI Developer Codex
- If UI Developer Codex struggles (2 consecutive failures), switches back
- Provides adaptive fixing with both agents for best results

Enable intelligent agent switching?

Options:

  • "Yes - Enable intelligent agent switching"
  • "No - Use only UI Developer"

Store as codex_enabled (boolean).

Step 6: Validate Inputs

Validate all inputs using the same logic as /implement-ui command:

  • Design reference format (Figma/Remote/Local)
  • Component description not empty
  • Target location valid
  • Application URL valid

PHASE 2: Initial Implementation from Scratch

Launch UI Developer agent using Task tool with subagent_type: frontend:ui-developer:

Implement the following UI component(s) from scratch based on the design reference.

**Design Reference**: [design_reference]
**Component Description**: [component_description]
**Target Location**: [target_location]
**Application URL**: [app_url]

**Your Task:**

1. **Analyze the design reference:**
   - If Figma: Use Figma MCP to fetch design screenshot and specs
   - If Remote URL: Use Chrome DevTools MCP to capture screenshot
   - If Local file: Read the file to view design

2. **Plan component structure:**
   - Determine component hierarchy
   - Identify reusable sub-components
   - Plan file structure (atomic design principles)

3. **Implement UI components from scratch using modern best practices:**
   - React 19 with TypeScript
   - Tailwind CSS 4 (utility-first, static classes only, no @apply)
   - Mobile-first responsive design
   - Accessibility (WCAG 2.1 AA, ARIA attributes)
   - Use existing design system components if available

4. **Match design reference exactly:**
   - Colors (Tailwind theme or exact hex)
   - Typography (families, sizes, weights, line heights)
   - Spacing (Tailwind scale: p-4, p-6, etc.)
   - Layout (flexbox, grid, alignment)
   - Visual elements (borders, shadows, border-radius)
   - Interactive states (hover, focus, active, disabled)

5. **Create component files in target location:**
   - Use Write tool to create files
   - Follow project conventions
   - Include TypeScript types
   - Add JSDoc comments

6. **Ensure code quality:**
   - Run typecheck: `npx tsc --noEmit`
   - Run linter: `npm run lint`
   - Run build: `npm run build`
   - Fix any errors

7. **Provide implementation summary:**
   - Files created
   - Components implemented
   - Key decisions
   - Any assumptions

Return detailed implementation summary when complete.

Wait for UI Developer to complete.

PHASE 3: Validation and Adaptive Fixing Loop

Initialize loop variables:

iteration_count = 0
max_iterations = 10
previous_issues_count = None
current_issues_count = None
last_agent_used = None
ui_developer_consecutive_failures = 0
codex_consecutive_failures = 0
design_fidelity_achieved = false

Loop: While iteration_count < max_iterations AND NOT design_fidelity_achieved

Step 3.1: Launch Designer for Validation

Use Task tool with subagent_type: frontend:designer:

Review the implemented UI component against the design reference.

**Iteration**: [iteration_count + 1] / 10
**Design Reference**: [design_reference]
**Component Description**: [component_description]
**Implementation Files**: [List of files]
**Application URL**: [app_url]

**Your Task:**
1. Fetch design reference screenshot
2. Capture implementation screenshot at [app_url]
3. Perform comprehensive design review:
   - Colors & theming
   - Typography
   - Spacing & layout
   - Visual elements
   - Responsive design
   - Accessibility (WCAG 2.1 AA)
   - Interactive states

4. Document ALL discrepancies
5. Categorize by severity (CRITICAL/MEDIUM/LOW)
6. Provide actionable fixes with code snippets
7. Calculate design fidelity score (X/60)

8. **Overall assessment:**
   - PASS ✅ (score >= 54/60)
   - NEEDS IMPROVEMENT ⚠️ (score 40-53/60)
   - FAIL ❌ (score < 40/60)

Return detailed design review report.

Step 3.2: Check if Design Fidelity Achieved

Extract from designer report:

  • Overall assessment
  • Issue count
  • Design fidelity score

If assessment is "PASS":

  • Set design_fidelity_achieved = true
  • Exit loop (success)

Step 3.3: Determine Fixing Agent (Smart Switching Logic)

function determineFix ingAgent() {
  // If Codex not enabled, always use UI Developer
  if (!codex_enabled) return "ui-developer"

  // Smart switching based on consecutive failures
  if (ui_developer_consecutive_failures >= 2) {
    // UI Developer struggling - switch to Codex
    return "ui-developer-codex"
  }

  if (codex_consecutive_failures >= 2) {
    // Codex struggling - switch to UI Developer
    return "ui-developer"
  }

  // Default: UI Developer (or continue with last successful)
  return last_agent_used || "ui-developer"
}

Step 3.4: Launch Fixing Agent

If fixing_agent == "ui-developer":

  • Use Task with subagent_type: frontend:ui-developer
  • Provide designer feedback
  • Request fixes

If fixing_agent == "ui-developer-codex":

  • Use Task with subagent_type: frontend:ui-developer-codex
  • Prepare complete prompt with designer feedback + current code
  • Request expert fix plan

Step 3.5: Update Metrics and Loop

// Check if progress was made
const progress_made = (current_issues_count < previous_issues_count)

if (progress_made) {
  // Success! Reset counters
  ui_developer_consecutive_failures = 0
  codex_consecutive_failures = 0
} else {
  // No progress - increment failure counter
  if (last_agent_used === "ui-developer") {
    ui_developer_consecutive_failures++
  } else if (last_agent_used === "ui-developer-codex") {
    codex_consecutive_failures++
  }
}

// Update for next iteration
previous_issues_count = current_issues_count
iteration_count++

Continue loop until design fidelity achieved or max iterations reached.

PHASE 4: Final Report & Completion

Generate comprehensive implementation report:

# UI Implementation Report

## Component Information
- Component: [component_description]
- Design Reference: [design_reference]
- Location: [target_location]
- Preview: [app_url]

## Implementation Summary
- Files Created: [count]
- Components: [list]

## Validation Results
- Iterations: [count] / 10
- Final Status: [PASS/NEEDS IMPROVEMENT/FAIL]
- Design Fidelity Score: [score] / 60
- Issues: [count]

## Agent Performance
- UI Developer: [iterations, successes]
- UI Developer Codex: [iterations, successes] (if enabled)
- Agent Switches: [count] times

## Quality Metrics
- Design Fidelity: [Pass/Needs Improvement]
- Accessibility: [WCAG compliance]
- Responsive: [Mobile/Tablet/Desktop]
- Code Quality: [TypeScript/Lint/Build status]

## How to Use
[Preview instructions]
[Component location]
[Example usage]

## Outstanding Items
[List any remaining issues or recommendations]

Present results to user and offer next actions.

Orchestration Rules

Smart Agent Switching:

  • Track consecutive failures independently for each agent
  • Switch after 2 consecutive failures (no progress)
  • Reset counters when progress is made
  • Log all switches with reasons
  • Balance UI Developer (speed) with UI Developer Codex (expertise)

Loop Prevention:

  • Maximum 10 iterations before asking user
  • Track progress at each iteration (issue count)
  • Ask user for guidance if limit reached

Quality Gates:

  • Design fidelity score >= 54/60 for PASS
  • All CRITICAL issues must be resolved
  • Accessibility compliance required

Success Criteria

Complete when:

  1. UI component implemented from scratch
  2. Designer validated against design reference
  3. Design fidelity score >= 54/60
  4. All CRITICAL issues resolved
  5. Accessibility compliant (WCAG 2.1 AA)
  6. Responsive (mobile/tablet/desktop)
  7. Code quality passed (typecheck/lint/build)
  8. Comprehensive report provided
  9. User acknowledges completion

Notes

  • This Skill wraps the /implement-ui command workflow
  • Use proactively when user provides design references
  • Implements from scratch (not for fixing existing UI)
  • Smart switching maximizes success rate
  • All work on unstaged changes until user approves
  • Maximum 10 iterations with user escalation