import-tokens-figma について
デザイントークンを Figma の変数に取り込むスキルです。DTCG トークンを決定論的に解析し、エイリアスや複数モードの値を含む既存変数を重複させずに更新します。
主な機能
- 01DTCG トークンを標準データに解析
- 02エイリアスと複数モード値の取り込み
- 03一致する変数を重複なく更新
- 04読み戻しによる結果確認
活用シーン
- 01DTCG トークンファイルの Figma への取り込み
- 02トークン変更後の既存変数の更新
- 03Tailwind や SCSS の出力をトークンワークフローに導入
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ southleft/ skills-for-figma --skill import-tokens-figmaインストール後、Claude Code で/import-tokens-figmaを入力して読み込まれたか確認します。
同梱ファイルscripts/apply-tokens.jsscripts/parse-tokens.mjs
詳細
import-tokens-figma — デザイントークン → Figma 変数
トークンのソース(DTCG の tokens.json、Tailwind/SCSS のエクスポート、またはプレーンなトークンオブジェクト)から Figma 変数を作成・更新します。エイリアスと複数モードの値に対応しています。再実行しても安全です。保存済みの Figma ID → キー → 完全一致する名前の順に変数を照合するため、重複を作成せずに既存の変数を更新します。
スキルの範囲
use_figmaのルール — まず公式のfigma-useスキルを読み込んでください。これは Figma Plugin API の完全なリファレンスです。これらのスクリプトが依存する主なルールは、トップレベルのawaitとreturnを使ったプレーンな JS(IIFE やfigma.closePlugin()は使用しないこと。console.logの内容は返されません)、各スクリプトの先頭で入力をconstとしてインライン化すること、色の値を 0~1 の範囲にすること、テキスト操作の前にフォントを読み込むこと、await figma.getNodeByIdAsync(...)を使うこと、そして アトミックエラー(スクリプトが失敗すると変更は何も適用されません。エラーを読み、修正して再試行してください)です。- 逆方向(Figma → コード)→
export-tokens-figma。
ワークフロー
- ソースを正規のトークンリストに決定的に変換します。 DTCG 入力(
export-tokens-figmaが出力したものを含む)では、手作業でフラット化せず、同梱のパーサーを実行してください。
パーサーは、適用スクリプトに貼り付けるnode scripts/parse-tokens.mjs tokens.tokens.json --default-mode Light --collection Brand # --strip-prefix "ds-" drops a leading name prefix on import (e.g. ds-color/x → color/x)COLLECTION_NAME/MODES/TOKENS定数を正確に出力します。$typeから Figma の型への変換、{ref}エイリアス、複数モード($extensions…modes)、dimensionの単位の除去、variableIdの往復処理に対応しています。DTCG 以外のソース(Tailwind/SCSS のエクスポート)では、まず DTCG にエクスポートするか、次の形式でTOKENS配列を手作業で作成してください。{ name: "Color/Brand/Primary", type: "COLOR"|"FLOAT"|"STRING"|"BOOLEAN", values: { <mode>: literal | { reference: "{Color.Brand.500}" } }, figmaVariableId? }。 - 競合ポリシーを決めます。 デフォルトでは、値はコード側を優先しますが、確認せずに Figma にしかない変数を削除することはありません。対象のコレクション名とモードのリスト(最初のモードがデフォルト)を確認してください。
- 適用します。 解析したデータを
scripts/apply-tokens.jsの先頭にある定数に設定し、use_figma(skillNames: "import-tokens-figma")経由で実行します。2 回のパスで処理されます。最初にリテラル、次にエイリアスを処理し、{ created, updated, errors, variableIds }を返します。 - 報告して検証します。 作成数と更新数、および
errorsを提示します。読み戻し(export-tokens-figmaの読み取りスクリプト、またはget_variable_defs)を実行して、値が正しく反映されたことを確認します。
注意点と落とし穴
- 2 パスでの処理が必須です —
createVariableAliasの前に、エイリアスの参照先が存在している必要があります。スクリプトが処理するため、1 パスにまとめないでください。 - 色は 16 進数文字列(3/6/8 桁)を受け付け、自動的に
{r,g,b,a}の 0~1 の値に変換します。 - スコープ:新しい変数はデフォルトで
ALL_SCOPESに設定され、すべてのピッカーに表示されます。インポート後に、適切なサーフェスに合わせてvariable.scopesを設定することを検討してください(manage-variables-figmaを参照)。 - 往復処理:
export-tokens-figmaで以前に作成したファイルをインポートするのが理想的な方法です。保存されたvariableIdによって正確に照合できます。
コメント
Markdown 対応