用途:该技能是调用 create_generative_plugin 或 update_generative_plugin 前的强制前置步骤,用于在 Figma Design 编辑器中创建和更新生成式插件。面向用户时结果统称“plugin”,“generative”仅用于区分该账户库工具与其他插件系统。
预检:确认请求适配该场景——插件运行于 Figma Design 编辑器;每个插件必须为核心工作流提供可用 UI,即使无可配置输入也需有明确主操作和状态或校验反馈;禁止嵌入 API 密钥、OAuth 令牌、签名 URL 等机密,插件源码对可访问者可见,如需认证集成应停止并改用静态数据集、公开无认证端点或其他架构。
创建流程:明确工作流与控件,仅在必要输入或行为确实含糊时提问;解析 planKey(复用用户提供的,否则调用 whoami,唯一可用计划自动使用,多个差异明显时让用户选择);调用一次 create_generative_plugin(简洁名称、描述、planKey),它只生成可运行的画方框脚手架;用返回 id 调用 get_generative_plugin 并读取所有 source URI,了解 manifest、UI 消息契约与当前 TypeScript 入口;用完整文件替换脚手架;调用 update_generative_plugin,传入 id、包含 code.ts 完整替换(UI 变化时含 ui.html)的 files 数组及具体 commitMessage,改名称或描述时用 metadata。切勿在 create 后停止。
更新流程:识别插件(必要时 list_generative_plugins 再 get);编辑前读取 get 返回的所有 source URI 作为当前事实来源;除非用户要求,保留现有 UI、控件、重启行为、校验与可见交互;用完整替换内容调用 update_generative_plugin,入口用 { path: "code.ts", content: "..." },UI 用 { path: "ui.html", content: "..." },未指定文件保留。
编写规则:写替换文件前阅读 Plugin source authoring,涵盖文件替换契约、UI/消息生命周期、PropsKit 控件、动态页面兼容、字体、重启行为、有界工作、几何与 Plugin API 注意事项;保持主操作明显、无效选择或输入状态可理解;update 可替换 code.ts 与 ui.html,但不能替换 manifest.json 或新建文件,需在 code.ts 保留 figma.showUI(html, ...),工作流需要不同控件时替换 ui.html;除非是插件明确目的且 UI 已说明,避免破坏性画布更改;异步工作与 UI 消息完成前不要关闭;非错误的 update 结果视为成功,记录返回版本(可能省略);构建错误时用编译器输出做最小修正并重试一次,仍失败则上报错误而非反复重写。
完成:报告插件名称、id、返回版本(如有)及 UI 与主操作的简短说明,并附可点击链接,用插件 id 作为 try-tool-resource-content-id:https://www.figma.com/file/new?try-tool-resource-content-id=<id>&try-tool-resource-type=gen_tool&type=design&mode=design 。给出新文件链接后,询问是否改为在现有 Figma Design 文件中打开;若是,复用已提供的文件 URL 或索取,再附加相同查询参数,切勿猜测文件 URL。