# Navigator Product Design Skill - Installation Guide

> Quick setup guide for the product-design skill with Figma MCP integration.

- Skill: `tools-only/navigator-product-design-skill-installation-guide` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/navigator-product-design-skill-installation-guide`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/navigator-product-design-skill-installation-guide/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-29
- Page: https://skillmd.com/skills/tools-only/navigator-product-design-skill-installation-guide

---

# Navigator Product Design Skill - Installation Guide

Quick setup guide for the product-design skill with Figma MCP integration.

---

## Prerequisites

### Required

1. **Python 3.10+**
   ```bash
   python3 --version  # Should be 3.10 or higher
   ```

2. **Figma Desktop App**
   - Download: https://www.figma.com/downloads/
   - Must be running during design reviews

3. **Figma Account**
   - Free or paid account
   - Logged into Figma Desktop

### Optional (Enhanced Features)

- **Figma Enterprise** - For Code Connect mappings (automatic component detection)
- **Tailwind CSS** - For design token integration
- **Storybook** - For visual regression testing

---

## Installation Methods

### Method 1: Automatic Setup (Recommended)

Run the automated setup script:

```bash
cd skills/product-design
./setup.sh
```

This will:
1. ✅ Check Python version (3.10+ required)
2. ✅ Create virtual environment
3. ✅ Install dependencies (`mcp>=1.2.1`)
4. ✅ Verify Figma Desktop is running
5. ✅ Test MCP connection

**Expected output**:
```
==========================================
Navigator Product Design Skill - Setup
==========================================

[1/5] Checking Python version...
✅ Python 3.13.7

[2/5] Setting up Python environment...
✅ Virtual environment created

[3/5] Installing Python dependencies...
✅ Dependencies installed (mcp>=1.2.1)

[4/5] Checking Figma Desktop status...
✅ Figma MCP server detected (port 3845)

[5/5] Testing Figma MCP connection...
✅ Successfully connected to Figma MCP server
   Found 6 tools:
     - get_design_context
     - get_variable_defs
     - get_code_connect_map
     - get_screenshot
     - get_metadata
     - create_design_system_rules

==========================================
✅ Setup Complete!
==========================================
```

---

### Method 2: Manual Installation

If the automatic script fails or you prefer manual setup:

#### Step 1: Install Python Dependencies

```bash
cd skills/product-design

# Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt
```

#### Step 2: Enable Figma MCP Server

1. Open **Figma Desktop** app
2. Go to **Figma → Preferences** (macOS) or **File → Settings** (Windows/Linux)
3. Find "**Enable local MCP Server**" option
4. Toggle **ON**
5. You should see confirmation: "MCP server running at http://127.0.0.1:3845/mcp"

#### Step 3: Verify Connection

```bash
cd functions
python3 test_mcp_connection.py
```

**Expected output**:
```
✅ Successfully connected to Figma MCP server
   Found 6 tools:
     - get_design_context
     - get_variable_defs
     - ...
```

---

## Troubleshooting

### "Figma Desktop not running or MCP not enabled"

**Symptoms**:
```
❌ Figma Desktop not running or MCP not enabled
   Could not connect to Figma Desktop MCP server.
