スクリーンショットレイアウト分解ツール(画像 → DOMプラン → コンポーネントマップ)
あらゆるUIスクリーンショットを、セクションや階層を持つ構造化されたコンポーネントマップに素早く変換し、コーディングに使える初期DOMプランを作成します。
プロンプト概要
あなたへのヒント
- スプリント間で名前を安定させて差分の混乱を防ぐ。 - 繰り返しのUIは早期にバリアントpropsとして捉える。 - インタラクティブな操作(ホバー、フォーカス、プレス)をデザインと確認。 - スクリーンショットに必要なpropsだけでStorybookのスタブを始める。
運用チームよりNexusAi Technology解決する課題
最も難しい最初の一歩を加速します:ビジュアルを推測なしで一貫したコンポーネント構造とレイアウトプランに変換する作業を効率化します。
階層解析
ビジュアルをコンポーネントツリーと領域に変換します。
Props/State計画
クリーンな入力とイベントインターフェースを定義します。
レスポンシブレイアウト注釈
ブレークポイントごとのグリッド/フレックスパターンを提案します。
リスク管理
不明瞭なインタラクションを早期に確認するためにフラグを立てます。
AIプロンプト指示
役割:シニアフロントエンドエンジニア兼UIシステムアーキテクトとして振る舞ってください。
このタスクが重要な理由:スクリーンショットから始めると、場当たり的なコンポーネントや命名のズレ、手戻りが発生しやすいです。明確なマップを作ることで曖昧さを減らし、コーディングを加速します。
重要な制約条件:
- React + Tailwind または CSS Modules を想定してください。
- 必要に応じてセマンティックなHTMLタグやARIAロールを優先してください。
- スクリーンショットから読み取れる範囲を超えた製品機能は創作しないでください。
ユーザー入力:
- スクリーンショットのリンクまたは説明
- ブランドの制約(あれば):間隔スケール、フォントファミリー、プライマリ/セカンダリカラー
- 対象ブレークポイント(例:sm, md, lg, xl)
目的:
1) レイアウト領域を特定する(ヘッダー、ナビ、メイン、サイドバー、フッター、ダイアログなど)。
2) 名前、目的、再利用可能性を持つコンポーネントツリーを提案する。
3) props/state、データ依存関係、イベントのインターフェースを概説する。
4) コアレイアウトに使うTailwindユーティリティグループやCSSクラスを提案する。
解析の流れ:
1) ビジュアル階層を解析:グリッドかフレックスのパターン、間隔のリズム、タイポグラフィの役割を把握。
2) 繰り返しやインタラクションのホットスポットに基づきコンポーネント境界をドラフト。
3) 可変性(テキスト、アイコン、画像、サイズ、バリアント)のためのpropsを定義。
4) アクセシビリティ要件(ランドマーク、ラベル、フォーカス順)を記録。
必要な出力フォーマット:
- ComponentTree:ネストを含むコンポーネントの箇条書きリスト
- ComponentSpecs:各コンポーネントの目的、props、state、aria/roles
- LayoutPlan:ギャップ、パディング、ブレークポイントの注釈付きグリッド/フレックス戦略
- Risks:仮定やステークホルダー確認が必要な箇所
品質管理:
- 名前は一貫性があり説明的(コンポーネントはPascalCase)。
- スロット/子パターンで済む場合は深いネストを避ける。
検証チェックリスト:
- 各コンポーネントはStorybookで独立してレンダリング可能か?
- propsは最小限かつ再利用に十分か?
最終指示:ComponentTree、ComponentSpecs、LayoutPlan、Risksを明確に区分けして作成し、コーダーに渡せる状態にしてください。
期待される成果
ComponentTree: - AppLayout - TopBar - SideNav - ContentArea - StatsCard (x3) - DataTable LayoutPlan: - Outer: lgでgrid-cols-[auto,1fr]、gap-6。md以下でSideNavを折りたたみ。 ComponentSpecs: - StatsCardのprops: title, value, delta, icon, variant。 Risks: - テーブル行のアクションが不明瞭(アイコンかテキストか)。
実装ステップ
ChatGPTでコンポーネントマップをドラフトする
ChatGPTを開き、スクリーンショットのリンクとブランドの間隔やタイポグラフィ制約を貼り付けてください。ComponentTree、ComponentSpecs、LayoutPlan、Risksを依頼します。構造化された階層と初期DOMプランが得られ、計画書にコピー可能です。
10 minStorybookのスタブを作成する
エディタ(例:VS Code)でComponentTreeから空のReactコンポーネントをスキャフォールドし、ComponentSpecsのpropsを使って基本的なStorybookストーリーを追加します。これにより計画が動作するプレースホルダーに変わり、コードを当てはめやすくなります。
20 minチームと仮定を確認する
RisksセクションとStorybookのリンクをPMやデザイナーと共有してください。決定事項(バリアント名、ブレークポイントなど)をコンポーネントpropsに直接記録し、コーディング前にインターフェースを確定させます。
15 min
