用途:c2d 是 c2d2c 项目下的代码到设计(code-to-design)流水线,用于把代码中的任何内容——UI 组件、状态矩阵、设计令牌——导出到 Figma,核心主张是“每个状态都要覆盖”。
主要能力与流程:
- 预检令牌桥:导出前须确认目标文件已同步项目令牌,通过 get_variable_defs 或小型 use_figma 查询核对 VAR_COLLECTIONS,并与 VAR_SNAPSHOT 抽检比对;缺失或漂移需先同步(配套插件 Pull,或用 use_figma 按快照布局创建)。
- 先枚举再绘制:从源码枚举元素可展示的全部变体轴、数据形态(值/空/回退、截断、加载、错误)与交互状态(悬停/聚焦/选中/禁用、悬停弹层),为每个状态加灰色标注。
- 全部绑定令牌:颜色、圆角、文本样式绑定到已同步变量,CSS 变量名经 $codeSyntax.WEB 映射到 Figma 变量;alpha 展开为填充或图层不透明度;无法表达的(color-mix/oklch)绑最接近变量并记录推导。
- 组件化前先询问:是否创建 Figma 组件(组件/变体集)还是平铺帧,按用户回答执行。
参数从仓库根目录 C2D2C.md 解析(回退 .claude/c2d2c.md),缺失时可从模板引导生成,使用 EXPORT_FILE、VAR_COLLECTIONS、VAR_SNAPSHOT、ICON_SOURCE、DS_ROUTE 及 TOKEN_HOME、TOKEN_EXPORT。
已知限制与注意:使用 use_figma 前需读 /figma-use 技能;代码须显式返回结果;resize 会破坏 auto-layout,需先 resize 再设回 AUTO;大帧 get_metadata 会超时;切页需 await figma.setCurrentPageAsync(page);本地字体对 MCP 会话不可见;长任务应拆成幂等小调用;不要依赖 figma.currentPage;setBoundVariableForPaint 会丢弃预设不透明度,应先绑定再设不透明度;实例根填充在创建时快照主件,后改主件可能不生效。令牌侧以代码为准,改令牌需运行 TOKEN_EXPORT 重新生成 VAR_SNAPSHOT 并一起提交,check:figma-variables 红灯表示两侧不同步而非应忽略的错误。导出后用 get_screenshot 自检对齐、绑定丢失与文本裁切,并回复 Figma 节点链接。
收费、价格与平台信息暂未提供。