figma-design-system-inventory について
figma-design-system-inventory は、Figma のデザイントークン、コンポーネント、スタイルをまとめて抽出するスキルです。範囲や詳細度を調整でき、Figma のプランを問わず Plugin API で変数を読み取ります。
主な機能
- 01トークン、コンポーネント、スタイルの抽出
- 02コンポーネントプロパティとバリアントのビジュアル仕様
- 03出力範囲と詳細度の設定
- 04名前によるコンポーネントの絞り込み
- 05Plugin API による変数アクセス
活用シーン
- 01コード生成用のデザインシステムデータ準備
- 02Figma ライブラリの監査
- 03トークン値とコンポーネントバリアントの確認
MCP 対応
`use_figma` 経由で実行し、Figma Plugin API を使ってファイルを調査します。README では、単一選択範囲とフラットなメタデータに限られるネイティブ MCP を超える、システム全体のデザイン機能として説明されています。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ southleft/ figma-console-mcp-skills --skill figma-design-system-inventoryインストール後、Claude Code で/figma-design-system-inventoryを入力して読み込まれたか確認します。
同梱ファイルreferences/visual-spec.mdscripts/inventory.js
詳細
figma-design-system-inventory — トークン、コンポーネント、スタイルを一括抽出
ファイル全体を走査し、構造化されたキットを返す単一の 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。 - 1 つのコンポーネントを無制限の深さで取得(全ツリー、リアクション、インスタンス参照)→
figma-deep-componentを使用してください。1 つのバリアントセットを CSS のステートマシンとして取得 →figma-analyze-component-setを使用してください。ディスク上のトークンファイル →figma-export-tokensを使用してください。 - これは、ネイティブ MCP にはないシステム全体を対象とするデザイン機能です。
get_design_contextは単一の選択範囲に対して機能し、get_metadataはフラットな構造を返すため、どちらも、どのプランでも利用できる統合された トークン+コンポーネント+スタイルのキットは提供しません。
ワークフロー
- 大きなファイルでの応答サイズを抑えるために、対象範囲と詳細度を選択します。
scripts/inventory.jsの定数を編集します。INCLUDE—"tokens"、"components"、"styles"のいずれか(デフォルト:すべて)。VERBOSITY—"full"(バリアントごとのビジュアル仕様)、"summary"(コンポーネントのメタデータとプロパティ。バリアントごとの仕様はなし)、または"inventory"(名前/ID/件数のみ。巨大なファイル向け)。COMPONENT_NAME_FILTER— コンポーネントを絞り込む部分文字列(例:"Button")。
use_figmaを通じて実行します(skillNames: "figma-design-system-inventory")。Plugin API を通じて変数を読み取るため、すべての Figma プランで動作します(Enterprise REST は不要です)。- 結果を利用します。 色/間隔/タイポグラフィの値には
tokens、コンポーネント API にはcomponents[].properties、状態ごとの外観にはcomponents[].variants[].visualSpec、変数ベースではないスタイルの値にはstylesを使用します。 - 結果がまだ大きい場合は、
VERBOSITYを下げるか、INCLUDE/COMPONENT_NAME_FILTERを絞り込んで再実行します。巨大なfull出力をページ分割しようとしないでください。
注記
- 色は 16 進数で出力されます(Figma では内部的に 0~1 の RGBA で保存されます)。間隔/サイズの値は px です。
- 変数は、可能な場合にエイリアスをトークン名に解決します(
{Color.Brand.Primary}の形式)。 - バリアントごとのビジュアル仕様は、各バリアントのコンポーネントノードから取得します。項目(塗り、線、エフェクト、cornerRadius、opacity、レイアウト/パディング/間隔、タイポグラフィ)については references/visual-spec.md を参照してください。
- このスクリプトは、バンドルされている
figma_get_design_system_kitツールを、ルートと第 1 階層を対象に手動で記述したものです。ネイティブなuse_figmaの書式で記述されているため、Desktop Bridge なしで実行できます。各コンポーネント/バリアントのルートのビジュアル仕様と直下の子要素(childSpecs)を取得します。それより深い階層は再帰的に取得しません。
コメント
Markdown 対応