figma-plugin について
figma-pluginは、Figmaを拡張するプラグインの開発スキルです。メインスレッドとUIスレッドの役割、メッセージ通信、API利用、テスト、公開方法を説明します。
主な機能
- 01メインスレッドとUIスレッドの役割
- 02postMessageによる通信の手順
- 03Figma APIとノードの解説
- 04UIとReactの実装パターン
- 05テストと公開の手順
活用シーン
- 01プラグイン内のスレッド役割の設計
- 02プラグインロジックとiframe UIの接続
- 03ReactまたはHTMLでの画面構築
- 04プラグインのテストと公開準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ srstomp/ pokayokay --skill figma-pluginインストール後、Claude Code で/figma-pluginを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api-globals-and-nodes.mdapi-rendering-and-advanced.mdcolors-and-text.mddevelopment-testing-and-publishing.mdlayout-storage-and-utilities.mdproject-structure-and-build.mdselection-traversal-and-batching.mdui-architecture-and-messaging.mdui-patterns-and-resources.mdui-react-and-theming.md詳細
Figma プラグイン開発
Plugin API を使用して Figma の機能を拡張するプラグインを作成します。
アーキテクチャ
Figma プラグインは、postMessage を介して通信する 2 つのスレッドで動作します。
- メインスレッド(サンドボックス):Plugin API へのアクセス、ノードの操作、
figma.*の呼び出し - UI スレッド(iframe):HTML/CSS/JS インターフェース。Figma API へのアクセスはできませんが、npm パッケージを利用できます
主な原則
- すべての Figma ドキュメント操作はメインスレッドで処理します
- UI スレッドではユーザーインターフェースと外部 API を処理します
- スレッド間の通信には
figma.ui.postMessage()とonmessageを使用します - プラグインはパフォーマンスを重視する必要があります。メインスレッドをブロックしないようにしてください
クイックスタートチェックリスト
manifest.json(名前、ID、main、ui)を使ってプロジェクトをセットアップします- プラグインのロジックを記述するメインスレッドコード(
code.ts)を作成します - UI(
ui.html)とインターフェース要素を作成します - スレッド間の postMessage 通信を設定します
- Figma の開発モードでテストします
- Figma Community で公開します
参考資料
| 参考資料 | 説明 |
|---|---|
| project-structure-and-build.md | マニフェスト、TypeScript のセットアップ、ビルド設定 |
| development-testing-and-publishing.md | 開発ワークフロー、テスト、公開、トラブルシューティング |
| api-globals-and-nodes.md | グローバルオブジェクト、ノードの種類、コンポーネント |
| api-rendering-and-advanced.md | ペイント、エフェクト、自動レイアウト、スタイル、変数、イベント |
| ui-architecture-and-messaging.md | iframe UI、postMessage、型付きメッセージ、プレーン HTML |
| ui-react-and-theming.md | React のセットアップ、フック、Figma のテーマカラー |
| ui-patterns-and-resources.md | ローディング状態、タブ、カラーピッカー、ファイルのダウンロード |
| selection-traversal-and-batching.md | 選択処理、ノードの走査、一括操作 |
| colors-and-text.md | 色の変換、操作、テキスト操作 |
| layout-storage-and-utilities.md | 配置、整列、ストレージ、エラー処理、ユーティリティ |
コメント
Markdown 対応