用途:该技能负责两件相关工作,一是编写组件的属性 API(相当于 React 组件的 props),二是使用组件——创建实例并设置其属性(文本标签、布尔开关、变体选择、替换子实例)。
主要能力:管理 TEXT(文本图层字符串覆盖)、BOOLEAN(显示/隐藏图层)、INSTANCE_SWAP(哪个子组件填充槽位)、VARIANT(变体轴,如 Size、State)四类属性;添加时使用 scripts/add-property.js,设置 NODE_ID、PROPERTY_NAME、PROPERTY_TYPE、DEFAULT_VALUE,addComponentProperty 返回带 #id 后缀的名称需捕获;编辑/删除复用同一脚本的 editComponentProperty(name, {...}) 与 deleteComponentProperty(name);可通过重读 node.componentPropertyDefinitions 校验。实例化用 scripts/instantiate-and-set.js,设置 COMPONENT_KEY / COMPONENT_ID、可选 VARIANT、OVERRIDES、POSITION、PARENT_ID;对已有实例也走同一脚本的 setProperties 路径。
使用限制:属性只能加在 COMPONENT_SET 或独立 COMPONENT 上,不能加到单个变体上,否则脚本报错并提示使用父级集合;VARIANT 属性仅在 COMPONENT_SET 上有意义。需先加载官方 figma-use 技能;脚本为纯 JS,使用顶层 await + return,没有 IIFE,不调用 figma.closePlugin(),console.log 不会返回;输入在脚本顶部以内联 const 方式给出;颜色使用 0–1 范围;任何文本操作前需加载字体;使用 await figma.getNodeByIdAsync(...);脚本错误为原子性,失败则不应用任何更改。实例属性键中 TEXT/BOOLEAN/INSTANCE_SWAP 带 #nodeId 后缀,VARIANT 用裸名称,实例化脚本可自动解析两者。直接编辑实例文本图层会静默失败,必须通过 setProperties / 实例属性,绝不要对嵌套实例文本节点设置 .characters。componentKey 仅适用于已发布的组件,本地或未发布组件需用 nodeId。读取组件现有属性定义请改用 figma-analyze-component-set 或 figma-deep-component。