jpskill.com
🎨 デザイン コミュニティ

figma-to-tailwind

Figmaで作成したデザインの構成要素や色などの情報を、Tailwind CSSというウェブサイトのデザインを効率化する技術で使えるように自動で変換し、デザインの実装作業をスムーズにするSkill。

📜 元の英語説明(参考)

Figma MCPで取得したデザイン変数をTailwind CSS標準クラスに変換する。Figma MCPのコード生成後やデザイン実装時に自動起動。

🇯🇵 日本人クリエイター向け解説

一言でいうと

Figmaで作成したデザインの構成要素や色などの情報を、Tailwind CSSというウェブサイトのデザインを効率化する技術で使えるように自動で変換し、デザインの実装作業をスムーズにするSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o figma-to-tailwind.zip https://jpskill.com/download/18134.zip && unzip -o figma-to-tailwind.zip && rm figma-to-tailwind.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18134.zip -OutFile "$d\figma-to-tailwind.zip"; Expand-Archive "$d\figma-to-tailwind.zip" -DestinationPath $d -Force; ri "$d\figma-to-tailwind.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して figma-to-tailwind.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → figma-to-tailwind フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1
📖 Claude が読む原文 SKILL.md(中身を展開)

この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。

Figma Variables → Tailwind CSS 変換スキル

このスキルは、Figma MCPで取得したデザイン変数(Variables)を、Tailwind CSS標準クラスに自動変換するためのガイドです。

いつ使用するか

以下の状況で、このスキルを自動的に適用してください:

  1. Figma MCPでデザインを取得した後

    • mcp__figma-mcp__get_design_contextmcp__figma-mcp__get_variable_defsを実行した直後
    • Figma MCPが生成したコードにvar(--spacing-*)var(--width-*)などの変数が含まれている場合
  2. デザイン実装中

    • コンポーネントのスタイリング時
    • レイアウト調整時
    • Figma変数を使用しているコードを発見した場合
  3. コードレビュー時

    • px-[var(--spacing-4)]のようなFigma変数の直接使用を発見した場合
    • インラインスタイルでstyle={{ fontSize: 'var(--h4-font-size)' }}のような記述を発見した場合

変換手順

ステップ1: マッピングファイルを確認

frontend/lib/figma-tailwind-map.tsを参照して、Figma変数がTailwind標準クラスに変換可能か確認します。

import {
  spacingMap,
  widthMap,
  heightMap,
  borderRadiusMap,
  typographyMap,
  figmaVarToTailwindClass,
  isStandardTailwindClass
} from '@/lib/figma-tailwind-map'

ステップ2: 変換ルールの適用

スペーシング(spacing)

// ❌ Figma MCPが生成したコード
<div className="px-[var(--spacing-4,16px)] py-[var(--spacing-2,8px)] gap-[var(--spacing-3,12px)]">

// ✅ Tailwind標準クラスに変換
<div className="px-4 py-2 gap-3">

変換マッピング:

  • spacing/11 (4px)
  • spacing/22 (8px)
  • spacing/33 (12px)
  • spacing/44 (16px)
  • spacing/1-51.5 (6px) ※カスタム
  • spacing/2-52.5 (10px) ※カスタム

サイズ(width/height)

// ❌ Figma MCPが生成したコード
<div className="w-[var(--width-w-4,16px)] h-[var(--height-h-5,20px)]">

// ✅ Tailwind標準クラスに変換
<div className="w-4 h-5">

ボーダー半径(border-radius)

// ❌ Figma MCPが生成したコード
<div className="rounded-[var(--border-radius-rounded-md,8px)]">

// ✅ Tailwind標準クラスに変換
<div className="rounded-md">

タイポグラフィ(typography)

// ❌ Figma MCPが生成したコード(インラインスタイル)
<h1 style={{
  fontFamily: 'var(--h4-font-family)',
  fontSize: 'var(--h4-font-size)',
  fontWeight: 'var(--h4-font-weight)',
  lineHeight: 'var(--h4-line-height)',
}}>

// ✅ Tailwind標準クラスに変換
<h1 className="text-h4">

// または Tailwind標準で代用可能な場合
<p className="text-sm">  // body2と同等 (14px/20px)
<p className="text-base">  // body1と同等 (16px/24px)

実装済みのカスタムクラス:(tailwind.config.tsで定義済み)

  • text-h4: 24px/32px/bold
  • text-h5: 20px/28px/bold
  • text-title: 18px/28px/bold
  • text-body1: 16px/24px/normal
  • text-body2: 14px/20px/normal
  • text-body3: 12px/16px/normal

注意: 新規デザイン変換時は必ずFigma MCPのHEX/px値を確認し、既存クラスと比較すること。名前の類似性だけで判断しない。

