Cursor×Figma MCP:短時間での画面設計〜UI実装を叶えるAI駆動フロー

Cursor×Figma MCP:短時間での画面設計〜UI実装を叶えるAI駆動フロー

はじめに

とあるWeb アプリケーション開発のプロジェクトにおいて、AI を積極的に活用することで、設計書の作成と UI 実装を大幅に効率化しました。

従来、手作業で行っていた設計書の作成や、デザインからコードへの変換作業を、AI ツールとルールベースの自動化により、開発速度を向上させながら品質も維持することに成功しています。

本記事では、実際に使用したツールとプロセスを具体的に紹介し、同じ手法を試せるように記述します。

設計フェーズでの AI 活用

設計書作成のルールを決める

設計フェーズでは、まず Cursor Rulesとして設計書自動生成のルールを作成しました。action-spec-generation.mdc というファイルに、Cursor が画面定義書を自動生成するための詳細なルールを定義しています。

ルールファイルの構造と目的

このルールファイルは、AI に対して「どのような情報を参照し、どのような手順で、どのような形式の設計書を生成するか」を明確に指示するための包括的なガイドラインです。人間のエンジニアが設計書を作成する際の思考プロセスを、AI が理解できる形式に落とし込んだものと言えます。

このルールファイルには以下の内容が含まれています:

  • 出力構造の定義:システム情報、ページ説明、画面フロー、APIフロー、画面レイアウト、機能説明、画面項目詳細、バリデーション一覧、エラーハンドリング一覧
  • 生成手順の定義

Cursor が内部で実行すべき処理手順を明確に定義:

1. UI 抽出:コンポーネントツリー仕様書または Figma MCP から UI 要素を抽出

2. API 抽出:OpenAPI 仕様書から API 情報を抽出

3. 突合:UI 要素 × イベント × API を紐付け

4. テーブル生成:機能説明テーブルを生成(アンカー ID 付き)

5. 画面項目生成:コンポーネントツリー仕様書または Figma MCP から表示条件/制御情報を取得

6. バリデーション生成:OpenAPI 制約からバリデーション一覧を生成

7. エラーハンドリング生成:標準エラーハンドリング一覧を参照してエラー処理を生成

8. 整合性確認:レイアウト番号とテーブル番号の整合性を確認

  • チェックリスト:生成物の品質を保証するための検証項目

このルールファイルを作成することで、Cursor に対して一貫性のある設計書を生成させることが可能になりました。

情報源を特定する

また設計書を生成する際、以下の 3 つの情報源を活用しました:

1. OpenAPI 仕様書 (openapi.yaml)

  • API のパス、パラメータ、リクエスト/レスポンスの定義
  • バリデーション情報(required、minLength、maxLength、patternなど)
  • エラーレスポンスの定義

2. API 詳細設計書

  • 各 API の処理詳細(ステップバイステップの処理フロー)
  • 参照/更新テーブルの情報
  • エラーハンドリングの詳細
  • ログ出力の仕様
  • 単体テスト項目
  • ファイル構成

3. Figma MCP

  • UI コンポーネント階層の取得
  • コンポーネント名の抽出
  • デザイン仕様の取得

Cursor は、これらの情報源を組み合わせることで、UI 要素と API を自動的に紐付け、機能説明テーブルや画面項目詳細テーブルを生成します。特に API 詳細設計書を参照することで、OpenAPI 仕様書だけでは表現しきれない処理の詳細や、エラーハンドリングの具体的な実装方法を設計書に反映することができます。

Cursor によるアクション定義書の自動生成

指示はシンプルで、ルールファイルを指定したうえで、参照ファイル・Figmaリンク・画面名/IDを入力します。

実際の生成プロセスは以下の通りです:

@action-spec-generation.mdc に従って、以下のファイルを参照してアクション定義書を生成してください。

- OpenAPI仕様書: [パス/openapi.yaml]
- API詳細設計書: [パス/api_detail/1-1_ユーザー登録.md](該当するAPIの詳細設計書)
- Figma: Figmaの該当箇所のリンク
- ユーザーフロー(任意): [パス/user-flows.md]

画面名: [画面名]
画面ID: [ID]

この指示により、Cursor は以下のセクションを含む完全なアクション定義書を生成します

1. システム情報 – 画面名、ID、作成日など

2. ページ説明 – 画面の目的、主な操作、利用 API

3. 画面レイアウト – UI 要素の番号振り(アンカーリンク付き)

4. 機能説明 – UI × イベントハンドラ × API × パラメータのテーブル

5. 画面項目詳細 – 入出力、文字数、必須、表示条件/制御

6. バリデーション一覧 – OpenAPI から抽出した制約とエラーメッセージ

7. エラーハンドリング一覧 – エラー種別ごとの表示方法とユーザーアクション

生成された設計書の例として、認証画面のアクション定義書では、以下のような詳細な情報が自動生成されています:

  • 画面フローと API フローの Mermaid 図
  • UI 要素ごとのイベントハンドラと API の紐付け
  • OpenAPI から抽出したバリデーションルール
  • API 詳細設計書から取得した処理の詳細やエラーハンドリングの具体的な実装方法
  • 標準エラーハンドリング一覧に基づいたエラー処理

