Tesujiつながりから、次の一手を
人・AI・サービスが、ひとつのネットワークでつながる

出会い、知恵、仕事がつながり、次の一手を生み出す。

公開

Figma × ChatGPT × GitHub:曖昧な画面要望を、実装できるUI仕様とPRに変える

変更履歴

デザイン要望をFigma上の見た目だけで終わらせず、ChatGPTで状態・例外・受け入れ条件へ分解し、GitHubの実装タスクとPRへつなげる方法を理解する。

この記事をシェア

Xでシェア

UI実装で揉めるのは、デザインが悪いからとは限らない

Figma上で画面が綺麗にできていても、実装段階で止まることがあります。

理由は、画面画像には「見た目」はあっても、「状態」が書かれていないことが多いからです。

たとえばプロフィール編集画面なら、実装側には次が必要です。

  • 初期表示
  • 編集中
  • 保存中
  • 保存成功
  • バリデーションエラー
  • APIエラー
  • 権限がない
  • データが空
  • スマホ表示
  • 長い文字列

Figmaだけでも、文章だけでも不足します。

そこで、

  • Figma:視覚構造と操作の入口
  • ChatGPT:状態・例外・仕様の分解
  • GitHub:実装・レビュー・変更履歴

に役割を分けます。

まずFigmaから「見えている事実」を抜き出す

いきなりコードを書かず、画面から要素を列挙します。

たとえばプロフィール画面なら、

  • アイコン
  • 名前
  • Bio
  • SNSリンク一覧
  • 追加ボタン
  • 保存ボタン
  • 削除操作

があります。

次にChatGPTへ、

この画面を実装するために不足している状態・例外・操作条件を列挙して

と渡します。

すると、見た目には現れにくい要件を増やせます。

UI仕様は「要素」ではなく「状態」で書く

たとえばSNSリンク追加なら、要件は単に「Instagramを追加できる」では足りません。

最低でも、

状態期待挙動
0件空状態と追加導線
1件アイコン・URL表示
複数件並び順と折返し
同一サービス複数両方保持
不正URL保存拒否
保存中二重送信防止
保存失敗入力を失わずエラー表示
スマホ横スクロールしない

まで考えます。

これを先に決めれば、実装者が「そこはどうするんですか?」と後から聞く回数が減ります。

ChatGPTは「デザインを決めるAI」より「仕様の穴を探すAI」にする

AIへ「良いUIにして」と頼むと、一般論が返りがちです。

代わりに、

  • この画面でユーザーが失敗する操作は?
  • 空状態は?
  • 1,000文字入力されたら?
  • 権限がない人がURL直打ちしたら?
  • 保存APIが500なら?
  • スマホ320px幅なら?

のように、壊し方を考えさせると実装品質が上がります。

Figmaと実装のズレを減らす「受け入れ条件」

GitHub Issueへ渡すときは、見た目の説明だけでなく、確認条件を書きます。

例:

完了条件

  • Instagram / YouTube / Xを追加できる
  • 同じ種類を複数追加できる
  • URL編集・削除ができる
  • 保存後の再読み込みでも保持
  • 不正なjavascript: URLは拒否
  • 320px幅で横溢れしない
  • 公開プロフィールにも反映

ここまであれば、AIコーディングエージェントでも人間でも、同じ完了像を共有できます。

GitHub Issueはデザインのコピーではない

Figmaリンクだけ貼ったIssueは、実装者に判断を押しつけます。

Issueには最低でも、

  • 目的
  • 対象画面
  • 操作
  • 状態
  • バリデーション
  • 権限
  • レスポンシブ条件
  • 完了条件

を残します。

Figmaは「どう見えるか」、Issueは「どう振る舞うか」です。

実装後はFigmaと1px比較する前に、状態を確認する

UIレビューで細部だけを見ると、本質的な不具合を見逃します。

先に、

  • 保存できるか
  • 失敗時に戻れるか
  • データが消えないか
  • 権限境界が守られるか
  • スマホで操作できるか

を確認します。

その後で余白、文字サイズ、アイコン位置などを詰めます。

機能の壊れ方を先、見た目の差分を後にするとレビューが速くなります。

デザイン変更もPRと同じく差分で扱う

「プロフィール画面をもっと良くする」のような大きい変更は、何が改善したか分かりにくくなります。

代わりに、

  • SNS追加導線を改善
  • モバイル下部ナビへ変更
  • 保存エラー表示を改善
  • ノード詳細の情報密度を調整

のように1変更1意図へ分けます。

FigmaでもGitHubでも、差分が小さい方がレビューしやすいという点は同じです。

KPI

UI開発の品質を測るなら、

  • デザイン確定 → PRまでの時間
  • 実装後の仕様質問数
  • QAで見つかる状態漏れ数
  • モバイル崩れの再発率
  • PR後のデザイン手戻り回数

を見るとよいです。

特に「実装後の仕様質問数」が減るなら、FigmaとIssueの間をうまく埋められています。

次の一手

次のUI改修1件で、Figmaを見たあとすぐ実装せず、ChatGPTへ次の3つを出させます。

  1. 状態一覧
  2. 失敗ケース一覧
  3. GitHub用の受け入れ条件

それを人間が5分レビューしてからIssueへ入れる。

Figma × ChatGPT × GitHubの組み合わせで一番効くのは、デザイン生成ではなく、『見た目』と『動く仕様』の間にある抜けを減らすことです。