ingest-figma について
ingest-figmaは、デザインシステムの作成に向けてFigmaファイルからトークンを抽出するスキルです。REST APIでファイルやスタイルを読み取り、トークンがない場合はSVGを解析しますが、コンポーネント構造は保持できません。
主な機能
- 01Figma REST APIによるデザインデータ抽出
- 02カラー、シャドウ、テキストスタイルの識別
- 03コンポーネントとコンポーネントセットの抽出
- 04トークンなしでSVGから一部をインポート
- 05結果をJSONファイルに保存
活用シーン
- 01Figmaファイルからデザイントークンを生成
- 02エクスポートしたSVGから視覚属性を抽出
- 03後続のデザインシステム作成ワークフロー用データの準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bluzir/ claude-code-design --skill ingest-figmaインストール後、Claude Code で/ingest-figmaを入力して読み込まれたか確認します。
詳細
Figma から取り込む
REST API を使って、Figma ファイルからデザインシステムを抽出します。トークンがない場合は SVG インポートにフォールバックします。
事前確認
Bash(test -n "$FIGMA_TOKEN" && echo has-token || echo no-token)— 環境変数を確認しますno-tokenの場合:- ユーザーに次のように伝えます:"
FIGMA_TOKENが見つかりません。次の 2 つの方法があります。(a)https://www.figma.com/developers/api#access-tokens でトークンを取得し、シェルでexport FIGMA_TOKEN=...を実行する。または(b)Figma でフレームを SVG としてエクスポート(フレームを右クリック → コピー形式 → SVG としてコピー)し、ファイルをartifacts/ingested/に貼り付ける — SVG を解析します。" - 停止して、ユーザーの返答を待ちます。
- ユーザーに次のように伝えます:"
URL を解析する
Figma の URL 形式:https://www.figma.com/(file|design|proto)/<fileKey>/<name>?node-id=<nodeId>
抽出項目:
fileKey—/file/または/design/の後にある英数字nodeId— クエリパラメーターnode-id(URL デコード済みで、多くの場合:を含みます)
手順(トークンを使う場合)
-
ファイルノードを取得:
Bash(curl -H "X-FIGMA-TOKEN: $FIGMA_TOKEN" \ "https://api.figma.com/v1/files/<fileKey>/nodes?ids=<nodeId>&depth=2" \ -o /tmp/figma-<ts>.json) -
スタイル定義を取得:
Bash(curl -H "X-FIGMA-TOKEN: $FIGMA_TOKEN" \ "https://api.figma.com/v1/files/<fileKey>/styles" \ -o /tmp/figma-styles-<ts>.json) -
JSON を解析:
- 色:
document.childrenをたどり、type === 'SOLID'のfillsを見つけて、color {r,g,b}を抽出し、16 進数に変換します - エフェクト(シャドウ):
type === 'DROP_SHADOW'のeffectsを見つけます - テキストスタイル:
fontFamily、fontSize、fontWeight、lineHeightPxを含むstyleを見つけます - コンポーネント:
type === 'COMPONENT'およびtype === 'COMPONENT_SET'をたどって見つけます /stylesのローカルスタイル:スタイルエンドポイントは名前付き変数を返します
- 色:
-
書き込み:
artifacts/ingested/figma-<fileKey>-tokens.jsoningest-githubと同じスキーマに、"source": { "figma_url": "...", "file_key": "...", "node_id": "..." }を追加します。 -
次のステップを提案:
- "Figma から色を X 個、テキストスタイルを Y 個、コンポーネントを Z 個抽出しました。
artifacts/ingested/figma-<fileKey>-tokens.jsonに保存しました。" /create-design-systemを続行するか、アーティファクトスキルを開始します。
- "Figma から色を X 個、テキストスタイルを Y 個、コンポーネントを Z 個抽出しました。
手順(SVG にフォールバックする場合)
- ユーザーが SVG ファイルを
artifacts/ingested/に配置します - SVG の内容を
Readします fill="#..."/stroke="#..."/style="...color..."属性を抽出します<text>要素からフォント情報(font-family、font-size、font-weight)を認識します"source": { "svg": "<path>" }と信頼度フラグを含む部分的な tokens.json を作成します- 注意:SVG エクスポートではコンポーネント構造が失われ、視覚的なプリミティブのみが残ります
レート制限
Figma API:無料プランでは 1 分あたり 50 リクエストです。1 つのフレームとスタイルの取得は 2 リクエストで、上限を大きく下回ります。
セキュリティ
FIGMA_TOKEN は環境変数内にのみ保持します。ディスクへの書き込みやログへの記録は決して行いません。
コメント
Markdown 対応