Nano Banana Pro での画面レイアウト画像生成

設計書の「画面レイアウト」セクションでは、UI 要素に番号を振った画像が必要になります。この作業を効率化するため、Nano Banana Proを活用しました。

「Nano Banana Pro(Gemini 3 Pro Image)」は高性能な画像生成AIです
▶︎ Nano Banana Pro – Gemini の AI 画像生成&写真編集ツール

  1. Figma から画面画像のスクショを取得
  2. Nano Banana Proで画像と番号のリストを渡し画像を生成させる。

   – 例:

  • No.1 ユーザー名入力欄
  • No.2 パスワード入力欄
  • No.3 パスワード表示トグル
  • No.4 送信ボタン

画像の内容は変えず、該当 UI に赤枠と番号を付けてください

これにより簡単に画像設計書にマッチする番号の入った画像を取得できました。

UI 実装フェーズでの AI 活用

Figma to Code プラグインによる初期コード生成

UI 実装フェーズでは、まず Figma to Codeプラグインを使用して、Figma のデザインから初期コードを生成しました。このプラグインにより、デザインをそのままコードに変換することができ、実装のスタート地点を大幅に前倒しできました。

注意点として、生成されたコードはタグが全て div になってしまい、そのまま使える状態ではありませんでした。 これは後のステップで修正していきます。

ただ、次の観点で十分に有用でした:

  • レイアウト構造の把握:コンポーネントの階層構造が明確になる
  • スタイリングの参考:Tailwind CSS のクラス名やスタイルが自動生成される
  • 実装の方向性:どのようなコンポーネント構成にするかの指針になる

設計書と Figma MCP を活用した修正と実装

初期コード生成後、Cursorを使用して、生成されたコードを設計書に合わせて修正していきました。

一気に完璧な状態に直そうとすると、あまり期待通りにできないので、段階的に指示を出して修正していきます。

  1. タグの修正

Figma to Codeで生成されたコードは全てdivタグになっていました。まずはこれを適切なタグに変換するように指示を出し修正しました。Figmaの該当箇所のリンクを指示と一緒に渡すことで該当箇所を見ながら修正してもらいます。

  1. コンポーネント分け

1ファイルに画面全体のコードが生成されるためコンポーネントに分けたり、既存のコンポーネントで使用できるものがあれば使用するように指示しました。

  1. スタイルの修正

自動生成したコードのスタイルは大方Figma通りにできていましたが、完璧ではありませんでした。色やアイコンが違ったりしたのでここでもFigmaの該当箇所のリンクを指示と一緒に渡して修正させています。ただこの辺りは手作業で修正する場合もありました。

  1. バックエンドの絡まないロジックの実装

クリックしたらダイアログを出すなどの機能やバリデーションなどを実装しました。
ここでは設計フェーズで作成したアクション定義書を参照させることで定義通りの機能を作成します。画面に機能が多い場合は1つずつ作るように指示します。

  1. API 統合

アクション定義書に記載されているAPIを呼び出す処理を実装させます。
OpenAPIとAPI詳細設計書を参照して、Cursorに処理の詳細を確認させます。

大きくはこの5ステップで実装していきました。

一段階ずつの改善プロセスによる利点

UI 実装を1ステップずつで進めることで以下のメリットがありました:

  1. 段階的な品質向上
    各ステップで品質を確認しながら進められる
    問題が発生した場合、原因の特定が容易
  2. コンポーネントの適切な分割
    大きなコンポーネントを小さな単位に分割
    再利用可能なコンポーネントの抽出
  3. タグの修正
    セマンティックな HTML タグへの修正
    アクセシビリティの向上

まとめ

本プロジェクトでは、AI を活用することで、設計と UI 実装を大幅に効率化することができました。特に以下の点が重要でした:

  1. ルールベースの自動化:Cursor Rules により、一貫性のある設計書を自動生成
  2. 情報源の統合:OpenAPI 仕様書、API 詳細設計書、Figma MCP を組み合わせることで、設計と実装の橋渡しを実現
  3. ドキュメントをマークダウンファイル(.md)で同じリポジトリ内で管理することでAIに参照させやすく精度の高いものが生成可能になった。
  4. 段階的な改善:ステップバイステップのアプローチにより、生成されたコードを段階的に品質向上

これらの手法は、他のプロジェクトにも応用可能であり、開発速度と品質の両立を実現する有効な手段であると考えています。

この記事も大部分をCursorが書いています。

今後も、AI ツールの進化に合わせて活用し、さらに効率的な開発プロセスを構築していきたいと思います。

サムネイル
【後編】Cursor × Serena MCPで始める仕様駆動開発 ― 要件定義~実装編
ABOUT US
すぎやま
新卒でWeb制作会社にシステムエンジニアとして入社し、Vue.js, TSやCMSなどを使った開発を経験。23年3月にAWS SAP取得。入社2年でAWS資格4冠。2024年2月から株式会社アイスリーデザインに入社。主にReactやAWSを触ってます。