マルチブランドFigmaトークン連携 2025 — CSS変数と配信をCIで同期する

公開: 2025年10月5日 · 読了目安: 6 · 著者: Unified Image Tools 編集部

マルチブランドでデザイントークンを管理する企業では、FigmaのテーマとコードベースのCSS変数が乖離しがちです。ブランドリニューアルや季節キャンペーンの度に tokens.json を手作業で編集すると、反映漏れやアクセシビリティ違反が発生し、エンジニア・デザイナー双方の再作業が膨らみます。本稿では、Figma Tokens・Style Dictionary・Next.jsを組み合わせ、CI/CDで整合性を担保するワークフローを紹介します。

TL;DR

  • Figma APIとDesign Tokensプラグインでブランド別のモードを抽出し、figma/<brand>.json を生成する。
  • Hex→CSSトークン変換 を利用して :rootdata-theme 切り替え用のCSS変数を自動生成し、TypeScriptの型定義まで一括出力する。
  • GitHub Actionsで tokens:pull → lint → contrast-check → build → deploy の順にCIを構築し、Palette Balancer APIでテーマごとのWCAG比率を検証する。
  • Pipeline Orchestrator と連携し、ブランドごとの配信環境(CDN/エッジ)へ差分デプロイする。
  • ダッシュボードで色差 (ΔE)、LCP、テーマ切替率をモニタリングし、ブランドガイドラインの実効性を定量化する。

1. 情報設計とリポジトリ構成

1.1 データモデル

まずはトークンを「コア」「ブランド」「コンポーネント」の3層に分け、抽象度の高い順に継承させます。

レイヤー説明主な属性備考
Coreタイポ・スペーシング等、全ブランド共通の基準font.family, spacing.scale, radius.scaleリポジトリ直下の tokens/core.json
Brandブランド固有の色・シャドウ・ロゴcolor.primary, elevation.shadow, logo.assetstokens/brands/<brand>.json に配置
ComponentDSコンポーネント単位の派生値button.primary.background, card.bordertokens/components/<component>.json として管理

1.2 リポジトリのディレクトリ例

/design-system
  ├─ tokens/
  │   ├─ core.json
  │   ├─ brands/
  │   │    ├─ default.json
  │   │    ├─ premium.json
  │   │    └─ youth.json
  │   └─ components/
  │        ├─ button.json
  │        └─ input.json
  ├─ scripts/
  │   ├─ pull-figma.mjs
  │   ├─ build-css.mjs
  │   └─ validate-contrast.mjs
  └─ packages/
      ├─ tokens-css/
      └─ tokens-ts/
  • pull-figma.mjs はFigma APIを叩いてブランドモードの差分を取得し、git diff を出力してレビュアーが視認できるようにします。
  • build-css.mjs では Hex→CSSトークン変換 のAPIを利用し、tokens-css パッケージに :root 用と data-theme 用のCSS変数を出力します。
  • TypeScriptの型は tokens-ts に生成し、Next.jsアプリで import type { ThemeToken } from '@uit/tokens-ts'; のように型安全なアクセスを提供します。

2. CI/CD パイプライン構築

2.1 GitHub Actionsの構成

以下はActionsワークフローの例です。

name: Tokens Sync

on:
  workflow_dispatch:
  schedule:
    - cron: '0 */6 * * *'
  push:
    paths:
      - 'tokens/**'
      - 'scripts/**'

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: node scripts/pull-figma.mjs
      - run: npm run lint:tokens
      - run: node scripts/validate-contrast.mjs
      - run: node scripts/build-css.mjs
      - run: npm run test:visual
      - run: npm run build
      - run: npm run deploy
        env:
          CDN_TOKEN: ${{ secrets.CDN_TOKEN }}
  • lint:tokens では JSON Schema を使って必須キーを検証します。
  • validate-contrast.mjsPalette Balancer のAPIを用い、ブランドモード別に3:1 / 4.5:1 ラベルを付けてレポート出力します。
  • test:visual は Storybook + Playwright でテーマ切り替えのスクリーンショット差分を比較します。

2.2 CI結果の通知

  • 成功時は tokens-sync Slackチャンネルに diff summary を投稿し、Excel等での手入力を介さず意思決定できます。
  • 失敗時は Palette Balancer の結果を添付し、コントラストが不足するトークンを自動ハイライトします。

3. 配信パイプラインとキャッシュ戦略

3.1 Pipeline Orchestrator の活用

