用途:把代码中的设计令牌推送到 Figma,转换为 Figma 变量(variable collections、modes、values)。输入可为 DTCG 的 tokens.json、Tailwind/SCSS 导出结果,或普通 token 对象。
主要能力:支持别名(aliases)与多模式(multi-mode)取值;重复运行安全,变量按保存的 Figma id → key → 精确名称匹配,更新为原地修改而非新建。反方向(Figma → 代码)使用 export-tokens-figma。
使用方式:先加载官方 figma-use 技能(Figma Plugin API 参考)。对 DTCG 输入,使用捆绑解析器而非手工展平: node scripts/parse-tokens.mjs tokens.tokens.json --default-mode Light --collection Brand 可选 --strip-prefix "ds-" 去除名称前缀。解析器会输出 COLLECTION_NAME / MODES / TOKENS 常量,粘贴进应用脚本,处理 $type→Figma 类型、{ref} 别名、多模式、尺寸单位去除与 variableId 往返。非 DTCG 来源可先导出为 DTCG,或手工构建 TOKENS 数组。随后确定冲突策略(默认代码在取值上优先,但不询问不删除仅存在于 Figma 的变量),确认集合名与模式列表(首个为默认),将解析数据放入 scripts/apply-tokens.js 顶部常量,通过 use_figma(skillNames: "import-tokens-figma")运行;脚本分两遍执行——先字面量后别名——返回 { created, updated, errors, variableIds }。最后报告创建/更新数量与错误,并用读回脚本(export-tokens-figma 读取脚本或 get_variable_defs)验证。
限制与注意:两遍执行是必需的,别名目标需先存在;颜色接受 3/6/8 位十六进制并自动转 0–1 范围;新变量默认 ALL_SCOPES,可能污染所有选择器,导入后考虑设置 variable.scopes;脚本为纯 JS,顶层 await + return,无 IIFE、不调用 figma.closePlugin(),输入以内联 const 置于脚本顶部,文本操作前加载字体,使用 await figma.getNodeByIdAsync(...),原子错误即失败不应用任何内容。更多平台或收费信息暂未提供。