design-system-inventory-figma について
Figma ファイル全体からデザイントークン、コンポーネント、バリアント、スタイルを抽出し、構造化された一覧にするスキルです。コード生成やライブラリ監査向けに、対象範囲と詳細度を調整できます。
主な機能
- 01トークン、コンポーネント、スタイルの抽出
- 02コンポーネント属性とバリアント仕様の取得
- 03対象範囲と出力詳細度の調整
- 04名前によるコンポーネントの絞り込み
- 05Plugin API による変数の読み取り
活用シーン
- 01コード生成に向けたデザインシステムの整理
- 02Figma コンポーネントライブラリの監査
- 03トークン値とエイリアスの確認
- 04大規模なデザインファイルの出力削減
MCP 対応
このスキルは Figma の `use_figma` ツールと Plugin API を使ってスクリプトを実行します。ファイル全体の一覧化は、ネイティブ MCP ツールの単一選択範囲のデザインコンテキストやフラットなメタデータとは異なる機能として説明されています。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ southleft/ skills-for-figma --skill design-system-inventory-figmaインストール後、Claude Code で/design-system-inventory-figmaを入力して読み込まれたか確認します。
同梱ファイルreferences/visual-spec.mdscripts/inventory.js
詳細
design-system-inventory-figma — トークン+コンポーネント+スタイルの一括抽出
ファイル全体をたどり、構造化されたキットを返す use_figma の単一呼び出しです。
トークン(すべてのローカル変数をコレクションとモードごとにグループ化)、コンポーネント(単独コンポーネントとコンポーネントセット。プロパティ定義と、バリアントごとの簡潔な visualSpec を含む)、スタイル(解決済みの値を持つペイント/テキスト/エフェクトスタイル)を取得します。コード生成やライブラリ監査で「すべてを一度に読み取る」ための入り口です。
スキルの適用範囲
use_figmaのルール — まず公式のfigma-useスキルを読み込んでください。これは Figma Plugin API の完全なリファレンスです。これらのスクリプトが前提とする重要事項:トップレベルのawaitとreturnを使うプレーンな JS(IIFE やfigma.closePlugin()は使わない。console.logの出力は返されない)、各スクリプトの先頭で入力をconstとしてインライン化する、色は 0~1 の範囲で指定する、テキスト操作の前にフォントを読み込む、await figma.getNodeByIdAsync(...)を使う、アトミックなエラー処理(スクリプトが失敗すると何も適用されないため、エラーを読み、修正して再試行する)。- 各
visualSpecの正確な形式 → references/visual-spec.md。 - 深さ無制限の単一コンポーネント(完全なツリー、リアクション、インスタンス参照)→
deep-component-figmaを使います。CSS ステートマシンとしての単一バリアントセット →analyze-component-set-figmaを使います。ディスク上のトークンファイル →export-tokens-figmaを使います。 - これは、ネイティブ MCP にはないシステム全体のデザイン機能です。
get_design_contextは単一の選択範囲に対して動作し、get_metadataはフラットな構造を返します。どちらも、どのプランでも統合されたトークン+コンポーネント+スタイルのキットは提供しません。
ワークフロー
- 大きなファイルでの応答サイズを制御するため、範囲と詳細度を選択します。
scripts/inventory.jsの定数を編集します。INCLUDE—"tokens"、"components"、"styles"のいずれか(デフォルト:3 つすべて)。VERBOSITY—"full"(バリアントごとのビジュアル仕様)、"summary"(コンポーネントのメタデータとプロパティ。バリアントごとの仕様はなし)、または"inventory"(名前/ID/件数のみ。非常に大きなファイル向け)。COMPONENT_NAME_FILTER— コンポーネントを絞り込む部分文字列(例:"Button")。
use_figmaを使って実行します(skillNames: "design-system-inventory-figma")。変数は Plugin API 経由で読み取るため、Figma のすべてのプランで動作します(Enterprise REST は不要です)。- 結果を利用します。 色/スペーシング/タイポグラフィの値には
tokens、コンポーネント API にはcomponents[].properties、状態ごとの外観にはcomponents[].variants[].visualSpec、スタイルベース(変数以外)の値にはstylesを使います。 - 結果がまだ大きい場合は、
VERBOSITYを下げるか、INCLUDE/COMPONENT_NAME_FILTERを絞り込んで再実行します。巨大なfull出力をページ分割しようとしないでください。
注意事項
- 色は 16 進数で出力されます(Figma は内部で RGBA を 0~1 の範囲で保存します)。スペーシング/サイズの値は px です。
- 変数は、可能な場合、エイリアスをトークン名(
{Color.Brand.Primary}形式)に解決します。 - バリアントごとのビジュアル仕様は、各バリアントのコンポーネントノードから取得します。フィールド(塗り、線、エフェクト、cornerRadius、不透明度、レイアウト/パディング/スペーシング、タイポグラフィ)については、references/visual-spec.md を参照してください。
- このスクリプトは、組み込みの
figma_get_design_system_kitツールに相当する、ルート+第 1 階層の実装をuse_figmaのネイティブな形式で記述したもので、Desktop Bridge を使わずに動作します。各コンポーネント/バリアントのルートのビジュアル仕様と、その直接の子(childSpecs)を取得します。それより深い階層には再帰しません。
コメント
Markdown 対応