understand-figma について
understand-figmaは、Figmaファイルを分析し、既存のダッシュボードにインタラクティブなデザインナレッジグラフを作成するスキルです。Figma APIでファイルをスキャンし、LLM分析でグラフを補足できます。
主な機能
- 01Figmaファイルのスキャンと解析
- 02ページ別のデザインノード分析
- 03デザイングラフの統合と検証
- 04既存ダッシュボードへの表示
活用シーン
- 01Figmaファイルをデザイングラフ化
- 02ダッシュボードでデザインノードと関係を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ egonex-ai/ understand-anything --skill understand-figmaインストール後、Claude Code で/understand-figmaを入力して読み込まれたか確認します。
同梱ファイルfigma-merge.mjsfigma-scan.mjs
詳細
/understand-figma
Figma ファイルを分析し、既存のダッシュボードにインタラクティブなデザインナレッジグラフを生成します。
前提条件
FIGMA_TOKEN環境変数 — Figma の個人用アクセストークン(https://www.figma.com/settings で作成してください)。設定されていない場合は、処理を中止して次のようにユーザーに伝えてください。まず Figma トークンを設定してください。figma.com/settings で作成してから、
export FIGMA_TOKEN=<token>を実行してください。- Node ≥ 22、pnpm ≥ 10。
セキュリティ: トークンは環境変数からのみ読み取られ、
X-Figma-Tokenリクエストヘッダーでのみ送信されます。グラフ、meta.json、ログ、中間ファイルには絶対に書き込まないでください。このスキルはapi.figma.comに外部リクエストを送信します。/understandとは異なり、完全なオフライン動作ではありません。この点をユーザーに一度伝えてください。
フェーズ 0 — 事前確認
$ARGUMENTSを解析し、Figma URL またはファイルキー単体(フラグではないトークン)と、任意の--language <lang>を取得します。PROJECT_ROOTを現在の作業ディレクトリに解決します。データディレクトリ$UA_DIRを解決し、以下のすべての読み取りと書き込みで再利用してください。UA_DIR="$PROJECT_ROOT/$([ -d "$PROJECT_ROOT/.understand-anything" ] && echo .understand-anything || echo .ua)"— 既存の場合は従来の.understand-anything/、それ以外の場合は新しい.ua/を使います。各フェーズは新しいシェルで実行されることがあるため、$PROJECT_ROOTと同様に$UA_DIRを引き継いでください。後続のコマンドブロックで必要になった場合は、同じ行を使って再解決します。PLUGIN_ROOTを解決し、/understandのフェーズ 0.1.5 と同じ方法でコアがビルド済みであることを確認します。packages/core/dist/figma/index.jsが存在しない場合は、次を実行します。cd "$PLUGIN_ROOT" && (pnpm install --frozen-lockfile 2>/dev/null || pnpm install) && pnpm --filter @understand-anything/core buildmkdir -p $UA_DIR/intermediateを実行します。
フェーズ 1 — 取得と解析(決定的処理)
バンドル済みのスキャンスクリプトを実行します(<SKILL_DIR> はこのスキルのディレクトリです)。
FIGMA_TOKEN="$FIGMA_TOKEN" node <SKILL_DIR>/figma-scan.mjs "$PROJECT_ROOT" "<url-or-key>"
スクリプトは $UA_DIR/intermediate/scan-manifest.json に書き込み、ノード数を出力します。件数をユーザーに伝えてください。終了コードが 0 以外の場合は、標準エラー出力を伝えて処理を中止します。
スキャンで
UP_TO_DATEが出力された場合は、「この Figma ファイルのバージョンでは、デザイングラフはすでに最新です」と報告して処理を中止します。完全に再構築するには、環境でUNDERSTAND_FIGMA_FORCE=1を設定して再実行してください。
フェーズ 2 — 分析(LLM による補強)
scan-manifest.jsonを読み取ります。ノードを、可能な場合はページごとにまとめて、約 15 件ずつのバッチに分けます。- 各バッチについて、
design-analyzerエージェント定義(agents/design-analyzer.md)を使ってサブエージェントを起動します。次の情報を渡してください。- ノードのバッチ(
id、type、name、figmaMeta、子ノード名、トークン使用量) - 既存ノード ID の全リスト
$INTERMEDIATE_DIR = $UA_DIR/intermediate- 出力ファイル名に使用するバッチ番号
エージェントは
analysis-batch-<N>.jsonを書き込みます。--languageが指定されている場合は、$LANGUAGE_DIRECTIVEを追加します(/understandの指示文を再利用してください)。
- ノードのバッチ(
- 最大 5 バッチを同時に実行します。バッチが失敗した場合は警告を記録して続行します。マニフェストは十分な基盤になります。
フェーズ 3 — マージ
node <SKILL_DIR>/figma-merge.mjs "$PROJECT_ROOT"
scan-manifest.json と analysis-batch-*.json を結合し、mergeDesignGraph を実行します(検証し、kind:"design" を再付与)。そして knowledge-graph.json と meta.json を書き込みます。出力された統計情報と、auto-corrected 以外の問題をユーザーに伝えてください。
フェーズ 4 — 保存と起動
scan-manifest.json以外の中間ファイルを削除します。INTER="$UA_DIR/intermediate" find "$INTER" -mindepth 1 -maxdepth 1 -not -name 'scan-manifest.json' -exec rm -rf {} +- プロジェクト名、ノードタイプ別の件数、エッジタイプ別の件数、レイヤー数、ツアーのステップ数、および
$UA_DIR/knowledge-graph.jsonのパスを含む概要を報告します。 /understand-dashboardスキルを呼び出して、ダッシュボードを自動起動します。