```

**Solutions**:

1. **Check Figma is running**:
   ```bash
   # macOS
   ps aux | grep Figma

   # Should show Figma processes
   ```

2. **Enable MCP server**:
   - Figma → Preferences → Enable local MCP Server
   - Look for confirmation message

3. **Verify port is open**:
   ```bash
   curl http://127.0.0.1:3845/mcp

   # Should return JSON response (even if error)
   # Example: {"jsonrpc":"2.0","error":{"code":-32001,"message":"Invalid sessionId"},"id":null}
   ```

4. **Check Figma version**:
   - MCP requires Figma Desktop v116.0.0+
   - Update if necessary: Figma → Help → Check for Updates

---

### "MCP SDK not installed"

**Symptoms**:
```
ImportError: MCP SDK not installed. Install with: pip install mcp
```

**Solutions**:

1. **Activate virtual environment** (if using):
   ```bash
   source skills/product-design/venv/bin/activate
   ```

2. **Install dependencies**:
   ```bash
   pip install -r requirements.txt
   ```

3. **Verify installation**:
   ```bash
   python3 -c "import mcp; print(mcp.__version__)"
   # Should print: 1.2.1 or higher
   ```

---

### "Python 3.10+ required"

**Symptoms**:
```
❌ Python 3.10+ required (found 3.9.6)
```

**Solutions**:

1. **Install Python 3.10+**:
   ```bash
   # macOS (Homebrew)
   brew install python@3.13

   # Ubuntu/Debian
   sudo apt install python3.13

   # Windows
   # Download from python.org
   ```

2. **Use specific Python version**:
   ```bash
   python3.13 -m venv venv
   source venv/bin/activate
   ```

---

### "Port 3845 already in use"

**Symptoms**:
- Figma MCP server won't start
- Connection errors

**Solutions**:

1. **Check what's using port 3845**:
   ```bash
   lsof -i :3845
   ```

2. **Kill conflicting process**:
   ```bash
   # If another process is using the port
   kill -9 <PID>
   ```

3. **Restart Figma Desktop**:
   - Quit Figma completely
   - Restart app
   - Re-enable MCP server

---

## Verifying Installation

### Quick Test

```bash
cd skills/product-design/functions
python3 -c "
import asyncio
from figma_mcp_client import get_figma_variables

async def test():
    try:
        # This will use currently selected node in Figma
        vars = await get_figma_variables()
        print(f'✅ Connected! Found {len(vars)} variables')
    except Exception as e:
        print(f'❌ Error: {e}')

asyncio.run(test())
"
```

### Full Test

```bash
cd skills/product-design
./setup.sh
```

---

## What Gets Installed

### Python Packages

```txt
mcp>=1.2.1          # Official MCP SDK for Figma integration
anyio>=4.0.0        # Async I/O (transitive dependency)
httpx>=0.25.0       # HTTP client (transitive dependency)
pydantic>=2.0.0     # Data validation (transitive dependency)
```

### File Structure After Installation

```
skills/product-design/
├── venv/                           # Virtual environment (created)
│   ├── bin/
│   ├── lib/
│   └── ...
├── functions/
│   ├── figma_mcp_client.py        # MCP client wrapper ✨ NEW
│   ├── test_mcp_connection.py     # Connection test ✨ NEW
│   ├── design_analyzer.py         # Existing functions (to be refactored)
│   └── ...
├── requirements.txt                # Dependencies ✨ NEW
├── setup.sh                        # Setup script ✨ NEW
├── INSTALL.md                      # This file ✨ NEW
└── SKILL.md                        # Skill documentation
```

---

## Next Steps

After successful installation:

1. **Try the skill**:
   ```
   User: "Review this Figma design: https://figma.com/file/..."
   ```

2. **Read documentation**:
   - `SKILL.md` - Complete skill guide
   - `functions/figma_mcp_client.py` - API documentation

3. **Set up design system** (optional):
   ```bash
   mkdir -p .agent/design-system/reviews
   touch .agent/design-system/design-tokens.json
   touch .agent/design-system/ui-kit-inventory.json
   ```

---

## Uninstalling

To remove the skill:

```bash
cd skills/product-design

# Remove virtual environment
rm -rf venv

# Disable MCP server in Figma
# Figma → Preferences → Disable local MCP Server
```

---

## Support

### Documentation

- **Skill Guide**: `SKILL.md`
- **MCP Client API**: `functions/figma_mcp_client.py`
- **Figma MCP Docs**: https://help.figma.com/hc/en-us/articles/32132100833559

### Common Issues

- **Connection errors**: Ensure Figma Desktop running and MCP enabled
- **Import errors**: Activate virtual environment: `source venv/bin/activate`
- **Version errors**: Upgrade Python to 3.10+

### Reporting Issues

Open issue at: https://github.com/navigator-plugin/navigator/issues

Include:
- Python version: `python3 --version`
- Figma version: Figma → Help → About Figma
- Error message and full stack trace
- Output from: `python3 functions/test_mcp_connection.py`

---

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

