Loading...
Loading...
Autonomous pixel-perfect UI implementation loop for Next.js/React using Figma MCP and Playwright. Converts Figma designs to production-ready components with iterative visual validation. **AUTO-TRIGGERS** on ANY request to implement Figma designs including: 'implement this Figma', 'build this page/component from Figma', 'create from Figma design', 'implement design', 'build this block', 'create component from design'. Use for: (1) Building pages/components from Figma, (2) Pixel-perfect accuracy, (3) Responsive layouts, (4) Design token conversion.
npx skill4agent add corlab-tech/skills pixel-perfect-uimcp0_get_design_context --nodeId <page-node-id>
mcp0_get_metadata --nodeId <page-node-id>.windsurf/implementation-checklist.md# Implementation Checklist: [Component/Page Name]
**Created**: [Date]
**Figma Source**: [URL or Node ID]
**Target Path**: [e.g., src/app/page.tsx or src/components/MyComponent.tsx]
**Status**: 🟡 Pending Approval
---
## 📋 Sections to Implement
[List each section identified from Figma]
1. **Section Name 1** (node-id: xxx)
2. **Section Name 2** (node-id: xxx)
3. **Section Name 3** (node-id: xxx)
...
---
## 🔄 SECTION-BY-SECTION IMPLEMENTATION
> ⚠️ **CRITICAL RULE**: For EACH section below:
> 1. First EXTRACT fresh Figma data for that specific section
> 2. Then IMPLEMENT based on that fresh extraction
> 3. Mark section complete
> 4. Move to next section
>
> **NEVER rely on old/cached Figma data. Always re-extract before implementing!**
---
### Section 1: [Section Name]
**Node ID**: [figma-node-id]
**Status**: ⬜ Not Started
#### 1.1 Extract from Figma
- [ ] mcp0_get_design_context for this section
- [ ] mcp0_get_screenshot for visual reference
- [ ] Export any images/assets needed
- [ ] Note typography, colors, spacing
#### 1.2 Implement
- [ ] Create/update component structure
- [ ] Implement desktop layout (1440px)
- [ ] Implement tablet layout (768px)
- [ ] Implement mobile layout (375px)
- [ ] Add images with Next.js Image
- [ ] Apply styles (typography, colors, spacing)
#### 1.3 Validate
- [ ] Visual check matches Figma
- [ ] Responsive on all viewports
- [ ] No horizontal scroll
✅ **Section 1 Complete**: [ ]
---
### Section 2: [Section Name]
**Node ID**: [figma-node-id]
**Status**: ⬜ Not Started
#### 2.1 Extract from Figma
- [ ] mcp0_get_design_context for this section
- [ ] mcp0_get_screenshot for visual reference
- [ ] Export any images/assets needed
- [ ] Note typography, colors, spacing
#### 2.2 Implement
- [ ] Create/update component structure
- [ ] Implement desktop layout (1440px)
- [ ] Implement tablet layout (768px)
- [ ] Implement mobile layout (375px)
- [ ] Add images with Next.js Image
- [ ] Apply styles (typography, colors, spacing)
#### 2.3 Validate
- [ ] Visual check matches Figma
- [ ] Responsive on all viewports
- [ ] No horizontal scroll
✅ **Section 2 Complete**: [ ]
---
[Repeat for each section...]
---
## 🏁 Final Validation
- [ ] All sections implemented
- [ ] Full page visual comparison
- [ ] Resource validation passed (no broken links/images)
- [ ] Production checklist complete
---
## 📝 Notes
[Add any specific notes here]
---
## ✅ Completion Summary
**Completed**: [Date when finished]
**Final Status**: [Pending/Complete].windsurf/implementation-checklist.md┌─────────────────────────────────────────────────────┐
│ SECTION WORKFLOW (repeat for each section) │
├─────────────────────────────────────────────────────┤
│ 1. 📥 EXTRACT: Get fresh Figma data for section │
│ - mcp0_get_design_context --nodeId <section-id> │
│ - mcp0_get_screenshot --nodeId <section-id> │
│ - Export images if needed │
│ │
│ 2. 🔨 IMPLEMENT: Build based on fresh extraction │
│ - Use the data you JUST extracted │
│ - Do NOT use old/cached data │
│ - Implement responsive (desktop→tablet→mobile) │
│ │
│ 3. ✅ VALIDATE: Check section matches Figma │
│ │
│ 4. 📝 UPDATE CHECKLIST: Mark items [x] complete │
│ │
│ 5. ➡️ MOVE TO NEXT SECTION │
└─────────────────────────────────────────────────────┘- [ ]- [x]w-[1728px]width: 1728pxmax-w-7xloverflow-x-hiddenmax-w-[size] mx-auto px-4 sm:px-6 lg:px-8⚠️ REMINDER: Always complete Phase 0 (Checklist Creation) before starting these steps!
# Get design context and code
mcp0_get_design_context --nodeId <node-id>
mcp0_get_variable_defs --nodeId <node-id>
mcp0_get_screenshot --nodeId <node-id>// For complex layouts, use references/layout-patterns.md
// For component patterns, use references/component-patterns.md
// For responsive patterns, use references/responsive-patterns.mdw-[1728px]width: 1728pxmax-w-7xl mx-auto px-4sm:md:lg:xl:// 1. Export from Figma
mcp0_get_screenshot --nodeId <id> --filename "hero-image.png"
// 2. Save to public/assets/
// 3. Use with Next Image
<Image src="/assets/hero-image.png" alt="..." width={...} height={...} /># Desktop validation
python scripts/visual-compare.py --viewport 1440x900
# Tablet validation
python scripts/visual-compare.py --viewport 768x1024
# Mobile validation (CRITICAL)
python scripts/visual-compare.py --viewport 375x667
# Responsive issues check
python scripts/responsive-validation.py --url <url>
# Resource validation (CRITICAL - Run before deployment)
python scripts/resource-validator.py --directory src/app --strictpython scripts/extract-and-implement.py --figma-url <url> --output-path <path>python scripts/extract-component.py --node-id <id> --component-name <name>python scripts/visual-compare.py --implementation-url <url> --figma-node <id># Validate single file
python scripts/resource-validator.py --file src/app/page.tsx
# Validate entire app (REQUIRED before production)
python scripts/resource-validator.py --directory src/app --strict --report validation-report.txtapp/[route]/page.tsxpages/[route].tsxcomponents/ui/[component].tsxpublic/assets/src/assets/styles/references/token-mapping.mdreferences/component-patterns.md