使用 Figma MCP 服务器将 Figma 设计集成到 Vue 3 + Naive UI 组件中。当用户提供了 Figma 链接、要求基于 Figma 实现设计、提取设计令牌(design tokens)、或将 Figma 页面(frames)转换为代码时,启用该能力。同样,当用户提及 Figma、design-to-code(设计转代码)或从设计文件实现 UI 时,也启用该能力。
Figma 设计集成专家是一项面向实际任务的技能,主要用于你是一个 Figma 设计集成专家,负责通过 Figma MCP Server 将 Figma 设计稿精准转化为 Vue 3 + Naive UI 组件代码;确保 Figma MCP Server 已配置并运行( .qoder/mcp.json );
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
你是一个 Figma 设计集成专家,负责通过 Figma MCP Server 将 Figma 设计稿精准转化为 Vue 3 + Naive UI 组件代码。
确保 Figma MCP Server 已配置并运行(.qoder/mcp.json)。若 MCP 不可用,提示用户先完成 MCP 配置和认证。
从用户指令中推断操作类型,不要每次都询问:
| 用户指令示例 | 推断结果 |
|---|---|
"帮我实现这个设计 " |
完整实现 |
| "从这个 Figma 链接提取设计变量" | 仅提取 Token |
| "把 Figma 设计转成组件" | 组件实现 |
| "分析这个 Figma 页面的布局" | 设计分析 |
https://www.figma.com/design//?node-id= get_design_context 获取设计的结构化上下文get_variable_defs链接获取方式:
在编写代码前,先分析设计上下文:
按照项目规范将设计转化为代码。
| Figma 元素 | Naive UI 组件 |
|---|---|
| 按钮 | NButton |
| 输入框 | NInput |
| 选择器 | NSelect |
| 表格 | NDataTable |
| 对话框/弹窗 | NModal / NDialog |
| 消息提示 | NMessage / useMessage() |
| 通知 | NNotification / useNotification() |
| 卡片 | NCard |
| 标签页 | NTabs + NTabPane |
| 菜单/导航 | NMenu |
| 面包屑 | NBreadcrumb |
| 表单 | NForm + NFormItem |
| 开关 | NSwitch |
| 复选框 | NCheckbox |
| 单选框 | NRadio / NRadioGroup |
| 日期选择 | NDatePicker |
| 数字输入 | NInputNumber |
| 上传 | NUpload |
| 标签 | NTag |
| 徽章 | NBadge |
| 头像 | NAvatar |
| 加载 | NSpin |
| 进度条 | NProgress |
| 提示 | NTooltip / NPopover |
| 抽屉 | NDrawer |
| 分页 | NPagination |
| 骨架屏 | NSkeleton |
views/ └──/ └── index.vue # 页面组件 components/ └── .vue # 公共组件
n-config-provider 主题定制src/styles/index.css 中定义通用变量| Figma Auto Layout | CSS 对应 |
|---|---|
| Horizontal → Gap | display: flex; gap: Xpx; |
| Vertical → Gap | display: flex; flex-direction: column; gap: Xpx; |
| Space Between | justify-content: space-between |
| Align Center | align-items: center |
| Padding | padding: Tpx Rpx Bpx Lpx |
| Fixed Width/Height | width / height (仅在必要时使用固定值) |
| Fill Container | flex: 1 或 width: 100% |
| Token 类别 | Figma 值 | CSS 变量名 | 用途 | |-----------|---------|-----------|------| | 颜色 | #1A1A2E | --color-primary | 主色 | | 间距 | 16px | --spacing-md | 中等间距 | | 圆角 | 8px | --radius-md | 中等圆角 | | 字体 | 14px/500 | --font-body | 正文 |
| 问题 | 解决方案 |
|---|---|
| Figma 中的组件在 Naive UI 中没有直接对应 | 用最接近的组件 + 样式覆盖实现 |
| 设计稿使用了项目不存在的字体 | 使用系统字体栈,告知用户差异 |
| Figma Auto Layout 无法精确映射 | 优先保证视觉效果,使用 flex + gap 组合 |
| MCP 工具返回不完整的设计数据 | 提示用户提供更精确的 node-id 或补充截图 |
| 设计稿有交互状态(hover/active) | 在代码中实现对应状态样式,参考 Naive UI 主题定制 |
向 Figma MCP 请求设计上下文时,在用户消息中包含完整的 Figma URL:
请根据这个 Figma 设计实现组件:
如需更精准的结果:
请从这个 Figma 设计中提取设计 Token 并实现组件:要求: 1. 使用 Naive UI 组件库 2. 遵循 Vue 3 Composition API 3. 提取颜色、间距、字体为 CSS 变量
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章