评分明细
适用场景
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-figmaSkill 让你 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<br>
cd claude-figma-skill<br>
npm install<br>
npm run build<br>
```<br>
### 第 2 步:在 Claude Code 中配置 MCP<br>
编辑 `~/.claude/mcp.json`:<br>
```json<br>
{<br>
"mcpServers": {<br>
"figma": {<br>
"command": "node",<br>
"args": ["./claude-figma-skill/build/index.js"],<br>
"env": {<br>
"FIGMA_TOKEN": "<your-figma-token>"<br>
}<br>
}<br>
}<br>
}<br>
```<br>
重启 Claude Code,`/mcp` 应看到 `figma` 工具集。<br>
### 第 3 步:用 Skill 跑第一个转码任务
> 帮我做这些事,用 figma Skill:
> 1. 打开 https://www.figma.com/file/ABC123/MyDesign?node-id=1:2
> 2. 抽取整页设计 token(颜色、字号、间距、阴影、圆角)
> 3. 把页面里所有 `Button` 组件转成 React + Tailwind 代码
> 4. 输出到 `src/components/figma/Button.tsx`
Agent 会:
1. 调 `figma.file` 拿 file metadata;
2. 调 `figma.nodes` 拿指定 node 树;
3. 调 `figma.styles` 抽 styles;
4. 调 `figma.variables` 抽 design tokens(如果文件用 Variables);
5. 解析 component variants,转成 TypeScript props;
6. 输出:
```tsx
// 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。
参考链接
-
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
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)
- 纯手写像素级代码
参考链接:
📊 评分与标签
评分说明
总分 8.2/10 · P_优选
📊 可观测社区指标(数据核验日期:2026-07-23)
- 官方仓库与维护入口:Stephpp/claude-figma-skill。GitHub API 核验时触发限流,未记录无法再次确认的 Stars/Forks 精确快照,避免用估算值替代事实。
📦 可安装性 2.1/2.5
- 官方来源提供可复制的 Skill、MCP 或 Markdown 目录;安装前仍需按 README 配置宿主客户端、运行时和最小权限凭据。
- 来源:官方仓库
- 与 Anthropic Skills、OpenCode Skills 对比,本项遵循开放目录思路,但插件命令、脚本依赖和更新方式并不完全统一。
🎯 实用性 2.1/2.5
- 用 Figma REST API 辅助设计到代码;这里只确认官方材料明确描述的范围,未把未经实测的准确率、性能或生产收益计入评分。
- 来源:官方功能说明
- 与 GitHub CLI、Zapier 等专用工具对比,Skill 更适合把操作步骤交给 Agent 复用,不能替代完整运行时、监控和人工验收。
📖 文档质量 1.6/2.0
- README、技能目录或官方参考页可核对安装、能力和约束;未发现统一的端到端性能基准,因此采用保守文档分。
- 来源:官方文档
- 与 Vercel Agent Skills、Obra Superpowers 对比,目标任务说明直接,但版本迁移、失败恢复和跨平台案例仍依赖上游维护。
👥 社区活跃 1.1/1.5
- 仓库公开提交历史、Issue 与 Pull Request 入口可追踪维护;因 API 限流未写入易变精确计数,社区分不依据未经复核的热度数字。
- 来源:官方维护入口
- 与 anthropics/skills、obra/superpowers 对比,具备公开协作入口,但不能据此推导响应时效、长期承诺或企业支持等级。
🔗 兼容性 1.3/1.5
- 可在能够读取 Skills/MCP 指令并具备相应工具权限的 Agent 环境使用;API、Token、浏览器和本地工具链会形成额外约束。
- 来源:官方兼容性依据
- 与 Claude Code、Codex、Cursor 的原生扩展对比,开放文件格式便于迁移,但触发、脚本执行和资源加载行为存在客户端差异。
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
🏷️ 标签说明
- 免费: 公开来源可访问;外部服务费用不计入 Skill 本身。来源:官方来源
- 设计: 核心能力与“用 Figma REST API 辅助设计到代码”直接对应。来源:官方来源
- MCP: 官方材料显示其面向该使用方式。来源:官方来源
- API: 官方材料显示其面向该使用方式。来源:官方来源
局限说明:本次为官方仓库与文档核验,未执行跨客户端、跨操作系统端到端基准测试;外部 API 配额、授权和价格可能变化,应以上游最新说明为准。
📋 来源与核验记录
- ✅ 官方仓库页面已核验:https://github.com/Stephpp/claude-figma-skill
- ✅ 官方文档或功能页已核验:https://www.figma.com/developers/api
- ⚠️ 未验证(访问限制):GitHub REST API 于 2026-07-23 返回限流,未采用无法复核的精确 Stars/Forks 数值
- ⚠️ 间接来源(二手数据):未用于核心功能与维度评分
- ❌ 已删除死链:无