用途:为单个 Figma 组件或组件集生成完整文档页面,包括概览、anatomy 层级树、设计令牌(颜色、间距、排版)、变体/状态矩阵、排版、无障碍、内容指南,以及可选的设计-代码一致性与 YAML frontmatter。先通过 use_figma 收集结构化数据,再由确定性 Node 转换器(scripts/generate-doc.mjs)输出 Markdown,同样的 JSON 始终生成相同的 Markdown,不要凭文字自由编写文档。
使用方式:先从当前选中项或用户提供的 URL/ID 获取组件或组件集节点 ID,在收集脚本中设置 NODE_ID。用 use_figma 运行 scripts/collect-component-data.js(skillNames: "figma-generate-component-doc"),它返回 anatomy 树、每个变体的颜色(含绑定的 token id 与名称)、排版(字体、字重及名称、字号、行高、字距)、间距 token、组件属性定义、描述与注解,保存返回的 JSON。然后在终端运行:node scripts/generate-doc.mjs collected.json [--code-info codeInfo.json] [--out docs/components/Button.md] [--frontmatter] [--file-url <figma-url>]。可选:读取组件源码生成 codeInfo.json 并用 --code-info 传入以添加实现、设计-代码一致性与变更日志;用 --frontmatter 前置 YAML frontmatter。最后审阅输出并报告路径与摘要。
限制:收集脚本依赖 Figma Plugin API,需 Figma Desktop 应用,浏览器中不可用;转换器需 Node 18+(ESM、无依赖),若无法运行 Node 就无法生成文档,应如实说明而非手写。使用前应先加载官方 figma-use 技能以掌握 Plugin API;脚本使用顶层 await + return(不用 IIFE、不调用 figma.closePlugin(),console.log 不会返回),输入内联为顶部 const,颜色为 0–1 范围,写文字前先 await figma.loadFontAsync(...),用 await figma.getNodeByIdAsync(...),错误是原子的。收集脚本用 MAX_DEPTH 控制深层树的数据量,仅在结构树被截断时调高。没有绑定变量的颜色/间距在 token 表中显示为 —。Markdown 章节布局与 cleanVariantName 规则见 references/doc-template.md,转换器已实现全部规则。若需把注解作为独立规范读写,用 figma-annotations 技能;导出整个 token 系统(而非单个组件)用 figma-export-tokens 技能。转换器在 JSON 缺失或格式错误时会以非零状态退出并给出明确信息。其他细节暂未提供。