AgentSkillsCN

figma-extract

通过 MCP 工具从 Figma 文件中提取设计规范与设计令牌。适用于从 Figma 中提取设计元素、提取配色方案与字体风格,或将 Figma 转换为设计规范。本技能可通过关键词触发,例如“Figma 提取”、“Figma URL”、“Figma 令牌”、“拉取 Figma”、“Figma 设计”等。

SKILL.md
--- frontmatter
name: figma-extract
description: Extract design specifications and tokens from Figma files via MCP. Use when pulling design from Figma, extracting colors/typography, or converting Figma to spec. Triggers on keywords like "figma extract", "figma url", "figma tokens", "pull figma", "figma design".
infer: true
allowed-tools: Read, Write, mcp__figma__*

Figma Extraction

Extract design specifications from Figma files using MCP integration.

When to Use

  • Figma URL provided for design extraction
  • Need design tokens from Figma
  • Converting Figma to implementation spec

Pre-Workflow

Activate Skills

  • Activate design-spec skill for design extraction best practices

Arguments

ArgRequiredDefaultDescription
urlYes-Figma design URL
outputNomarkdownmarkdown | json
depthNo5Hierarchy depth 1-10
timeoutNo30Seconds

Workflow

  1. Parse URL

    • Extract file key from URL
    • Extract node ID if present (?node-id=X:Y)
    • Pattern: figma.com/(design|file)/([a-zA-Z0-9]+)
  2. Validate MCP

    • Check if Figma MCP tools available
    • If not: return error with setup instructions
  3. Extract via MCP

    • Call Figma MCP with file key
    • If node ID: filter to specific node
    • Apply timeout (default 30s) - abort if exceeded
    • Limit component depth (default 5 levels)
    • Handle rate limit errors gracefully
  4. Transform Response Extract and structure:

    • Colors: fills, strokes -> hex/rgba table
    • Typography: text nodes -> font/size/weight table
    • Spacing: auto-layout -> padding/gap table
    • Components: node tree -> hierarchy text
  5. Format Output

    • markdown: Tables matching design-spec template Section 7
    • json: Structured object for programmatic use
  6. Return Result

    • Save extraction output to team-artifacts/designs/{YYMMDD}-figma-extract-{feature}.md
    • Success: formatted specs
    • Partial: specs with warnings about missing data
    • Failed: error message with fallback suggestion

URL Format

code
https://www.figma.com/design/{fileKey}/{fileName}?node-id={nodeId}

Output Format (markdown)

Colors

NameHexUsage
Primary#3B82F6Buttons, links

Typography

ElementFontSizeWeight
HeadingInter24px600

Spacing

ElementPaddingGap
Card16px12px

Component Hierarchy

code
Frame "Card"
+-- Image "avatar"
+-- Text "name"
+-- Frame "actions"
    +-- Button "edit"
    +-- Button "delete"

Error Handling

ErrorMessage
No MCP"Figma MCP not configured. See .claude/docs/figma-setup.md"
Invalid URL"Could not parse Figma URL. Expected: figma.com/design/{key}"
Timeout"Figma extraction timed out after {timeout}s. Try with specific node-id or reduce depth."
Rate limited"Figma API rate limit reached. Try again later."
Not found"Figma file not found or not accessible with current token"
Too deep"Component hierarchy exceeds max depth ({depth}). Results truncated."

Configuration Defaults

SettingValueRationale
Max Component Depth5 levelsPrevents token bloat
Extraction Timeout30 secondsPrevents blocking
Max Colors20Focus on primary palette
Max Typography10Focus on main text styles

Example

bash
/figma-extract https://www.figma.com/design/ABC123/MyDesign?node-id=1:2

Related

  • Role Skill: ux-designer
  • Used by: /design-spec
  • MCP: Requires figma MCP tools

IMPORTANT Task Planning Notes

  • Always plan and break many small todo tasks
  • Always add a final review todo task to review the works done at the end to find any fix or enhancement needed