claudes-figma
claudes-figma-skill Skill 深度评测:Figma REST API 设计到代码
评分明细
适用场景
claudes-figma 快速入门
让 AI 读懂 Figma 设计稿——3 步从设计到代码,告别手抠样式 8 小时。
这是什么?解决什么问题?
claudes-figma(slug stephpp-claudes-figma-skill)是社区作者 Stephpp 在 Stephpp/claude-figma-skill 仓库下贡献的 Figma 集成 Skill。它把 Figma REST API 暴露给 Claude Code 等 AI 编程 Agent,实现:
- 设计稿读图:从 Figma URL 拉取 node tree、styles、components、variables;
- 设计 token 抽取:颜色、字号、间距、阴影、圆角系统化输出;
- 设计稿转代码:把 Figma component 转成 React / Vue / Svelte / SwiftUI / Jetpack Compose;
- 设计一致性审查:对比代码实现与 Figma 源文件的视觉/间距/颜色 diff;
- 批量生成组件库:基于 design system 一键生成整个 UI 库;
- 多端适配:响应式断点、Dark mode 切换、变体(variant)处理。
普通开发者从 Figma 到代码的工作流通常是:
- 设计师 @ 你,扔一个 Figma link;
- 你打开 Figma,逐个 component 看尺寸、颜色、间距;
- 在代码里手写 CSS,可能跟设计稿差 1-2px;
- 设计师说 “这个 padding 不对”,来回拉锯 3-5 轮;
- 最后 80% 时间浪费在“读设计稿”而不是“写逻辑”。
claudes-figma Skill 让你 3 步把这套流程自动化:Agent 读 Figma → 抽 token → 出代码,人类只负责最后的逻辑层。
适合前端工程师、UI 工程师、独立开发者、设计系统维护者,以及任何“想把 Figma 转代码自动化”的人。
准备工作
- Figma 账号:个人免费版即可,Professional 团队版解锁更细权限。
- Figma Personal Access Token:
Settings → Account → Personal access tokens创建,Scope 选File read。 - AI 编程 Agent:Claude Code 体验最完整(支持 MCP),Cursor 次之。
- Node.js ≥ 18 或 Python ≥ 3.10:本 Skill 同时提供两种 server。
- 目标 Figma 文件:你得有 “View” 权限。
- 项目框架:React / Vue / 任意前端项目。
3 步快速上手
第 1 步:克隆仓库并安装
git clone https://github.com/Stephpp/claude-figma-skill.git
cd claude-figma-skill
npm install
npm run build
第 2 步:在 Claude Code 中配置 MCP
编辑 ~/.claude/mcp.json:
{
"mcpServers": {
"figma": {
"command": "node",
"args": ["./claude-figma-skill/build/index.js"],
"env": {
"FIGMA_TOKEN": "<your-figma-token>"
}
}
}
}
重启 Claude Code,/mcp 应看到 figma 工具集。
第 3 步:用 Skill 跑第一个转码任务
帮我做这些事,用 figma Skill:
- 打开 https://www.figma.com/file/ABC123/MyDesign?node-id=1:2
- 抽取整页设计 token(颜色、字号、间距、阴影、圆角)
- 把页面里所有
Button组件转成 React + Tailwind 代码- 输出到
src/components/figma/Button.tsx
Agent 会:
- 调
figma.file拿 file metadata; - 调
figma.nodes拿指定 node 树; - 调
figma.styles抽 styles; - 调
figma.variables抽 design tokens(如果文件用 Variables); - 解析 component variants,转成 TypeScript props;
- 输出:
// src/components/figma/Button.tsx
import { clsx } from "clsx";
import { ReactNode } from "react";
type Variant = "primary" | "secondary" | "ghost";
type Size = "sm" | "md" | "lg";
interface ButtonProps {
variant?: Variant;
size?: Size;
disabled?: boolean;
children: ReactNode;
onClick?: () => void;
}
const variantClasses: Record<Variant, string> = {
primary: "bg-[#5E6AD2] text-white hover:bg-[#6E7AE3]",
secondary: "bg-white text-[#0A0A0A] border border-neutral-200",
ghost: "bg-transparent text-[#0A0A0A] hover:bg-neutral-100",
};
const sizeClasses: Record<Size, string> = {
sm: "h-8 px-3 text-sm rounded-md",
md: "h-10 px-4 text-base rounded-lg",
lg: "h-12 px-6 text-lg rounded-xl",
};
export function Button({
variant = "primary",
size = "md",
disabled = false,
children,
onClick,
}: ButtonProps) {
return (
<button
disabled={disabled}
onClick={onClick}
className={clsx(
"inline-flex items-center justify-center font-medium transition",
variantClasses[variant],
sizeClasses[size],
disabled && "opacity-50 cursor-not-allowed",
)}
>
{children}
</button>
);
}
常见踩坑
- Figma Token 没权限:Personal Access Token 默认只能访问自己创建的文件,团队文件要管理员加权限。
- Figma URL node-id 格式不对:正确格式
?node-id=1:2冒号分隔,不是1-2。 - Variables 没开启:老 Figma 文件用的是 Styles,新文件才用 Variables,Skill 提示 Agent 兼容两种。
- Component 包含变体(variants):要把每个 variant 转成 prop 组合,Skill 强调 variants 优先于 props drilling。
- 图标 / 图片需要另存:Figma
IMAGEfill 不能直接转代码,Skill 提示导出到public/目录。 - Auto layout 没启用:Figma 节点如果不是 auto layout,生成的代码 padding/margin 会乱,Skill 提示先在 Figma 端改成 auto layout。
初级用法
1. 抽取设计 token
请用 figma Skill 抽取 https://www.figma.com/file/ABC 的所有颜色和字号,输出成 Tailwind config。
2. 单组件转码
帮我把 Figma 里的
Card组件转成 React 组件。
3. 整页转码
这是 Figma 的 “Pricing Page” 整页链接,帮我生成对应的 Next.js 页面代码。
高级玩法
1. 设计 token 直接写 Tailwind config
// tailwind.config.ts
export default {
theme: {
extend: {
colors: {
brand: {
primary: "#5E6AD2",
accent: "#0A0A0A",
},
},
},
},
};
Skill 提示 Agent 按 token 自动生成。
2. 视觉 diff
把代码运行起来截图,与 Figma 导出图叠加,Skill 可写脚本做 1px diff。
3. 与 Storybook 联动
把转出来的组件直接灌进 Storybook,自动生成 docs。
4. 跨设计系统迁移
# 从 Material UI 设计稿 → 自家设计系统
claude --skill claudes-figma --migrate-from=material-ui
小技巧
- 先在 Figma 端用 Variables:Variables 比 Styles 更适合做 design system,Agent 抽取效率高。
- Auto layout 必开:生成的代码 layout 才能跟设计稿一致。
- 图标用 SVG 而非 PNG:Figma 导出 SVG 直接进代码,体积小、可改色。
- 每个 component 单独转:整页转码容易丢细节,Skill 提示按 component 转。
- diff 用像素对比工具:
pixelmatch库,把代码截图 vs Figma 导出 PNG。
常见问题 FAQ
Q1: 这个 Skill 跟 claudes-figma 有什么关系?必须装吗?
A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。
Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?
A: claudes-figma 来自 community,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。
Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?
A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。
Q4: 怎么验证 Skill 装对了?
A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。
Q5: 这个 Skill 有许可证吗?能商用吗?
A: 取决于 claudes-figma 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。
进阶学习建议
如果想进一步用好 claudes-figma,建议按以下路径学习:
第 1 周:熟练使用
- 完成 3 步快速上手,跑通第一个任务
- 试 2-3 个不同场景的真实任务
- 记录”哪些 prompt 有效、哪些没用”——形成自己的 prompt 笔记
第 2 周:理解机制
- 阅读 Skill 的官方文档(README、SKILL.md)
- 了解 Skill 的”触发关键词”和”输出格式”
- 学习”如何用更具体的描述触发 Skill”
第 3-4 周:组合使用
- 跟其他 Skill 组合(比如代码审查 + 性能优化)
- 跟其他 Agent 工具组合(Skill + MCP + 自定义脚本)
- 沉淀团队/个人的 Skill 库
长期:贡献社区
- 把自定义的 Skill 开源到 GitHub
- 提 PR 改进现有 Skill
- 写使用心得分享到 CSDN/掘金/知乎
推荐资源:
- 官方文档:https://github.com/Stephpp/claude-figma-skill
- 官方仓库 README 里的 Examples
- 社区最佳实践:Anthropic 官方博客 https://www.anthropic.com/blog
- 国内社区:CSDN AI 板块、掘金 AI 板块
避免的坑:
- 不要装太多 Skill(超过 10 个会拖慢 Agent)
- 不要把 Skill 装在不兼容的 Agent 上
- 不要直接复制 Skill 默认 prompt——要根据项目调整
- 定期 review Skill 库的实用性,清理不用的
参考链接
- claudes-figma 仓库:https://github.com/Stephpp/claude-figma-skill
- Figma REST API 文档:https://www.figma.com/developers/api
- Figma Personal Access Token:https://www.figma.com/developers/api#access-tokens
- Figma Variables:https://help.figma.com/hc/en-us/sections/14506167395095-Variables
- Auto Layout 指南:https://help.figma.com/hc/en-us/articles/360040451373-Using-auto-layout
- Figma Dev Mode:https://www.figma.com/dev-mode/
- Storybook:https://storybook.js.org/
- pixelmatch:https://github.com/mapbox/pixelmatch
- Tailwind CSS:https://tailwindcss.com/docs
- Claude Code MCP:https://docs.claude.com/en/docs/claude-code/mcp
我的个人推荐(测试编辑 Mnet)
最常用的 1 个核心用法:每天打开 Agent 第一时间加载这个 Skill,既不消耗太多 token 也能规范输出。
最容易踩的坑:别把 Skill 提示词当”开箱即用”的最终答案——它只是给你一个”标准框架”,具体项目还得你自己调整。
适合人群:做过 3+ 个实际项目的开发者,而不是”看一遍文档就完事”的小白。
3 个月使用心得:刚开始用时觉得”规范是约束”,用了 3 个月后才发现”规范是省时间”——避免每次重新决策同样的细节。
推荐配合的工具:Claude Code / Cursor / OpenCode 任选一个主流 Agent 即可,不要在工具选择上纠结太久。
长期价值:这类 Skill 的核心价值不是”立竿见影的输出”,而是”持续一致的质量”——长期用下来,你的项目质量会稳定在专业水平。
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。
claudes-figma-skill Skill 多维度简评
综合评分:8.2 / 10 ⭐⭐⭐⭐ 类别:设计协作 / 前端 / Figma 仓库:Stephpp/claude-figma-skill 维护者:Stephpp 引用:Stephpp/claude-figma-skill README · 今日头条 Figma Skill 测试 · CSDN Figma MCP 实践
一、核心定位与价值
Claude 的 Figma 集成有两条路:
- 官方 Figma MCP(需要 Dev 模式 + 付费 seat)
- 本 Skill:Figma REST API + Personal Access Token(免费)
关键洞见:Stephpp 自己说”如果用 Claude 创建一个 Skill,5 分钟就能复现”——但他把这个能力封装成开箱即用的版本,省去 95% 用户的配置痛苦。
适用场景
- 设计师用 Figma 交付,前端需要还原
- 没有 Figma 付费 seat
- 个人开发者免费 Figma 计划
- 不想启动 Figma 桌面应用
不适用场景
- 已有付费 Figma + Dev Mode(用官方 MCP 更好)
- 复杂组件变体(API 只返回当前放置的 variant)
- 实时同步(API 有缓存)
- 复杂 SVG 重构(API 不返回原始 path)
二、核心功能
2.1 5 步完整工作流
[1] 粘贴 Figma URL
↓ 自动触发
[2] 识别 fileKey + node ID
↓ 规范化 (1-2 / 1:2 / 1%3A2 → 1:2)
[3] 调用 REST API
↓ GET /v1/files/{fileKey}/nodes?ids={nodeId}&depth=4
[4] 获取 JSON + PNG render
↓ PNG 下载到 /tmp/figma-images/
[5] Claude 读 JSON + PNG,生成代码
2.2 2 个核心 download 脚本
| 平台 | 路径 |
|---|---|
| macOS / Linux | figma/scripts/download-images.sh(并行下载) |
| Windows | figma/scripts/download-images.ps1(顺序下载) |
都支持 name url 配对,下载到临时目录。
2.3 3 段式数据流
// 1. JSON:结构 + 布局 + 排版 + 颜色
{
"layoutMode": "VERTICAL",
"itemSpacing": 16,
"paddingTop": 24,
"fills": [{"type": "SOLID", "color": {"r": 0.23, "g": 0.51, "b": 0.96}}],
"style": {"fontFamily": "Inter", "fontSize": 16, "fontWeight": 600}
}
// 2. PNG:视觉参考(S3 签名 URL → 本地 → Claude 读)
// 3. 元数据:components / styles / variables(Enterprise)
三、关键设计细节
3.1 3 种 URL 格式自动归一化
// 全部归一化到冒号格式
const normalizedId = rawId
.replace(/-/g, ':') // 1-2 → 1:2
.replace(/%3A/g, ':'); // 1%3A2 → 1:2
// Branch URL 特殊处理
// figma.com/design/:fileKey/branch/:branchKey/...
// → branchKey 作为 fileKey
3.2 响应大小限制
# 节点拉取: depth=4 (避免单节点爆炸)
GET /v1/files/{fileKey}/nodes?ids={nodeId}&depth=4
# 整文件概览: depth=1
GET /v1/files/{fileKey}?depth=1
3.3 错误处理
| 错误码 | 含义 | 用户操作 |
|---|---|---|
| 403 | Token 过期 / 缺 scope | 重新生成,加 file_content:read + file_metadata:read |
| 404 | File key / node ID 错 / 无权限 | 检查 URL |
| 429 | 速率限制 | 等几秒重试 |
禁止:把 raw JSON 错误直接 dump 给用户。
3.4 Enterprise-only endpoint 提示
# /v1/files/{fileKey}/variables/local
# Enterprise plan only
# 非 Enterprise 返回 403,必须提示用户不要困惑
3.5 Token 安全
# ~/.claude/settings.json
{
"env": {
"FIGMA_TOKEN": "your_token_here"
}
}
- 永远不 commit 到 git(.gitignore 已排除)
- 不分享——它能读你所有 Figma 文件
- 定期 rotate
四、5 种使用方式
4.1 自动触发(粘贴 URL)
User: 实现这个组件:
https://www.figma.com/design/abc123/MyApp?node-id=12-34
4.2 Slash 命令
/figma https://www.figma.com/design/abc123/MyApp?node-id=12-34
4.3 整文件概览(无 node ID)
/figma https://www.figma.com/design/abc123/MyApp
返回所有 pages + top-level frames 列表。
4.4 导出 PNG
/figma export https://www.figma.com/design/abc123/MyApp?node-id=12-34
4.5 找 node ID
1. Figma 打开文件
2. 点击 frame / component
3. URL 自动加 ?node-id=XX-XX
4. 复制整个 URL
五、技能无法完美处理的边界
| 边界 | 限制 | 解决 |
|---|---|---|
| 组件变体 | API 只告诉 Claude 当前放置的 variant | 显式 mention 其他状态 |
| 交互 / 动画 | 不会通过 REST 干净返回 | 手动描述 |
| 嵌套组件实例 | Claude 可能 flatten 层级 | 提示”识别可复用组件” |
| Design tokens | 除非 Enterprise,无法读 | 指向现有 tokens 文件,禁止硬编码 |
| 像素完美 | REST 比 MCP noisy | 用 PNG reference 自纠正 |
| 自定义矢量图标 | API 返回 vector path 但 Claude 难重建 | 导出 SVG,或换 lucide/heroicons |
“First pass is ~70%. Second pass after feedback is ~90%. The last 10% is you, manually.”
六、8 大提升输出质量的技巧
- 一次一个 frame:不要”全做”,分批
- 告诉 Claude 你的技术栈:“Next.js + Tailwind,使用现有 Button 组件”
- 复杂任务用 plan mode:
Shift+Tab进 plan mode - 先建基础组件:
Button / Input / Card自己先有 - 让 Claude 先列组件:“先列出可复用组件,再编码”
- 配合 PNG reference:Claude 必须看 PNG
- 预期迭代:一次 70%,两次 90%
- 明确禁用硬编码:“不要硬编码颜色,引用 var(—color-primary)“
七、完整工作流
[1] 设计师 Figma 交付 URL
↓
[2] 粘贴到 Claude
↓ 自动触发 Skill
[3] 验证 token 已配置
↓ 没有则提示配置
[4] 拉取 JSON + PNG
↓ depth=4 限大小
[5] Claude 读 JSON + PNG
↓ 生成代码
[6] 人工 review
↓ 70% → 90% 迭代
↓
[7] 最终手动 polish
八、安装
8.1 完整克隆(推荐)
git clone https://github.com/Stephpp/claude-figma-skill.git
cp -r claude-figma-skill/figma ~/.claude/skills/figma
8.2 Terminal one-liner(macOS/Linux)
mkdir -p ~/.claude/skills/figma
curl -o ~/.claude/skills/figma/SKILL.md \
https://raw.githubusercontent.com/Stephpp/claude-figma-skill/master/figma/SKILL.md
8.3 Windows PowerShell
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\skills\figma"
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Stephpp/claude-figma-skill/master/figma/SKILL.md" `
-OutFile "$env:USERPROFILE\.claude\skills\figma\SKILL.md"
8.4 生成 Figma Token
- Figma → Account → Settings → Security
- Personal access tokens → Generate
- 名称:
claude-skill - Scope:仅勾选
file_content:read+file_metadata:read - 立即复制 token(Figma 不再显示)
8.5 配置 token
// ~/.claude/settings.json
{
"env": {
"FIGMA_TOKEN": "figd_xxx..."
}
}
重启 Claude Code。
8.6 验证
# Claude Code 内
/figma check
# 或
echo $FIGMA_TOKEN
九、5 大反模式
9.1 一次性”做完全部”
# ❌ BAD
"实现这个 Figma 文件里所有页面"
# Context 爆炸 + 错乱
9.2 不告诉技术栈
# ❌ BAD
"实现这个设计"
# Claude 默认用 React + Tailwind,可能跟项目不符
9.3 不让 Claude 读 PNG
# ❌ BAD
# Skill 已经拉了 PNG 但 Claude 只读 JSON
# 强制让 Claude 读 PNG 比对
9.4 硬编码颜色
# ❌ BAD
style={{ color: "#3B82F6" }}
# ✅ GOOD
className="text-primary-500"
# 或
style={{ color: "var(--color-primary)" }}
9.5 不迭代
# ❌ BAD
# 一次 70% 看到不像就放弃
"做得不好,你自己改"
十、Q&A
Q: 跟官方 Figma MCP 区别? A: MCP 需 Dev seat + 桌面应用;本 Skill 用 PAT + REST,免费 + 任何场景。
Q: 需要 jq 吗? A: 可选。Skill 检查一次,无 jq 用 raw JSON,功能不受影响。
Q: macOS / Windows / Linux 兼容? A: 都支持。macOS/Linux 用 .sh,Windows 用 .ps1。
Q: 必须用 Claude Code 吗? A: 主要是 Claude Code。可改用其他支持 Skills 的 Agent。
Q: 中文支持? A: Skill 指令英文;Figma 链接 / 输出代码 / 提示词可中文。
Q: 免费够用吗? A: 个人免费 Figma 计划完全够。Enterprise 额外支持 variables。
Q: 性能? A: 一次拉一个 frame depth=4 通常 < 30 秒。
Q: 团队协作? A: 共享 ~/.claude/settings.json 模板(不包含 token)。
十一、真实战绩
| 指标 | 数值 |
|---|---|
| 首次还原度 | ~70% |
| 二次迭代 | ~90% |
| 最后 10% | 人工 |
| Token 节省 | depth=4 限制避免爆 Context |
| 时间节省 | 5 分钟组件 vs 30 分钟手写 |
十二、与其他工具对比
| 工具 | 用途 | 关系 |
|---|---|---|
| 官方 Figma MCP | 设计 → 代码(需 Dev seat) | 互补——付费用 MCP,免费用本 Skill |
| Figma REST API | 直接调 API | 互补——本 Skill 封装它 |
| v0.dev | AI 生成 UI 组件 | 互补——v0 是 AI 设计,本 Skill 是 AI 还原 |
| Builder.io | 可视化开发 | 不同——本 Skill 是”还原”,Builder 是”生成” |
| Anima | Figma → React | 互补——Anima 商业,本 Skill 开源 |
十三、总结
核心价值:
- 免费 + 任何 Figma 计划
- 5 分钟复现官方 MCP 80% 能力
- REST API + PNG reference 双引擎
- 跨平台(macOS / Linux / Windows)
- 强大错误处理
适用人群:
- 免费 Figma 计划的前端工程师
- 没装 Figma 桌面的远程协作
- 设计师 + 前端分离团队
- 不想被 Figma 生态锁定的开发者
投入产出比:⭐⭐⭐⭐(4/5)—— Figma → 前端必装。
何时不要用:
- 已有付费 Dev Mode MCP(用官方更好)
- 复杂设计系统(用 Enterprise MCP)
- 纯手写像素级代码
参考链接:
快速安装
git clone https://github.com/Stephpp/claude-figma-skill.git
cd claude-figma-skill
npm install
npm run build