Files
gh-alekspetrov-navigator/skills/product-design
2025-11-29 17:51:59 +08:00
..
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00
2025-11-29 17:51:59 +08:00

Product Design Skill

Automate Figma design handoff with Navigator's intelligent design system integration.

Time Savings: 6-10 hours → 15 minutes (95% reduction)


Features

Direct Figma MCP Integration - Python connects directly to Figma Desktop (no manual orchestration) 🎯 Progressive Refinement - Smart token usage (fetches only needed data) 🔄 Design Token Sync - Auto-extract variables in W3C DTCG format 🗺️ Component Mapping - Figma → codebase with similarity detection 📊 Drift Detection - Compare design vs implementation automatically 📝 Task Generation - Phased implementation plans for Navigator


Quick Start

1. Install

cd skills/product-design
./setup.sh

What this does:

  • Checks Python 3.10+ installed
  • Creates virtual environment
  • Installs mcp SDK (1.2.1+)
  • Verifies Figma Desktop connection
  • Tests MCP server availability

Expected output:

✅ Setup Complete!

2. Enable Figma MCP

  1. Open Figma Desktop
  2. Go to Figma → Preferences
  3. Enable "Enable local MCP Server"
  4. Confirm server running at http://127.0.0.1:3845/mcp

3. Use the Skill

User: "Review this Figma design: https://figma.com/file/ABC123..."

Navigator will:

  1. Connect to Figma MCP automatically
  2. Extract design tokens and components
  3. Compare against codebase
  4. Generate implementation plan
  5. Create Navigator task document

Architecture

Before (Manual Orchestration)

User → Claude → MCP tools (15-20 manual calls) → temp files → Python → Claude → User

Time: 15-20 orchestration steps

After (Direct MCP Client)

User → Python (MCP client) → Figma Desktop → Results → User

Time: 1 step (95% reduction)

How It Works

# Python functions now connect directly to Figma
from figma_mcp_client import FigmaMCPClient

async with FigmaMCPClient() as client:
    # Smart data fetching
    metadata = await client.get_metadata()
    components = extract_components(metadata)

    # Progressive refinement - fetch details only if needed
    for comp in high_complexity_components:
        detail = await client.get_design_context(comp['id'])

    # Get design tokens
    tokens = await client.get_variable_defs()

Benefits:

  • No Claude orchestration overhead
  • Automatic connection management
  • Progressive refinement (token efficient)
  • Built-in error handling

Available Tools

Figma MCP Tools (Auto-Connected)

Tool Purpose Use Case
get_metadata Component structure (XML) Discover node IDs, hierarchy
get_variable_defs Design tokens Token extraction, sync
get_code_connect_map Component → code mapping Auto-map Figma to codebase
get_design_context UI code generation Component implementation
get_screenshot Visual snapshots Visual regression testing
create_design_system_rules Design system automation Rule generation

Python Functions

Function Purpose Input Output
design_analyzer.py Extract design patterns Figma URL/data Component list
token_extractor.py Convert to DTCG format Variables JSON DTCG tokens + diff
component_mapper.py Map components Figma + codebase Mappings with confidence
design_system_auditor.py Detect drift Design + code Drift report
implementation_planner.py Generate task doc Analysis results Navigator task

Documentation


Requirements

System

  • Python 3.10+
  • Figma Desktop v116.0.0+
  • macOS, Linux, or Windows

Python Packages

mcp>=1.2.1          # Official MCP SDK
anyio>=4.0.0        # Async I/O
httpx>=0.25.0       # HTTP client
pydantic>=2.0.0     # Data validation

Installed automatically via ./setup.sh

Optional

  • Figma Enterprise - For Code Connect (automatic component mapping)
  • Tailwind CSS - For design token integration
  • Storybook - For visual regression testing

Example Usage

Design Review

User: "Review dashboard redesign: https://figma.com/file/..."

Navigator:
1. Connects to Figma MCP
2. Extracts 12 design tokens, 3 new components
3. Maps to existing Button component (78% similarity)
4. Detects 5 token drift issues
5. Generates TASK-16 with phased implementation plan

Output:
  - .agent/design-system/reviews/2025-10-22-dashboard.md
  - .agent/tasks/TASK-16-dashboard-redesign.md

Token Extraction Only

# Simple token fetch
from figma_mcp_client import get_figma_variables

tokens = await get_figma_variables()
# Returns: {'primary-600': '#2563EB', 'spacing-md': '16px', ...}

Component Analysis

# Full analysis with progressive refinement
from figma_mcp_client import FigmaMCPClient

async with FigmaMCPClient() as client:
    metadata = await client.get_metadata()
    components = extract_components(metadata)

    print(f"Found {len(components)} components")
    for comp in components:
        print(f"  - {comp['name']} ({comp['type']})")

Troubleshooting

"Figma Desktop not running"

❌ Could not connect to Figma Desktop MCP server

Fix:

  1. Ensure Figma Desktop running
  2. Enable MCP: Figma → Preferences → Enable local MCP Server
  3. Verify: curl http://127.0.0.1:3845/mcp (should return JSON)

"MCP SDK not installed"

ImportError: MCP SDK not installed

Fix:

cd skills/product-design
source venv/bin/activate  # Activate venv
pip install -r requirements.txt

"Python 3.10+ required"

Fix: Install Python 3.10+

# macOS
brew install python@3.13

# Ubuntu
sudo apt install python3.13

See INSTALL.md for complete troubleshooting guide.


Performance

Benchmarks

Workflow Before After Improvement
Design Review 15-20 min 5 min 75% faster
Token Extraction Manual (30 min) Automated (1 min) 97% faster
Component Mapping Manual (2 hours) Automated (2 min) 98% faster
Orchestration Steps 15-20 steps 1 step 95% reduction

Token Efficiency

Approach Tokens Improvement
Old (manual orchestration) 150k Baseline
New (direct MCP client) 12k 92% reduction

Progressive refinement only fetches needed data.


Version History

v1.1.0 (2025-10-22) - MCP Direct Integration

Breaking Changes:

  • Python now requires mcp>=1.2.1 (install via ./setup.sh)
  • Figma Desktop with MCP enabled required for automated workflow

New Features:

  • Direct Python → Figma MCP client (no Claude orchestration)
  • Progressive refinement (smart token usage)
  • Automatic connection management
  • ./setup.sh automated installation
  • figma_mcp_client.py wrapper class

Improvements:

  • 95% reduction in orchestration overhead (15-20 steps → 1)
  • 92% reduction in token usage (150k → 12k)
  • Built-in error handling and retries
  • Better MCP connection diagnostics

Migration:

cd skills/product-design
./setup.sh  # Installs new dependencies

v1.0.0 (2025-10-21) - Initial Release

  • Design analysis and token extraction
  • Component mapping with similarity detection
  • Design system drift detection
  • Implementation plan generation

Support

Documentation: See INSTALL.md and SKILL.md

Issues: Report at https://github.com/navigator-plugin/navigator/issues

Requirements for issue reports:

  • Python version: python3 --version
  • Figma version: Figma → Help → About Figma
  • Output from: python3 functions/test_mcp_connection.py
  • Full error message and stack trace

License

MIT License - Part of Navigator Plugin


Navigator Version: 3.3.1 Skill Version: 1.1.0 MCP SDK Version: 1.2.1+ Last Updated: 2025-10-22