SuperAPI AI 工具集

figma-use

设计与创作

查看项目

更新于 10-15 23:39

技能介绍

用途:figma-use 是调用 use_figma 工具前必须加载的前置技能,用于通过 Figma Plugin API 在 Figma 文件中执行 JavaScript。调用 use_figma 时需传入 skillNames: "figma-use"(仅用于记录技能使用,不影响执行)。

主要能力与用法:详细参考文档位于 references/。开始前先加载 plugin-api-standalone.index.md 了解可行范围;编写插件 API 代码时,在 plugin-api-standalone.d.ts 中按需 grep 相关类型与方法,不要一次性加载整个类型文件。涉及设计系统时,先阅读 working-with-design-systems/wwds.md,再按需加载组件、变量、文本样式和效果样式的具体参考。若任务是从代码构建或更新整页、屏幕或多区块布局,还需加载 figma-generate-design;若涉及创建或构建组件,还需加载 figma-generate-library。

关键规则:用 return 返回数据,返回值会自动 JSON 序列化;不要调用 figma.closePlugin(),也不要包裹 async IIFE,代码会自动置于 async 上下文。figma.notify() 会抛“not implemented”,不可使用。getPluginData()/setPluginData() 不支持,改用 getSharedPluginData()/setSharedPluginData(),或返回节点 ID 供后续调用。console.log() 不会返回,用 return 输出。颜色为 0–1 范围。fills/strokes 为只读数组,需克隆后修改再赋值。文本编辑遵循固定流程:加载字体 → await → 修改 → 返回受影响节点 ID;修改已有文本时应通过 getStyledTextSegments(['fontName']) 加载当前字体。页面需用 await figma.setCurrentPageAsync(page) 切换,同步 setter 会抛错;每次 use_figma 调用最多切换一次页面,多页任务应拆成多个调用并行发出。出错时先停止,脚本是原子的,失败不会产生任何改动,读错误信息修正后再重试。必须返回所有创建或修改的节点 ID。创建变量时显式设置 variable.scopes。所有 Promise 都要 await。

限制:use_figma 在 Design 模式(editorType "figma")下工作,FigJam 与 Slides 可用节点类型不同;figma.createPage() 仅在 Design 文件可用。Slides 暂无专用读取工具,可用只读脚本检查。具体 API 细节以 references/ 与类型文件为准。