Figma分析器Skill:用 Figma REST API 把设计稿变成可编程的设计资产与令牌
- 一句话定位:通过 Figma REST API,把 Figma 文件中的框架、组件、元数据和设计令牌批量导出为图片与结构化 JSON,让 AI 与工程流程都能直接“读懂”设计稿。
- 三大核心能力:资产导出(PNG、JPG、SVG、PDF,支持 1x/2x/3x/4x 缩放与批量节点)、元数据提取(文件结构、页面层次、节点属性、组件样式、版本历史)、设计令牌提取(颜色、排版、效果、栅格布局)。
- 典型的获取方式:配置好
FIGMA_ACCESS_TOKEN环境变量并安装requests、python-dotenv两个依赖后,用一条figma_export.py命令即可完成导出。 - 可与视觉分析技能联动:导出图像后可直接交给多模态分析技能做 UI 研究,形成“导出—分析—产出规范”的闭环。
- 适合谁用:需要还原设计稿的前端工程师、维护设计系统的设计工程师、做 UI 研究的 AI 应用开发者,以及需要批量归档设计资产的团队。
1. 该技能叫什么?如何一键安装 AI 技能提升开发效率?
技能基本信息
| 项目 | 内容 |
|---|---|
| 技能中文名 | Figma分析器Skill |
| 技能英文名 | figma-analyzer |
| 技能 ID | 11841 |
| 许可证 | MIT |
| 允许使用的工具 | Bash、Read、Write |
它解决的问题:Figma 里的设计稿本质上是以“画布和节点”形式视觉呈现的,工程侧和 AI 侧都无法直接读取。设计师交付的往往是一张截图,或者需要人工逐个查看的标注页面。前端工程师为了拿到准确的颜色、字号、间距和阴影参数,只能反复查看或手工复制;AI 模型做 UI 研究时,也缺少统一格式的设计输入。
Figma分析器Skill 的作用,就是把“视觉设计”转换成“机器可读的资产”:一方面把指定的框架或组件渲染成图片,另一方面把节点结构、组件定义、颜色、排版和效果样式输出为标准 JSON。这样,设计稿就变成了可以被脚本、AI 代理和工程流水线继续处理的数据。
一键安装与启用的整体思路
第 1 步,准备 Figma 访问令牌。按照技能说明,获取方式是:
- 前往 Figma 设置中的「账户」页面;
- 滚动到「个人访问令牌」区域;
- 生成一个具有读取权限的新令牌。
第 2 步,把令牌配置到环境中。技能会按以下顺序依次查找 FIGMA_ACCESS_TOKEN,只要命中任一位置即可生效:
- 进程环境:
export FIGMA_ACCESS_TOKEN="your-token" - 项目根目录的
.env .claude/.env.claude/skills/.env.claude/skills/figma-analyzer/.env
第 3 步,安装 Python 依赖:
pip install requests python-dotenv
第 4 步,把技能放入项目的技能目录(从上面的查找顺序可以看出,技能目录约定为 .claude/skills/figma-analyzer),具体的安装命令与入口以官方说明为准。
第 5 步,验证是否生效。最简单的方式是查看脚本帮助信息,确认脚本可执行:
python scripts/figma_export.py --help
也可以直接对一个测试文件执行元数据抓取(--metadata-only)。若能正常输出 JSON,说明令牌与依赖都已配置正确。
这样做的价值在于:整个过程是一次配置、长期复用的。相对而言,每次交付都要重新手工抄写标注并逐个导出切图,之后的常规导出只需复制一行命令。
2. 该技能的主要功能和特点
(1)资产导出:把任意框架和组件变成图片
- 支持导出为 PNG、JPG、SVG、PDF 四种格式,覆盖位图交付、矢量二次编辑与文档归档三类需求。
- 支持 1x、2x、3x、4x 缩放比例,便于生成高清分析图或 Retina 素材。
- 支持通过
--node-ids以逗号分隔的方式批量导出多个节点,一次命令导出整套页面。 - 导出的图片可直接写入本地文件系统,输出路径由
--output指定。
(2)元数据提取:还原设计的结构信息
- 输出文件结构、页面层次结构,能看清一份文件中有哪些页面、页面下有哪些框架。
- 输出节点属性:名称、类型、绝对包围盒(x、y、宽度、高度)、约束与子节点关系。
- 输出组件与样式定义,以及文件版本历史。
- 支持
--metadata-only模式,只获取元数据、不产生图片,适合轻量探查大文件。
(3)设计令牌提取:让设计规范变成可落地变量
- 颜色样式与调色板,包含色值与设计侧命名(如“蓝色 500”)。
- 排版样式:字体族、字号、字重、行高。
- 效果样式:阴影类型、偏移、模糊半径、颜色。
- 栅格与布局样式,以及间距阶梯(xs、sm、md、lg、xl 等)。
(4)兼容 AI 工作流
- 导出图像后可交给多模态分析技能(ai-multimodal)进行视觉理解,例如“分析布局并提取组件规范”。
- 技能说明中明确它与
ui-researcher代理、/ui-research命令协同,构成完整的 UI 研究工作流。
(5)工程健壮性设计
- 按 Figma 官方速率限制处理:免费层级每分钟 300 个请求,付费层级根据计划有更高上限,并采用指数退避重试。
- 提供完整的错误码对照(400、403、404、429、500)与对应的排查建议。
- 大量 API 端点封装在单一 CLI 之后,使用者不需要自己拼接请求。
和普通做法的差别:手动导出只能得到图片,得不到结构;自己写脚本能拿到结构,但要自己处理分页、限流、退避和节点解析。这个技能把“导出图像、抓元数据、抽令牌”三件事合并到一条命令里,并把结果统一成可被下游程序消费的 JSON。
3. 如何使用该技能?
步骤 1:解析 Figma URL
Figma 链接包含文件密钥(file_key)和可选的节点 ID(node-id):
https://www.figma.com/file/{file_key}/{file_name}?node-id={node_id}
https://www.figma.com/design/{file_key}/{file_name}?node-id={node_id}
例如整份文件是 https://www.figma.com/file/ABC123/MyDesign,某个具体框架则是 https://www.figma.com/file/ABC123/MyDesign?node-id=1-234。
步骤 2:把设计导出为图像
python scripts/figma_export.py \
--url "https://www.figma.com/file/ABC123/Design?node-id=1-234" \
--output docs/research/ui/design.png \
--scale 2
输出说明:在 docs/research/ui/ 下生成 2 倍分辨率的 PNG,可用于评审、视觉分析或作为参考图。
步骤 3:只抓文件元数据
python scripts/figma_export.py \
--url "https://www.figma.com/file/ABC123/Design" \
--metadata-only \
--output docs/research/ui/figma-metadata.json
输出为结构化 JSON,包含 file_key、name、last_modified、thumbnail_url,以及以节点 ID 为键的 nodes 对象,节点内包含名称、类型、绝对包围盒和子节点。
步骤 4:提取设计令牌
python scripts/figma_export.py \
--url "https://www.figma.com/file/ABC123/Design" \
--extract-tokens \
--output docs/research/ui/design-tokens.json
输出包含 colors、typography、effects、spacing 四类结构,例如颜色项为 {"primary": {"value": "#3B82F6", "name": "蓝色 500"}},排版项包含 fontFamily、fontSize、fontWeight、lineHeight。这些结构可以直接映射为 CSS 自定义属性。
步骤 5:批量导出多个框架
python scripts/figma_export.py \
--url "https://www.figma.com/file/ABC123/Design" \
--node-ids "1-234,1-235,1-236" \
--output docs/research/ui/frames/ \
--scale 2
步骤 6:与视觉分析技能串联
python .claude/skills/figma-analyzer/scripts/figma_export.py \
--url "$FIGMA_URL" \
--output docs/research/ui/design.png \
--scale 2
python .claude/skills/ai-multimodal/scripts/gemini_batch_process.py \
--files docs/research/ui/design.png \
--task analyze \
--prompt "分析布局并提取组件规范" \
--output docs/research/ui/analysis.md \
--model gemini-2.5-flash
步骤 7:常用参数速查
| 参数 | 作用 |
|---|---|
--url |
Figma 文件或框架 URL(必填) |
--output |
图像或数据的输出路径 |
--scale |
导出缩放比例(1、2、3、4) |
--format |
导出格式(png、jpg、svg、pdf) |
--node-ids |
逗号分隔的节点 ID,用于批量导出 |
--metadata-only |
仅获取元数据,不导出图像 |
--extract-tokens |
提取设计令牌 |
--verbose |
输出详细日志 |
错误排查参考:400 一般是 URL 或节点 ID 格式有误;403 是令牌无效或没有该文件权限;404 是文件密钥或节点不存在;429 触发了速率限制,需要退避后重试;500 为服务端错误,可用指数退避重试。
4. 同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| figma-analyzer(本技能) | 面向 AI 与工程流程的 Figma 资产提取技能 | 图像导出、元数据抓取、设计令牌提取、批量节点处理、可与多模态分析联动 | 需要一个 Figma 个人访问令牌,并安装 requests、python-dotenv;以命令行方式使用 |
UI 研究、设计系统审计、设计稿归档、AI 视觉分析前置流程 | 优势是命令行化、输出标准 JSON、内置限流处理;不足是需要基础命令行能力,且依赖 Figma API 权限 |
| 直接调用 Figma REST API 自写脚本 | 完全自定义的底层方案 | 可调用全部端点,灵活度最高 | 门槛最高:需自行处理鉴权、分页、退避、节点递归与格式转换 | 有特殊字段需求、需要深度定制的团队 | 优势是自由度最大;不足是开发与维护成本高,重复实现已有能力 |
| Figma 客户端手动导出 + 人工整理 | 传统交付方式 | 手工导出切图与标注,人工抄写颜色字号 | 几乎无技术门槛,但纯人力 | 体量很小的单页交付 | 优势是零学习成本;不足是不可批量、易出错、无法产出结构化的设计令牌 |
| 第三方设计交付/代码生成平台 | 商业化设计交付工具 | 标注查看、切图下载、部分代码生成能力 | 通常需要另行注册与配置,具体能力与费用以官方说明为准 | 团队协作交付、设计到代码的初步生成 | 优势是界面友好、协作功能完整;不足是数据不在本地、难以嵌入自定义 AI 分析流程 |
选型建议:如果你希望设计资产能直接进入脚本与 AI 流程,本技能的“本地 CLI + 标准 JSON”组合最省事;如果只是偶尔看一两个页面,手动导出反而更快;如果需要极特殊的字段组合,才值得自己写 API 脚本。
5. 该技能的典型应用场景与实际体验情况
场景一:前端工程师高保真还原设计稿
痛点:拿到设计稿后,间距、圆角、阴影值靠肉眼估算,还原度反复被退回。
使用方式:先用 --extract-tokens 导出设计令牌,把 spacing、colors、typography 映射成 CSS 变量;再用 --node-ids 批量导出各区块 2 倍图作为对照。实际体验上,令牌 JSON 的字段命名与前端变量体系一一对应,替换成本很低;需要注意的是,令牌的完整度取决于设计侧是否把样式真正“发布”为样式,未发布的零散样式不会出现在结果中。
场景二:AI/多模态 UI 研究
痛点:想让模型分析竞品或自有产品界面,但模型只能看到截图,缺少结构信息。
使用方式:先用本技能导出框架图,再交给多模态分析技能,以“分析布局并提取组件规范”为提示词生成分析文档。实际体验上,两段命令串起来就能跑通,适合批量处理多个页面;注意导出时用 2 倍缩放能明显改善文字识别效果,透明背景的元素建议用 PNG 而非 JPG。
场景三:设计系统维护者做令牌审计与同步
痛点:设计侧改了主色或字号阶梯,工程侧的主题变量没同步,导致界面不一致。
使用方式:定期对设计库文件执行令牌提取,与仓库中的主题文件做差异比对。实际体验上,把“核对设计规范”从人工检查变成一次命令加一次 diff,效率提升明显;建议把令牌文件纳入版本管理,便于追溯变更历史。注意遵守速率限制,不要对同一文件高频轮询。
场景四:设计资产归档与文档化
痛点:项目结项时,历史版本的设计稿散落在 Figma 里,无人整理。
使用方式:用 --metadata-only 抓取整份文件的结构与版本历史,用批量导出把关键框架一次性落盘到 docs/ 目录。实际体验上,对大文件先抓元数据、看清页面结构后再决定导出哪些节点,比直接整份导出更省时间,也更容易避开限流。
整体上手难度:中等偏低。会执行命令行、会配置环境变量就能用;真正的学习成本在于理解设计令牌与工程变量之间的映射关系。
6. 该技能能为用户带来的价值
效率提升:把“导出切图、抄写标注、整理颜色字号”这类重复劳动压缩成几条命令。原本需要逐页复制参数的交付流程,现在可以一次批量导出多个节点,再用一份 JSON 覆盖整份文件的设计规范。
门槛降低:不需要了解 Figma REST API 的鉴权方式、分页规则和速率限制,也不需要自己写递归遍历节点树的代码。技能已经把端点调用封装好,并内置了指数退避重试和错误码对照,非 Figma 平台方向的开发者也能顺利上手。
可量化的收益方向:节省设计还原时的沟通轮次、减少因数值不一致导致的返工、把设计规范的同步从“人工核对”变成“可 diff 的文件比对”。另外,元数据与令牌都是文本类产物,可以纳入版本管理,形成可追溯的设计变更记录。
长期价值:它让设计资产从面向人的视觉呈现,转变为面向程序的机器可读输入。一旦设计稿能稳定产出结构化数据,后续的自动化代码生成、视觉回归测试、AI 辅助 UI 评审都有了统一的数据入口,而不必每次都从零搭建。
7. 常见问题 FAQ
Q1:这个技能怎么安装?需要准备什么?
A:核心是三件事:一是在 Figma 设置的个人访问令牌页面生成一个读取权限令牌,并配置为 FIGMA_ACCESS_TOKEN 环境变量(可放在进程环境或约定的 .env 文件中);二是执行 pip install requests python-dotenv 安装依赖;三是把技能放到 .claude/skills/figma-analyzer 目录。之后用 python scripts/figma_export.py --help 验证即可。具体安装命令以官方说明为准。
Q2:使用这个技能要收费吗?
A:技能本身以 MIT 许可证开源,使用时不需要付费。需要留意的是 Figma API 的调用频率限制:免费层级为每分钟 300 个请求,付费层级根据计划有更高上限,因此实际可用吞吐与你的 Figma 账户计划相关,具体以官方说明为准。
Q3:它和直接在 Figma 里手动导出切图有什么区别?
A:手动导出只能得到图片,无法得到文件结构、组件定义和设计令牌;本技能在导出图像之外,还能输出结构化 JSON,并且支持批量节点导出与命令行集成,能被脚本和 AI 流程直接消费。如果只是需要一两张图,手动导出确实更快;但只要涉及规范同步或自动化流程,技能的优势就体现出来了。
Q4:没有设计背景的开发者能用吗?
A:可以。命令行参数只有八个左右,常用的是 --url、--output、--scale 和三个模式开关(--metadata-only、--extract-tokens、--node-ids)。真正的难点不在操作,而在于如何把导出的设计令牌映射到项目里的 CSS 变量或主题配置上,这部分需要结合自身项目结构来判断。
Q5:导出时报 403 或 429 怎么办?
A:403 通常表示访问令牌无效或当前账号对该文件没有读取权限,需要检查令牌是否具备读取权限、以及是否属于正确的 Figma 账号;429 表示触发了速率限制,应当等待后重试,技能已内置指数退避策略,同时建议减少高频轮询、优先用节点 ID 过滤缩小请求范围、并对元数据做本地缓存。