Help us improve
Share bugs, ideas, or general feedback.
From figma-codegen
Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions "implement design", "generate code", "implement component", "figma to code", "figma 转代码", "figma 还原", "实现设计稿", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`. For full-screen design generation in Figma, use `figma-generate-design`.
npx claudepluginhub stoicatom/claude-autopilot --plugin figma-codegenHow this skill is triggered — by the user, by Claude, or both
Slash command
/figma-codegen:figma-codegen [figma-url] — e.g. https://figma.com/design/XXX?node-id=1-2[figma-url] — e.g. https://figma.com/design/XXX?node-id=1-2The summary Claude sees in its skill listing — used to decide when to auto-load this skill
将 Figma 设计稿翻译为生产级前端代码,追求像素级视觉一致(1:1 visual parity)。
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Explores codebases via GitNexus: discover repos, query execution flows, trace processes, inspect symbol callers/callees, and review architecture.
Share bugs, ideas, or general feedback.
将 Figma 设计稿翻译为生产级前端代码,追求像素级视觉一致(1:1 visual parity)。
本 SKILL 改编自 OpenAI 官方 figma-implement-design,针对 Claude Code 生态适配。
本 SKILL 提供把 Figma 设计稿翻译为生产级代码的结构化工作流,确保:
| 用户意图 | 切换到 |
|---|---|
| 在用户仓库内产出代码(本 SKILL 主战场) | figma-codegen(本文件) |
| 在 Figma 内创建/编辑/删除节点 | figma-use |
| 从代码或描述生成完整 Figma 页面 | figma-generate-design |
| 仅生成 Code Connect 映射 | figma-code-connect-components |
编写可复用的 Agent 规则(CLAUDE.md/AGENTS.md) | figma-create-design-system-rules |
claude mcp add figma --transport http https://mcp.figma.com/mcpclaude mcp add figma -- npx -y figma-developer-mcp --figma-api-key=$FIGMA_TOKENhttps://figma.com/design/:fileKey/:fileName?node-id=1-2
:fileKey 是文件 key1-2 是节点 ID(具体组件或 frame)figma-desktop MCP 时:用户可直接在 Figma Desktop 选中节点(无需 URL)Step 1: 获取 Node ID → Step 2: 拉取设计上下文 → Step 3: 截取视觉基准
↓
Step 4: 下载所需资产
↓
Step 5: 翻译为项目规范
↓
Step 6: 实现 1:1 视觉一致
↓
Step 7: 对照 Figma 验证
当用户提供 Figma URL 时,从中提取 file key 与 node ID,作为 MCP 工具调用参数。
URL 格式:https://figma.com/design/:fileKey/:fileName?node-id=1-2
提取:
:fileKey(/design/ 之后的段)1-2(node-id query 参数的值)注意:使用本地 desktop MCP(figma-desktop)时,fileKey 不作为参数传递。Server 会自动使用当前打开的文件,只需传 nodeId。
示例:
https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15kL9xQn2VwM8pYrTb4ZcHjF42-15当使用 figma-desktop MCP 且用户未提供 URL 时,工具会自动使用 Figma Desktop 当前选中的节点。
注意:基于选区的提示词只在 figma-desktop MCP 下生效。Remote server 必须传 frame/layer 链接才能提取上下文。用户必须打开 Figma Desktop 并已选中节点。
调用 get_design_context,传入提取的 file key 与 node ID。
get_design_context(fileKey=":fileKey", nodeId="1-2")
返回的结构化数据包含:
当响应过大或被截断时:
get_metadata(fileKey=":fileKey", nodeId="1-2") 获取节点高层级地图get_design_context(fileKey=":fileKey", nodeId=":childNodeId") 单独拉取子节点用同样的 file key 与 node ID 调用 get_screenshot 获取视觉参考。
get_screenshot(fileKey=":fileKey", nodeId="1-2")
该截图作为视觉验证的真值基准。整个实现过程中保持可访问。
下载 Figma MCP server 返回的所有资产(图片、图标、SVG)。
重要:严格遵守资产规则:
localhost 来源的图片或 SVG → 直接使用该来源localhost 来源存在时使用占位图或重新创建把 Figma 输出翻译为本项目的框架、样式、规范。
核心原则:
追求与 Figma 设计的像素级视觉一致。
指南:
完工标记之前,对照 Figma 截图验证最终 UI。
验证清单:
用户:"实现这个 Figma button:https://figma.com/design/kL9xQn2VwM8pYrTb4ZcHjF/DesignSystem?node-id=42-15"
动作:
kL9xQn2VwM8pYrTb4ZcHjF,nodeId=42-15get_design_context(fileKey="kL9xQn2VwM8pYrTb4ZcHjF", nodeId="42-15")get_screenshot(fileKey="kL9xQn2VwM8pYrTb4ZcHjF", nodeId="42-15") 拿视觉基准primary-500、primary-hover)结果:button 组件与 Figma 设计一致,且融入项目设计系统。
用户:"实现这个 dashboard:https://figma.com/design/pR8mNv5KqXzGwY2JtCfL4D/Dashboard?node-id=10-5"
动作:
pR8mNv5KqXzGwY2JtCfL4D,nodeId=10-5get_metadata(fileKey="pR8mNv5KqXzGwY2JtCfL4D", nodeId="10-5") 看页面结构get_design_context(fileKey="pR8mNv5KqXzGwY2JtCfL4D", nodeId=":childNodeId")get_screenshot(fileKey="pR8mNv5KqXzGwY2JtCfL4D", nodeId="10-5") 拿全页面截图结果:与 Figma 设计一致的 dashboard,带响应式布局。
不要凭假设实现。总是先 get_design_context + get_screenshot。
实现过程中频繁验证,而非只在结尾。提早发现问题。
如果必须偏离 Figma 设计(如无障碍或技术约束),在代码注释中说明原因。
新建组件之前总是检查已有组件。代码库一致性比 Figma 严格还原更重要。
存疑时,优先项目设计系统模式,而非字面翻译 Figma。
原因:设计过于复杂或嵌套层级过多,单次响应放不下。
解决:用 get_metadata 获取节点结构,然后用 get_design_context 单独拉取具体子节点。
原因:实现代码与原 Figma 设计有视觉偏差。 解决:与 Step 3 截图并排对比。检查 spacing、colors、typography 在 design context 数据中的值。
原因:Figma MCP server 的 assets endpoint 不可达,或 URL 被修改。
解决:验证 Figma MCP server 的 assets endpoint 可达。Server 在 localhost URL 提供资产。直接使用,不要修改。
原因:项目设计系统 token 值与 Figma 设计稿声明值不同。 解决:项目 token 与 Figma 值不同时,优先项目 token 以保持一致性,但调整 spacing/sizing 以保留视觉保真度。
Figma 实现工作流为"设计 → 代码"建立可靠流程:
遵循此工作流,每个 Figma 设计都会以同等的细致度被实现。