关于 figma-to-swiftui
figma-to-swiftui 是一项将 Figma 设计转为原生 SwiftUI 屏幕和组件的技能,面向现有应用开发,并强调遵循项目架构、组件约定及设计证据。
主要功能
- 01将 Figma 设计转为 SwiftUI
- 02调整现有视图并保留行为
- 03检查资源、令牌和组件
- 04仅规划设计或映射令牌
- 05通过构建和视觉对比验证
适用场景
- 01根据 Figma 画面实现屏幕
- 02更新现有视图以匹配设计
- 03导出资源或映射设计令牌
- 04将渲染结果与设计稿对比
MCP 相关
该技能指导 Agent 按可用 Figma 工具的实际参数获取设计上下文和视觉参考。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ daetojemax/ figma-to-swiftui-skill --skill figma-to-swiftui安装后在 Claude Code 中输入/figma-to-swiftui确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.md.gitignorereferences/design-token-mapping.mdlayout-translation.mdfetch-strategy.mdcomponent-variants.mdadaptation-workflow.mdasset-handling.mdresponsive-layout.mdfigma-mcp-setup.mdscreen-discovery.mdsource-document.mdvisual-fidelity.md详细介绍
Figma 转 SwiftUI
交付与所请求的 Figma 设计一致、且适配现有应用的原生 SwiftUI。将生成的 Web 代码视为设计依据,而非待移植的代码。保留项目架构、组件 API,以及所请求更改以外的行为。
选择范围
根据用户请求和任何简要说明,确定目标屏幕、操作、状态及支持的设备。简要说明定义行为和范围;Figma 定义范围内的视觉效果。如果简要说明需要与设计协调,请阅读 source-document.md。
- 实现屏幕或组件: 收集相关设计依据和项目背景,然后完整实现。
- 更新现有 UI: 检查受影响的视图及其依赖项;使用 adaptation-workflow.md,在保留行为的同时消除视觉差异。
- 规划、映射令牌或导出资源: 交付相应产物,不要自动实现屏幕或更改共享设计系统。
依据代码库和设计解决常规选择。若尚未解决的选择会实质性改变范围、行为或目标设计,请提出询问;在等待澄清期间,继续处理不受影响的工作。规划或差异清单只是工作上下文,并非必须经过批准的关卡。
收集所需依据
根据当前可用的架构使用 Figma 工具。不要假设每个服务都提供相同的工具或参数。
- 对于
/design/或旧版/file/链接,提取文件键,并将node-id=3166-70147规范化为3166:70147。支持桌面端选区时,可用其指定目标。对于原型或画板链接,如果可能,解析其对应的设计画面;否则请求设计链接。 - 对于明确的屏幕或组件,获取设计上下文和视觉参考。若已提供或已获取的依据充分且仍然有效,则重复使用。
- 对于根节点、页面或含糊的流程,先通过元数据定位相关画面,再获取详细上下文。请参阅 screen-discovery.md。
- 将过大或被截断的上下文拆分为有意义的子节点,而不是重复同一个失败的请求。请参阅 fetch-strategy.md,了解工具选择和缓存范围。
- 检查现有组件、令牌、资源、部署目标及相关依赖项。如果 Code Connect 映射可用且有帮助,请阅读并验证映射的 SwiftUI 组件是否适用于所请求的变体。
如果无法访问 Figma,请使用 figma-mcp-setup.md。根据现有依据继续工作,并指出仍受阻的部分,不要臆造缺失的设计细节。
保持设计与平台行为
- 在可用时使用精确的设计值,并考虑原生渲染差异。优先使用能表达相同意图的项目令牌和组件;不要悄悄将请求的视觉变更替换为不匹配的令牌,也不要全局修改共享令牌。
- 使用真实的 Figma 资源制作图标、徽标和插图。未经用户指示,不要用 SF Symbols、文本或近似绘图替代。结构几何可以使用 SwiftUI;数据驱动的图像使用应用的图像管线。
- 让 iOS 渲染键盘、状态栏和主屏幕指示器等系统界面。遵循设计要求,保留原生导航、控件语义、安全区域和无障碍功能。
- 遵循项目在图像加载、本地化、状态和动画方面的相关约定。如果没有约定,请在工作范围内选择合适的原生实现;添加库并非前提。
仅加载当前工作所需的参考资料:
| 需求 | 参考资料 |
|---|---|
| 导出的美术资源、PNG 验证、资源目录缩放和着色 | asset-handling.md |
| Figma 变量、语义令牌、字体排版指标 | design-token-mapping.md |
| Auto Layout、尺寸、效果、过渡 | layout-translation.md |
| 多个设备画框或自适应容器布局 | responsive-layout.md |
| 组件状态、尺寸、样式、可选内容 | component-variants.md |
| 精确值提取或视觉差异诊断 | visual-fidelity.md |
完成请求的工作
对于实现任务,完成请求的 UI、资源和行为,包括指定的加载、错误、空白和禁用状态。继续进行相关的本地检查,并修复此次更改引入的问题。根据工作内容选择适当的验证方式:代码更改在条件允许时进行构建;视觉更改在有预览或模拟器时进行渲染对比。尊重明确要求跳过某项检查的指示;不要把选择验证方式变成例行提问。
视觉对比时使用相同的屏幕状态、外观和设备/容器尺寸。当请求的行为正常且已解决观察到的重大差异时,停止迭代。说明已检查的内容及任何剩余限制;仅检查代码无法证明视觉保真度。
仅当这项外部更改属于用户请求或已有授权时,才注册或更新 Code Connect 映射。实现任务本身并不要求发布映射。