mcpField
F
figma-swiftui

figma-swiftui

github.com/figmaDesign & UI2.1k1.3k installsUpdated today
Repository

About figma-swiftui

A routing skill for translating between Figma designs and SwiftUI code in either direction. It directs work to the relevant reference and provides shared guidance for reading Figma context and mapping iOS design patterns.

Key features

  1. 01Route design-to-code and code-to-design tasks
  2. 02Clarify ambiguous translation direction
  3. 03Read Figma structure with `get_design_context`
  4. 04Map iOS semantic colors and SF Symbols
  5. 05Recognize common iOS interface patterns

Use cases

  1. 01Build SwiftUI screens from Figma frames
  2. 02Send SwiftUI views or tokens to Figma
  3. 03Resolve ambiguous Figma and Swift file requests

MCP support

Uses Figma MCP's `get_design_context` to read design structure, with Swift and SwiftUI specified as the client language and framework. For code-to-design work, it directs use of `use_figma` after loading the stated skills.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/figma/mcp-server-guide --skill figma-swiftui

After installing, type/figma-swiftuiin Claude Code to confirm it loaded.

Bundled filesreferences/code-to-design.mdreferences/design-to-code.md

Details

From the project README

Figma ↔ SwiftUI

Translation between Figma designs and SwiftUI code, both directions. This file is a router — actual guidance lives in the references below.

Pick the direction

DirectionTriggerReference
Design → codeUser wants SwiftUI in their iOS project from a Figma file/framereferences/design-to-code.md
Code → designUser wants to push SwiftUI views / screens / tokens into a Figma filereferences/code-to-design.md

If the request is ambiguous — a Figma URL and .swift files both present, no verb makes it clear — ask the user which direction before loading a reference.

Shared context (applies to both directions)

These points hold regardless of direction; the direction-specific references assume them.

  1. get_design_context is the read tool for Figma. Pass clientLanguages: "swift" and clientFrameworks: "swiftui" so the response is framed as Swift. URL → tool args: figma.com/design/:fileKey/:fileName?node-id=:nodeId → use fileKey, replace - with : in nodeId. For figma.com/design/:fileKey/branch/:branchKey/:fileName, use branchKey as fileKey.
  2. The React+Tailwind in get_design_context output is a structural reference, not a literal source. It approximates the visual. Never transliterate position: absolute / pixel frames / mix-blend-mode stacks into SwiftUI or into Figma — the screenshot is the source of truth in both directions.
  3. iOS HIG semantic colors are tokens, not hex. var(--backgrounds/primary, …), var(--labels/secondary, …), var(--separators/non-opaque, …) etc. map to Color(.systemBackground), Color.secondary, Color(.separator) in SwiftUI, and to variables in a semantic collection in Figma. Keep the mapping; drop the literal RGBA.
  4. SF Symbols round-trip by name in both directions — never by codepoint. Design → code: get_design_context substitutes Figma's SF Symbol glyph runs back into <SFSymbol>{Image(systemName: "...")}</SFSymbol> wrappers in the response. Use those names verbatim. Code → design: call figma.util.getSfSymbolCharacter(name) inside use_figma to convert a symbol name to the matching character — never look up codepoints by hand.
  5. Recognize the underlying iOS pattern, not the literal node / view name. The same patterns recur in both directions: large title + back chevron + trailing action = NavigationStack chrome; bottom row of icon+label pairs = TabView; repeating same-height rows with leading/trailing chrome = List. Match those system patterns rather than rebuilding them from primitives.
  6. For code → design, use_figma is the API. Always load figma-use before any use_figma call. If the task involves building a full screen, also load figma-generate-design; if it involves building components or a design system, also load figma-generate-library.

References

DocWhen to load
references/design-to-code.mdTranslating a Figma design / frame into SwiftUI
references/code-to-design.mdPushing SwiftUI views / screens / tokens into Figma

Comments

Markdown supported