figma-comments について
Figma REST API でコメントの閲覧、投稿、返信、削除を行うスキルです。シェルを使えるコーディング環境向けで、Figma コネクターの OAuth ログインではなく個人アクセストークンを使用します。
主な機能
- 01コメントスレッドと状態の一覧
- 02ファイルまたはノードへのコメント投稿
- 03既存スレッドへの返信
- 04コメントとスレッドの削除
- 05個人アクセストークンでスクリプトを実行
活用シーン
- 01デザインコメントと解決状況の確認
- 02実装に関する指摘を Figma ノードに固定
- 03デザイン上の議論への返信
- 04不要になったコメントスレッドの削除
MCP 対応
コメントには Plugin API とネイティブ Figma MCP からアクセスできないため、Figma REST API を使用します。MCP サーバーを拡張または設定するものではありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ southleft/ figma-console-mcp-skills --skill figma-commentsインストール後、Claude Code で/figma-commentsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/delete-comment.shget-comments.shpost-comment.sh詳細
figma-comments — Figma のコメントを読み取り、投稿、返信、削除
コメントは Figma の REST API のみで扱えます。Plugin API(use_figma)やネイティブの Figma MCP では操作できません。このスキルでは、コメントスレッドの読み取り、新しいコメントの投稿(ノードへのピン留めも可能)、既存のスレッドへの返信、コメントの削除ができます。
セットアップ — ターミナルとトークンが必要です。 このスキルはシェルコマンドを実行するため、Claude Code(Claude Desktop 内の「Code」タブを含む)、Cursor、Codex、Gemini CLI で動作します。シェルがない通常の Claude Desktop や claude.ai のチャットでは動作しません。Figma コネクタの OAuth ログインではこれらの REST 呼び出しを認証できないため、Figma の個人用アクセストークンを用意する必要があります。Figma で Settings → Security → Personal access tokens に移動し、File content: read(および Comments: read/write)のスコープを指定してトークンを生成してから、シェルで設定します:
export FIGMA_TOKEN="figd_…". スクリプトは実行時に環境変数からトークンを読み込みます。トークンをスキルファイルに記載しないでください。
セットアップとスキルの境界
- すべてのリクエストは
https://api.figma.comに対してX-Figma-Token: $FIGMA_TOKENを使います。 @mentionsは Figma UI 専用の機能です。 メッセージに@nameを記載してもプレーンテキストとして表示され、クリック可能なメンションにはなりません。また、Figma の通知も送信されません。
ファイルキーの取得
FILE_KEY=$(echo "$FILE_URL" | sed -E 's#.*/(design|file)/([A-Za-z0-9]+).*#\2#')
コメントを読む
scripts/get-comments.sh は、作成者、メッセージ、タイムスタンプ、ピン留めされたノード、解決状態を含むスレッドを一覧表示します。デフォルトでは解決済みのスレッドは除外されます。
./scripts/get-comments.sh ABC123def456 # active comments only
./scripts/get-comments.sh ABC123def456 --include-resolved
./scripts/get-comments.sh ABC123def456 --md # request markdown message bodies
生のエンドポイント:
curl -s -H "X-Figma-Token: $FIGMA_TOKEN" \
"https://api.figma.com/v1/files/ABC123def456/comments?as_md=true"
コメントを投稿する
scripts/post-comment.sh は、トップレベルのコメント、ノードにピン留めされたコメント、またはスレッドへの返信を投稿します。
# Plain file-level comment
./scripts/post-comment.sh ABC123def456 "Heads up: the button radius drifted from code."
# Pinned to a node (appears on that element). x/y default to 0,0 if omitted.
./scripts/post-comment.sh ABC123def456 "Padding here should be 16, not 12." --node 695:313 --x 40 --y 12
# Reply to an existing thread (get IDs from get-comments.sh)
./scripts/post-comment.sh ABC123def456 "Fixed in the latest sync." --reply 123456789
生の POST ボディの形式:
curl -s -X POST -H "X-Figma-Token: $FIGMA_TOKEN" -H "Content-Type: application/json" \
-d '{"message":"Pinned note","client_meta":{"node_id":"695:313","node_offset":{"x":0,"y":0}}}' \
"https://api.figma.com/v1/files/ABC123def456/comments"
- ピン留め:
node_idとnode_offset(ノードを基準とする{x,y})を含むclient_metaを指定します。node_idがある場合、Figma はnode_offsetも必須とします。スクリプトではデフォルトで(0,0)に設定されます。 - 返信: 返信先のコメントの ID である
comment_idをボディに追加します。スクリプトでは--replyフラグを使います。返信は元のコメントの下にスレッドを形成します。
コメントを削除する
scripts/delete-comment.sh は ID でコメントを削除します(ID は get-comments.sh で確認できます)。
./scripts/delete-comment.sh ABC123def456 123456789
生のリクエスト:
curl -s -X DELETE -H "X-Figma-Token: $FIGMA_TOKEN" \
"https://api.figma.com/v1/files/ABC123def456/comments/123456789"
注意事項
- 投稿または削除時に
403が返される場合は、PAT に Comments: Read and write の権限がありません。トークンを再発行してください。 - 親コメントを削除すると、スレッド全体が削除されます。会話の一部だけを削除したい場合は、先に返信を削除してください。
- よくあるワークフロー:デザインとコードのずれを検出し、
post-comment.sh --node <id>を実行して、問題のある要素に対応可能なメモをピン留めし、デザイナーが文脈を踏まえて確認できるようにします。