Pipeline Orchestrator を利用すると、ブランド別の配信先CDNに差分だけを転送できます。

ブランドターゲット環境更新トリガーキャッシュ戦略
DefaultGlobal CDN毎日午前4時(JST)immutable + stale-while-revalidate(86400)
PremiumエッジKV + EUリージョン手動 + キャンペーン開始30分前短期キャッシュ(600秒) + Prefetch
YouthAPAC CDN + PWAアプリバージョン更新時Service Workerキャッシュ + バージョンハッシュ
  • CDN転送後は pwa-update イベントを発火し、Service Workerが新トークンを取得できるようにします。
  • Next.jsの app/layout.tsxdata-theme をサーバーサイドレンダリングし、初回描画時から正しいブランドテーマを表示させます。詳細は Web to Print Workflow 2025 — ブランド配布と品質保証 の配信章を参照してください。

4. ガバナンスと可視化

4.1 KPIダッシュボード

LookerまたはGrafanaで以下のメトリクスを可視化します。

  • ΔE差分: ブランド更新ごとの色差(Palette Balancer出力)。
  • LCP(P75): テーマ切り替え時の描画遅延を監視。
  • Theme Toggle Rate: ユーザーがダーク/ライトを切り替えた比率。
  • Deployment Frequency: トークン更新の頻度と成功率。

4.2 レビュー体制

  • 毎週の「Design Ops Sync」でトークン差分を確認し、逸脱があれば直ちにFigma側へフィードバックします。
  • 四半期ごとに tokens-audit.md を更新し、ブランドごとの投資配分と改善指標を整理します。

5. ケーススタディ

大手EC企業での導入では以下の成果がありました。

  • トークン同期にかかる時間が平均5.5時間 → 1.2時間に短縮。
  • WCAG違反カラーの検出件数が月18件 → 1件に激減。
  • ブランド別テーマ切り替え時のLCP(P75)が3.1秒 → 2.2秒に改善。
指標導入前導入後改善率
同期リードタイム5.5時間1.2時間-78%
手動修正差分42件/月6件/月-86%
ブランドオーナー承認待ち時間2.3日0.8日-65%

まとめ

マルチブランドのデザイントークン運用は、Figmaとコードの“二重管理”をなくし、CI/CDに統合することで初めてスケールします。Hex→CSSトークンPalette Balancer の自動検証を組み合わせれば、アクセシビリティやパフォーマンスの劣化を防ぎながら高速にブランド展開が可能です。まずはFigmaのモード構造を棚卸し、tokens:pull ワークフローを試すところから始めてください。

関連記事

デザイン運用

AIラインベクターゲートウェイ 2025 — イラストレーターのための高忠実ライン抽出とベクター化SOP

アナログ原稿から最終ベクターアセットまでを高精度に統合するワークフローを解説。ライン抽出AI、ベクター整形、自動QA、チーム配信を一体化した最新のIllustrator向け手順。

デザイン運用

デザインコード変数同期 2025 — Figma変数とDesign Token CIで破綻を防ぐ

Figma変数とコードトークンの差分を1日で解決するための設計。変数管理のバージョン戦略、CIステップ、リリースチェックリストを提示し、デザインコーダーが品質を維持したまま高速に反映できるワークフローを解説。

AI配色ガバナンス 2025 — Webデザイナーのためのプロダクション色管理フレームワーク

AI支援時代のWebデザインで配色の一貫性とアクセシビリティを担保するためのプロセスとツール連携。トークン設計、ICC変換、レビュー自動化まで網羅。

自動化/QA

AIデザインハンドオフQA 2025 — Figmaと実装レビューを束ねる自動化レール

Figma生成のデザイン更新をAIで評価し、コードレビューと配信監査を同時進行させるパイプラインを構築。プロンプト運用、ガバナンス、監査証跡の作り方を解説します。

デザイン運用

デザインシステム継続監査 2025 — FigmaとStorybookを反復同期させる運用レシピ

FigmaライブラリとStorybookコンポーネントを崩さずに同期させるための監査パイプライン。差分検出、アクセシビリティ指標、リリース承認フローを解説。

デザイン運用

レスポンシブアイコン制作 2025 — スプリント設計と自動検証でUI破綻をゼロにする

マルチプラットフォームに対応するアイコン制作を、デザインスプリントと自動QAで安定させる実務ノウハウ。Figma運用、コンポーネント設計、描画テスト、配信パイプラインまで一気通貫で解説。