Back to list
a-suenami

figma

by a-suenami

0🍴 0📅 Dec 31, 2025

SKILL.md


name: figma description: Fetch design information from Figma using the API. Use when applying designs from Figma, extracting styles, colors, fonts, or layout information. Requires FIGMA_TOKEN environment variable.

Figma Design Fetcher

Figma APIを使用してデザイン情報を取得し、CSSやスタイル情報を抽出するSkillです。

環境変数

export FIGMA_TOKEN="your-figma-personal-access-token"

使い方

1. FigmaのURLからfile_keyとnode_idを抽出

FigmaのURL形式:

https://www.figma.com/design/{file_key}/{file_name}?node-id={node_id}

例:

  • URL: https://www.figma.com/design/dOd0KjODECcrKVCK8F8MkI/MyDesign?node-id=2-2
  • file_key: dOd0KjODECcrKVCK8F8MkI
  • node_id: 2-2

2. デザイン情報を取得

# ファイル全体の情報を取得
curl -s -H "X-Figma-Token: $FIGMA_TOKEN" \
  "https://api.figma.com/v1/files/{file_key}"

# 特定ノードの情報を取得
curl -s -H "X-Figma-Token: $FIGMA_TOKEN" \
  "https://api.figma.com/v1/files/{file_key}/nodes?ids={node_id}"

# 画像をエクスポート
curl -s -H "X-Figma-Token: $FIGMA_TOKEN" \
  "https://api.figma.com/v1/images/{file_key}?ids={node_id}&format=png&scale=2"

3. スタイル情報の抽出

Figma APIのレスポンスから以下を抽出:

  • : fills[].color (RGBA 0-1形式)
  • フォント: style.fontFamily, style.fontSize, style.fontWeight
  • サイズ: absoluteBoundingBox.width, absoluteBoundingBox.height
  • 余白: paddingLeft, paddingRight, paddingTop, paddingBottom
  • 角丸: cornerRadius
  • : effects[].type === "DROP_SHADOW"

4. 色の変換

Figma APIの色 (0-1) → CSS (0-255):

r: Math.round(color.r * 255)
g: Math.round(color.g * 255)
b: Math.round(color.b * 255)
a: color.a

APIエンドポイント

エンドポイント説明
GET /v1/files/:file_keyファイル全体のドキュメントツリー
GET /v1/files/:file_key/nodes?ids=:ids特定ノードの詳細情報
GET /v1/images/:file_key?ids=:ids&format=pngノードを画像としてエクスポート
GET /v1/files/:file_key/stylesファイルのスタイル一覧

スクリプト

デザイン情報取得:

.claude/skills/figma/scripts/fetch_design.sh {file_key} {node_id}

出力例

{
  "colors": {
    "primary": "#3B82F6",
    "background": "#FFFFFF",
    "text": "#1F2937"
  },
  "typography": {
    "heading": { "fontFamily": "Inter", "fontSize": 24, "fontWeight": 700 },
    "body": { "fontFamily": "Inter", "fontSize": 16, "fontWeight": 400 }
  },
  "spacing": {
    "containerPadding": 24,
    "elementGap": 16
  },
  "borderRadius": 8
}

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon