mcpField
F
figma-design-system-inventory

figma-design-system-inventory

github.com/southleft设计与 UI94141 次安装10 周前更新
代码仓库

关于 figma-design-system-inventory

figma-design-system-inventory 是用于 Figma 的技能,可统一提取设计令牌、组件和样式。它支持调整范围与详细程度,并通过 Plugin API 读取变量,适用于所有 Figma 套餐。

主要功能

  1. 01提取令牌、组件和样式
  2. 02组件属性与变体视觉规格
  3. 03可配置输出范围和详细程度
  4. 04按名称筛选组件
  5. 05通过 Plugin API 读取变量

适用场景

  1. 01为代码生成准备设计系统数据
  2. 02审查 Figma 设计库
  3. 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 返回扁平结构;无论使用哪种套餐,这两者都无法提供统一的令牌 + 组件 + 样式工具包。

工作流

  1. 选择范围和详细程度,以控制大型文件的响应大小。编辑 scripts/inventory.js 中的常量:
    • INCLUDE — 可选 "tokens"、"components"、"styles"(默认:全部三项)。
    • VERBOSITY — "full"(提供每个变体的视觉规格)、"summary"(组件元数据 + 属性,不含每个变体的规格),或 "inventory"(仅名称 / ID / 数量,适用于超大型文件)。
    • COMPONENT_NAME_FILTER — 通过子字符串筛选组件(例如 "Button")。
  2. 运行 use_figma(skillNames: "figma-design-system-inventory")。通过 Plugin API 读取变量,因此适用于所有 Figma 套餐(无需 Enterprise REST)。
  3. 使用结果。 使用 tokens 获取颜色 / 间距 / 排版值,使用 components[].properties 获取 组件 API,使用 components[].variants[].visualSpec 获取每种状态的外观,并使用 styles 获取 基于样式(非变量)的值。
  4. 如果结果仍然很大,请降低 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