ステップ3: カラーの扱い

カラーはFigma MCPから届くHEX値を確認して、適切に変換します。

// ❌ Figma独自変数の直接使用は禁止
<div className="bg-[var(--base-primary)]">
<div className="text-[var(--base-foreground)]">

// ✅ 正しい実装
// 1. まずFigmaのHEX値と既存のshadcn/ui変数を比較
//    --base-primary: #00a0e9 = --primary: #00a0e9 → 同じ色!
<div className="bg-primary text-primary-foreground">

// 2. shadcn/uiにない独自色の場合はtailwind.config.tsに追加
//    --base-dark-primary: #006cab → shadcn/uiにない
//    → tailwind.config.tsに 'dark-primary': '#006cab' を追加
<div className="text-dark-primary">

重要な原則:

  • 名前の類似性だけで判断しない - 必ずHEX値を確認する
  • Figma MCPからはHEX形式で届くので、既存のshadcn/ui変数(HSL形式)と比較
  • 同じ色なら既存の変数を使用(例: bg-primary
  • 異なる色ならtailwind.config.tsにカスタム定義を追加

ステップ4: 標準にない値の対応

マッピングにない値を発見した場合:

  1. tailwind.config.tsに追加

    theme: {
      extend: {
        spacing: {
          '13': '52px',  // 新しいカスタム値
        }
      }
    }
  2. figma-tailwind-map.tsに追加

    export const spacingMap: Record<string, number | string> = {
      // ... 既存のマッピング
      'spacing/13': 13,  // 新しいマッピング
    }
  3. 実装で使用

    <div className="px-13">

禁止事項

❌ Figma変数の直接使用

// 禁止
<div className="px-[var(--spacing-4)]">
<div className="gap-[var(--spacing-2,8px)]">
<div style={{ width: 'var(--width-w-4)' }}>

❌ カスタムユーティリティクラス

/* globals.cssに以下を追加するのは禁止 */
.w-spacing-2 {
  width: var(--spacing-2);
}

.header-base {
  height: var(--height-h-16);
}

❌ インラインスタイルの乱用

// 特別な理由がない限り禁止
<div style={{
  fontSize: 'var(--h4-font-size)',
  padding: 'var(--spacing-4)'
}}>

実装例

Before(Figma MCPが生成)

export default function Main() {
  return (
    <div className="bg-[var(--base/background-gray,#f6f8f9)] border-[var(--base/border,#edeef1)] border-b-0 border-l-[var(--border-width/border,1px)]">
      <div className="bg-[var(--base/background,#ffffff)] h-[64px] px-[var(--spacing/4,16px)] py-0">
        <div className="gap-[var(--spacing/2,8px)]">
          <div className="rounded-[var(--border-radius/rounded-md,8px)] size-[28px]">
            <Icon className="size-[16px]" />
          </div>
          <div className="gap-[var(--spacing/3,12px)]">
            <div style={{
              fontFamily: 'var(--h5-font-family)',
              fontSize: 'var(--h5-font-size)',
              fontWeight: 'var(--h5-font-weight)',
              lineHeight: 'var(--h5-line-height)',
            }}>
              サポート
            </div>
          </div>
        </div>
      </div>
    </div>
  )
}

After(Tailwind標準クラスに変換)

export default function Main() {
  return (
    <div className="bg-muted border border-l border-b-0">
      <div className="bg-background h-16 px-4 py-0">
        <div className="gap-2">
          <div className="rounded-md size-7">
            <Icon className="size-4" />
          </div>
          <div className="gap-3">
            <div className="text-h5">
              サポート
            </div>
          </div>
        </div>
      </div>
    </div>
  )
}

チェックリスト

変換時に以下を確認してください:

  • [ ] var(--spacing-*)px-*, py-*, gap-*等に変換
  • [ ] var(--width-*)w-*に変換
  • [ ] var(--height-*)h-*に変換
  • [ ] var(--border-radius-*)rounded-*に変換
  • [ ] インラインスタイルのフォント指定をtext-*クラスに変換
  • [ ] カラーはCSS変数のまま保持
  • [ ] 標準にない値はtailwind.config.tsに追加
  • [ ] カスタムユーティリティクラスを作成していない

参照ドキュメント

  • 変換マッピング: frontend/lib/figma-tailwind-map.ts
  • Tailwind設定: frontend/tailwind.config.ts
  • 開発ガイド: documents/development/coding-rules/frontend-rules.md セクション12

注意事項

  • このスキルはFigma MCPのコード生成後に自動的に適用されるべきです
  • 変換後のコードは必ずLintとBuildチェックを行ってください
  • 疑問がある場合は、必ずfigma-tailwind-map.tsを参照してください
  • カラー定義は例外として、常にCSS変数を使用してください