Figma设计令牌提取Skill figma-extract-tokens

这是一个用于从Figma文件中自动提取设计令牌和变量的技能,能生成多种代码格式如CSS、TypeScript和JSON,帮助前端开发者集成和维护设计系统,提升开发效率。关键词:Figma、设计令牌、前端开发、代码生成、设计系统。

前端开发 0 次安装 0 次浏览 更新于 3/25/2026

name: figma-extract-tokens description: 从Figma文件中提取设计令牌和变量,以创建或更新设计系统

从Figma提取设计令牌

名称

figma:figma-extract-tokens - 从Figma文件中提取设计令牌和变量

概要

从Figma文件中提取设计令牌(颜色、间距、字体等),并生成各种格式的令牌文件(CSS自定义属性、TypeScript、JSON、Style Dictionary、Tailwind配置)。

描述

您的任务是通过Figma MCP服务器从Figma文件中提取设计令牌和变量。此命令分析Figma变量和变量集合,为您的设计系统生成结构化的令牌文件。

实现

连接到Figma Desktop MCP服务器以访问Figma变量API。提取所有变量类型(颜色、数字、字符串、布尔值),并将其组织成基本和语义令牌层次结构。支持多种输出格式和主题变体。

您的任务

  1. 访问Figma文件

    • 使用Figma MCP工具访问当前文件
    • 如果没有文件打开,请要求用户在Figma中打开一个或提供URL
  2. 提取变量

    • 获取所有颜色变量及其值
    • 获取间距/大小变量
    • 获取字体变量(字体家族、大小、权重、行高)
    • 获取任何其他变量(边框半径、阴影等)
    • 如果存在变量集合,则按集合组织
  3. 分析令牌结构

    • 识别语义令牌(主要、次要等)
    • 记录基本令牌(具体值)
    • 检测主题变体(亮/暗模式)
    • 检查令牌层次结构和引用
  4. 生成令牌文件

    • 询问用户偏好的格式:
      • CSS自定义属性
      • JavaScript/TypeScript对象
      • JSON
      • Sass/SCSS变量
      • Tailwind配置
      • Style Dictionary格式
    • 生成正确结构的令牌文件
    • 包含Figma引用的注释
  5. 提供文档

    • 创建令牌名称到Figma变量的映射
    • 记录任何应添加的缺失令牌
    • 如果不一致,建议令牌命名约定
    • 记录如何在代码中使用令牌

输出格式

CSS自定义属性

/**
 * 设计令牌 - 从Figma提取
 * 文件:[Figma文件名称]
 * 生成日期:[日期]
 */

:root {
  /* 颜色 - 基本 */
  --color-blue-500: #3b82f6;
  --color-gray-900: #111827;

  /* 颜色 - 语义 */
  --color-primary: var(--color-blue-500);
  --color-text: var(--color-gray-900);

  /* 间距 */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;

  /* 字体 */
  --font-family-base: 'Inter', sans-serif;
  --font-size-body: 1rem;
  --line-height-body: 1.5;
}

TypeScript/JavaScript

/**
 * 设计令牌 - 从Figma提取
 * 文件:[Figma文件名称]
 * 生成日期:[日期]
 */

export const tokens = {
  colors: {
    primitives: {
      blue500: '#3b82f6',
      gray900: '#111827',
    },
    semantic: {
      primary: '#3b82f6',
      text: '#111827',
    },
  },
  spacing: {
    xs: '0.25rem',
    sm: '0.5rem',
    md: '1rem',
  },
  typography: {
    fontFamily: {
      base: "'Inter', sans-serif",
    },
    fontSize: {
      body: '1rem',
    },
    lineHeight: {
      body: 1.5,
    },
  },
} as const;

export type Tokens = typeof tokens;

Style Dictionary格式

{
  "color": {
    "primitive": {
      "blue": {
        "500": { "value": "#3b82f6" }
      },
      "gray": {
        "900": { "value": "#111827" }
      }
    },
    "semantic": {
      "primary": { "value": "{color.primitive.blue.500}" },
      "text": { "value": "{color.primitive.gray.900}" }
    }
  },
  "spacing": {
    "xs": { "value": "0.25rem" },
    "sm": { "value": "0.5rem" },
    "md": { "value": "1rem" }
  }
}

最佳实践

  1. 令牌命名

    • 对应用令牌使用语义名称(主要、次要)
    • 对基本令牌使用描述性名称(blue-500、spacing-md)
    • 保持命名约定一致
    • 使用命名空间进行组织
  2. 令牌组织

    • 分组相关令牌(颜色、间距、字体)
    • 分离基本和语义令牌
    • 支持带令牌引用的主题
    • 记录令牌用途
  3. 令牌值

    • 保留Figma中的单位(px、rem、em)
    • 为目标平台转换为适当格式
    • 包括令牌引用的备用值
    • 验证值是否有效的CSS/代码
  4. 维护

    • 包括Figma文件引用以便追踪
    • 添加生成时间戳
    • 记录任何需要的手动调整
    • 记录如何从Figma重新同步

附加交付物

提取令牌后,还提供:

  1. 令牌文档

    • Markdown文件记录每个令牌类别
    • 设计师和开发人员的使用示例
    • 如果更新现有令牌,提供迁移指南
  2. 集成指南

    • 如何在项目中导入令牌
    • 如何在组件中使用令牌
    • 如何扩展或覆盖令牌
  3. 验证

    • 检查重复令牌
    • 记录任何缺失的语义令牌
    • 识别Figma中未使用的变量
    • 建议令牌整合机会

注释

  • 如果变量集合存在,单独提取它们
  • 记录任何没有值的Figma变量
  • 识别颜色模式变体(亮/暗)
  • 建议未涵盖的常见用例的令牌添加
  • 提供在实际组件中使用令牌的示例