figma-swiftui について
Figma デザインと SwiftUI コードの双方向変換を扱うルーティングスキルです。作業の方向に応じたリファレンスへ案内し、Figma コンテキストの読み取りや iOS デザインパターンの対応付けに共通の指針を示します。
主な機能
- 01デザインからコード/コードからデザインへの振り分け
- 02方向が曖昧な変換依頼の確認
- 03`get_design_context` による Figma 構造の取得
- 04iOS のセマンティックカラーと SF Symbols の対応
- 05一般的な iOS インターフェースパターンの認識
活用シーン
- 01Figma フレームから SwiftUI 画面を作成
- 02SwiftUI のビューやトークンを Figma に反映
- 03Figma と Swift ファイルが混在する依頼の方向確認
MCP 対応
Figma MCP の `get_design_context` を使い、クライアント言語に Swift、フレームワークに SwiftUI を指定してデザイン構造を読み取ります。コードからデザインへの作業では、指定スキルを読み込んでから `use_figma` を使います。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ figma/ mcp-server-guide --skill figma-swiftuiインストール後、Claude Code で/figma-swiftuiを入力して読み込まれたか確認します。
同梱ファイルreferences/code-to-design.mdreferences/design-to-code.md
詳細
Figma ↔ SwiftUI
Figma のデザインと SwiftUI コードを双方向に変換します。このファイルはルーターです。実際のガイダンスは以下のリファレンスに記載されています。
方向を選択する
| 方向 | トリガー | リファレンス |
|---|---|---|
| デザイン → コード | Figma ファイル/フレームをもとに、iOS プロジェクトで SwiftUI を使いたい | references/design-to-code.md |
| コード → デザイン | SwiftUI のビュー/画面/トークンを Figma ファイルに反映したい | references/code-to-design.md |
依頼の方向が曖昧な場合(Figma の URL と .swift ファイルが両方あり、どちらの方向かを示す動詞がない場合)は、リファレンスを読み込む前に、どちらの方向を希望するかユーザーに確認してください。
共通コンテキスト(両方向に適用)
方向にかかわらず、次の点が当てはまります。方向別のリファレンスでは、これらを前提としています。
get_design_contextは Figma の読み取りツールです。 応答を Swift 向けにするため、clientLanguages: "swift"とclientFrameworks: "swiftui"を渡してください。URL → ツール引数:figma.com/design/:fileKey/:fileName?node-id=:nodeId→fileKeyを使用し、nodeIdの-を:に置き換えます。figma.com/design/:fileKey/branch/:branchKey/:fileNameの場合は、branchKeyをfileKeyとして使用します。get_design_contextの出力に含まれる React+Tailwind は、構造を把握するための参考であり、そのまま使えるソースではありません。 ビジュアルを近似的に表現したものです。position: absolute/ピクセル単位のフレーム/mix-blend-modeの重ね合わせを SwiftUI や Figma にそのまま置き換えてはいけません。どちらの方向でも、スクリーンショットが信頼できる唯一の情報源です。- iOS HIG のセマンティックカラーは、16 進数ではなくトークンです。
var(--backgrounds/primary, …)、var(--labels/secondary, …)、var(--separators/non-opaque, …)などは、SwiftUI ではColor(.systemBackground)、Color.secondary、Color(.separator)に、Figma ではセマンティックコレクション内の変数に対応します。この対応関係を維持し、RGBA のリテラル値は使用しないでください。 - SF Symbols は、どちらの方向でも名前を使って往復変換します。コードポイントは使いません。 デザイン → コード:
get_design_contextは、応答内で Figma の SF Symbol グリフの実行を<SFSymbol>{Image(systemName: "...")}</SFSymbol>のラッパーに戻します。これらの名前をそのまま使用してください。コード → デザイン:use_figma内でfigma.util.getSfSymbolCharacter(name)を呼び出し、シンボル名を対応する文字に変換します。コードポイントを手動で調べてはいけません。 - ノード/ビューの名前をそのまま見るのではなく、基盤となる iOS のパターンを認識してください。 同じパターンが両方向で繰り返し登場します。大きなタイトル+戻るシェブロン+末尾のアクションは
NavigationStackのクローム、アイコンとラベルのペアが並ぶ下部の行はTabView、先頭と末尾にクロームがある高さのそろった行の繰り返しはListです。プリミティブから作り直すのではなく、こうしたシステムパターンに合わせてください。 - コード → デザインでは、API として
use_figmaを使用します。use_figmaを呼び出す前に、必ずfigma-useを読み込んでください。画面全体の構築が含まれる場合はfigma-generate-designも読み込みます。コンポーネントやデザインシステムの構築が含まれる場合はfigma-generate-libraryも読み込みます。
リファレンス
| ドキュメント | 読み込むタイミング |
|---|---|
| references/design-to-code.md | Figma のデザイン/フレームを SwiftUI に変換するとき |
| references/code-to-design.md | SwiftUI のビュー/画面/トークンを Figma に反映するとき |
コメント
Markdown 対応