关于 figma-design-system-inventory
figma-design-system-inventory 是用于 Figma 的技能,可统一提取设计令牌、组件和样式。它支持调整范围与详细程度,并通过 Plugin API 读取变量,适用于所有 Figma 套餐。
主要功能
- 01提取令牌、组件和样式
- 02组件属性与变体视觉规格
- 03可配置输出范围和详细程度
- 04按名称筛选组件
- 05通过 Plugin API 读取变量
适用场景
- 01为代码生成准备设计系统数据
- 02审查 Figma 设计库
- 03检查令牌值与组件变体
MCP 相关
它通过 `use_figma` 运行,并使用 Figma Plugin API 检查文件。README 将其描述为整体设计系统能力,超出原生 MCP 的单选区上下文和扁平元数据范围。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ southleft/ figma-console-mcp-skills --skill figma-design-system-inventory安装后在 Claude Code 中输入/figma-design-system-inventory确认已加载。
附带文件references/visual-spec.mdscripts/inventory.js
详细介绍
figma-design-system-inventory — 统一提取令牌 + 组件 + 样式
一次 use_figma 调用即可遍历整个文件并返回结构化工具包:
令牌(按集合和模式分组的所有本地变量)、组件(独立组件和组件集,包含属性定义,以及每个变体的精简版 visualSpec),以及
样式(带解析后取值的填充、文本和效果样式)。这是代码生成和库审计的“一次读取全部”入口。
技能边界
use_figma规则 — 首先加载官方figma-use技能;它是完整的 Figma Plugin API 参考。这些脚本依赖的要点:使用纯 JS,并在顶层使用await+return(不要用 IIFE,也不要调用figma.closePlugin();console.log的内容不会作为返回值)、在每个脚本顶部以内联const定义输入、颜色取值范围为 0–1、执行任何文本操作前先加载字体、使用await figma.getNodeByIdAsync(...),以及原子错误(脚本失败时不会应用任何内容——读取错误、修复后重试)。- 每个
visualSpec的准确结构 → references/visual-spec.md。 - 无限深度的单个组件(完整树、交互、实例引用)→
使用
figma-deep-component。将单个变体集作为 CSS 状态机分析 → 使用figma-analyze-component-set。导出磁盘上的令牌文件 → 使用figma-export-tokens。 - 这是原生 MCP 不具备的整个系统级设计能力:
get_design_context仅适用于单个选区,get_metadata返回扁平结构;无论使用哪种套餐,这两者都无法提供统一的令牌 + 组件 + 样式工具包。
工作流
- 选择范围和详细程度,以控制大型文件的响应大小。编辑
scripts/inventory.js中的常量:INCLUDE— 可选"tokens"、"components"、"styles"(默认:全部三项)。VERBOSITY—"full"(提供每个变体的视觉规格)、"summary"(组件元数据 + 属性,不含每个变体的规格),或"inventory"(仅名称 / ID / 数量,适用于超大型文件)。COMPONENT_NAME_FILTER— 通过子字符串筛选组件(例如"Button")。
- 运行
use_figma(skillNames: "figma-design-system-inventory")。通过 Plugin API 读取变量,因此适用于所有 Figma 套餐(无需 Enterprise REST)。 - 使用结果。 使用
tokens获取颜色 / 间距 / 排版值,使用components[].properties获取 组件 API,使用components[].variants[].visualSpec获取每种状态的外观,并使用styles获取 基于样式(非变量)的值。 - 如果结果仍然很大,请降低
VERBOSITY或缩小INCLUDE/COMPONENT_NAME_FILTER的范围后重新运行 — 不要尝试分页获取庞大的full数据。
说明
- 颜色以十六进制格式输出(Figma 内部以 0–1 RGBA 格式存储);间距 / 尺寸值的单位为 px。
- 变量会尽可能将别名解析为令牌名称(例如
{Color.Brand.Primary})。 - 每个变体的视觉规格来自各个变体组件节点 — 字段(填充、描边、效果、 cornerRadius、不透明度、布局 / 内边距 / 间距、排版)请参阅 references/visual-spec.md。
- 这个脚本是内置工具
figma_get_design_system_kit的手写版,能力相当于根节点 + 第一层;它采用原生use_figma写法,因此无需 Desktop Bridge 即可运行。它会采集每个组件 / 变体的根视觉规格及其直接子级(childSpecs);不会继续递归。
评论
支持 Markdown