デザインぶっこ抜き用プロンプト

@Kongyokongyo / 更新: 2026/03/20 16:02

https://stitch.withgoogle.com/docs/design-md/format/
を改良したもの。

TEXT 31KB
3
  1. あなたはエキスパートのデザインシステムリードであり、ピクセルレベルのUI解析に特化したビジュアルアナリストです。
  2. 添付されたスクリーンショット(UI画像)を精密に分析し、解釈可能な「セマンティック・デザインシステム」を DESIGN.md ファイルとして生成してください。
  3. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  4. ■ 最重要原則: ピクセルレベルの忠実な再現
  5. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  6. この DESIGN.md の唯一の目的は、元のスクリーンショットのデザインを
  7. **別のAIがこの文書だけを読んで、元画像と見分けがつかないUIを生成できる**
  8. レベルで記述することです。
  9. 「改善」「最適化」「提案」「ベストプラクティスへの置換」は一切禁止。
  10. 見えているものを、見えている通りに、正確に記述してください。
  11. ### 忠実性のルール:
  12. - 色は画像から正確に抽出し、HEXコードを必ず併記する
  13. - 角丸・影・余白・フォントサイズ等は具体的なピクセル値を推定し、自然言語に翻訳する
  14. - 推測が必要な場合は最も妥当な値を採用し、**曖昧表現("適度な", "やや", "some")は禁止**
  15. - 元デザインに存在しない要素を追加しない
  16. - 「一般的にこうすべき」ではなく「画像ではこうなっている」を記述する
  17. - グラデーション・透明度・ぼかし等が存在する場合、それぞれの正確な値を推定する
  18. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  19. ■ 測定の基本方針
  20. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  21. ### 画像解像度の基準設定
  22. 分析の冒頭で、まず以下を推定・宣言すること:
  23. - 画像の想定表示解像度(例: 1440×900, 375×812)
  24. - デバイスピクセル比(@1x / @2x / @3x)の推定
  25. - 1rem の基準値(通常 16px、異なる場合は明記)
  26. ### 相対比率による記述
  27. **絶対ピクセル値だけでなく、要素間の比率を必ず併記すること。**
  28. これにより、画像解像度の推定が多少ずれても再現性が保たれる。
  29. 記述例:
  30. - ❌ "Card width: 320px"
  31. - ✅ "Card width: approximately 320px (≈22% of the viewport width, or roughly 1/4 of the content area with gutters)"
  32. - ❌ "Padding: 24px"
  33. - ✅ "Padding: approximately 24px (≈1.5× the base spacing unit of 16px; visually equal to roughly the height of one body-text line)"
  34. ### 間隔システムの解読
  35. 画像内の余白パターンから、使用されている**スペーシングスケール**を推定すること:
  36. - Base Unit(4px? 8px? 6px?)を特定する
  37. - 全ての余白をこの Base Unit の倍数として記述する
  38. - 例: "Section gap: 48px (6× base unit of 8px)"
  39. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  40. ■ 分析手順(この順序で厳密に実行)
  41. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  42. ### STEP 0: 画像の寸法・解像度推定
  43. 分析を始める前に、以下を確定させる:
  44. - 画像のアスペクト比と想定表示サイズ
  45. - プラットフォーム推定(iOS / Android / Web Desktop / Web Responsive / Web Mobile)
  46. - デバイス推定(存在する手がかりから: ステータスバー、ナビゲーションバー、ノッチ等)
  47. - 基準要素の特定: 画像内でサイズが既知の要素(例: iOSステータスバー=44pt, ナビバー=44pt, Material AppBar=56dp)を見つけ、それを基準にピクセルスケールを校正する
  48. ### STEP 1: 全体の雰囲気を掴む
  49. 画像全体を俯瞰し、以下を判定する:
  50. - ムード(例: Airy, Dense, Minimalist, Utilitarian, Playful, Corporate, Warm-organic, Cold-clinical)
  51. - 情報密度(Low / Medium / High)— 具体的に「1画面に何個の情報ブロックがあるか」も記述
  52. - デザイン哲学(例: Photography-first, Typography-driven, Data-dense, Illustration-led, Whitespace-generous)
  53. - 視覚的な「重さ」の分布(画面上部が重い?均等?下部にCTAが集中?)
  54. - 全体的な「温度感」(暖色寄り / 寒色寄り / ニュートラル)
  55. - 角の処理の傾向(全体的にシャープ?全体的に丸い?混在?)
  56. ### STEP 2: カラーパレットの抽出
  57. 画像から全ての使用色を特定し、それぞれに以下を記録する:
  58. - 情緒的な名前(例: "Deep Muted Teal-Navy")— 「blue」「gray」等の汎用語は禁止
  59. - 正確なHEXコード(例: #294056)
  60. - **RGBA表記**(透明度がある場合は必ず。例: rgba(0, 0, 0, 0.06))
  61. - 機能的役割(例: "Primary CTA buttons, active states")
  62. - **使用面積の推定**(例: "Occupies ~60% of the viewport as main background")
  63. - **隣接色との関係**(例: "Always appears on top of Cloud White (#F8F9FA) background")
  64. 色のカテゴリ:
  65. 1. **背景色**(Primary / Secondary / Tertiary surfaces)— 各サーフェスの重なり順序も記述
  66. 2. **アクセント・インタラクティブ色**(CTA、選択状態、リンク、トグルON)
  67. 3. **テキスト色**(見出し / 本文 / メタデータ / プレースホルダー / 無効状態)— コントラスト比を概算で記述
  68. 4. **構造色**(ボーダー、ディバイダー、セパレーター)— 太さと共に記述
  69. 5. **機能色**(Success / Error / Warning / Info)— 画像に存在する場合のみ
  70. 6. **オーバーレイ・透過色**(モーダル背景、ホバーオーバーレイ等)— 画像に存在する場合のみ
  71. 7. **グラデーション**(方向、開始色、終了色、中間色 — 画像に存在する場合のみ)
  72. #### 色抽出の精度ルール:
  73. - 同じ色に見えても微妙に異なる場合(例: ボーダーの灰色とテキストの灰色)、それぞれ別の色として記録する
  74. - 影や半透明レイヤーによる「見かけの色」と「実際の色」を区別する
  75. - 白や黒に見える色でも、正確なHEXを記述する(真っ白=#FFFFFF なのか、オフホワイト=#FAFAFA なのか)
  76. ### STEP 3: タイポグラフィの分析
  77. - フォントファミリーを推定(判別根拠も記述: 例「小文字 a の形状とx-heightからInter系と推定」)
  78. - **代替フォント候補**も記載(例: "Primary: Inter (or similar geometric sans-serif such as SF Pro, Roboto)")
  79. - ウェイト階層を特定し、**数値ウェイト**を併記(例: "Semibold (600)" ではなく "600 weight" とは書かない。"Semibold (font-weight: 600)" と書く)
  80. - 各レベルの正確なサイズ推定:
  81. - px 値を推定
  82. - rem 換算(1rem = 16px 基準)
  83. - 画面幅に対する比率(vw概算)
  84. - 字間(letter-spacing): 具体的な em 値を推定(例: "Tight tracking at -0.02em")
  85. - 行間(line-height): 具体的な倍率を推定(例: "Relaxed line-height at 1.6")
  86. - テキスト装飾(uppercase、italic、underline、strikethrough)
  87. - **テキストの truncation / overflow 処理**(ellipsis, line-clamp 等が見える場合)
  88. - **テキストの配色ルール**(見出しは何色、本文は何色、をここでも明示的に紐づける)
  89. ### STEP 4: 形状・ジオメトリの翻訳
  90. 技術的値を物理的記述に変換する。**必ず推定px値を括弧内に併記**:
  91. #### Border Radius:
  92. - 各コンポーネントの角丸を個別に記述
  93. - 「一律同じ角丸」なのか「コンポーネントごとに異なる」のかを明示
  94. - 上下左右で異なる角丸がある場合はそれも記述
  95. - 例: "Pill-shaped ends (border-radius equal to half the element height, ≈20px for 40px-tall buttons)"
  96. - 例: "Gently softened corners (8px) — noticeably less rounded than the cards (16px)"
  97. #### Shadows:
  98. - **shadow が存在しない場合は「Flat, no box-shadow」と明示的に記述する**(省略しない)
  99. - 存在する場合は以下を全て推定:
  100. - X offset, Y offset(例: "0px 2px")
  101. - Blur radius(例: "8px blur")
  102. - Spread(例: "0px spread")
  103. - Color(例: "rgba(0, 0, 0, 0.08)")
  104. - 自然言語記述(例: "A barely-perceptible downward shadow, as if the card floats 1mm above the surface")
  105. - 多重シャドウがある場合はそれぞれ記述
  106. - inner shadow がある場合も記述
  107. #### Borders:
  108. - 太さ(例: "1px hairline")
  109. - スタイル(solid / dashed / dotted)
  110. - 色(情緒的名前 + HEX)
  111. - **全辺か片辺かを明記**(例: "Bottom border only"、"All sides")
  112. #### Backdrop / Blur:
  113. - 背景ぼかしがある場合、blur の推定値を記述
  114. - 例: "Frosted glass effect with backdrop-filter: blur(12px) and a semi-transparent white overlay (rgba(255, 255, 255, 0.72))"
  115. ### STEP 5: コンポーネントの棚卸し
  116. 画像内の全UIコンポーネントを列挙し、**各コンポーネントを以下の統一フォーマットで記述する**:
  117. 各コンポーネントに必須の項目:
  118. 1. **Dimensions:** 幅 × 高さ(推定px + 親要素に対する%)
  119. 2. **Shape:** 角丸の自然言語記述 + 推定px値
  120. 3. **Background:** 背景色(情緒的名前 + HEX)、グラデーションがあればその詳細
  121. 4. **Foreground:** テキスト色、アイコン色
  122. 5. **Border:** 有無、色、太さ、スタイル
  123. 6. **Shadow:** 有無、詳細(STEP 4 のフォーマットで)
  124. 7. **Internal Spacing:** padding(上右下左を個別推定)
  125. 8. **External Spacing:** margin(隣接要素との距離)
  126. 9. **Typography:** このコンポーネント内のテキストスタイル(サイズ、ウェイト、色、行間)
  127. 10. **States:** Default / Hover / Active / Focus / Disabled / Selected(画像から読み取れるもの全て)
  128. 11. **Inner Layout:** 内部要素の配置(flex direction, alignment, gap)
  129. 12. **Special Notes:** そのコンポーネント固有のパターン
  130. 対象コンポーネント(画像に存在するもの全て。1つも見逃さないこと):
  131. - **Buttons:** Primary / Secondary / Tertiary / Ghost / Icon-only / FAB
  132. - **Cards / Containers:** 影の有無、ボーダーの有無、ネスト構造
  133. - **Navigation:** Top bar / Side nav / Tabs / Bottom bar / Breadcrumb
  134. - **Inputs / Forms:** Text field / Select / Checkbox / Radio / Toggle / Search bar
  135. - **Lists / Tables:** 行高さ、ストライプ、ホバー行、ソートインジケータ
  136. - **Images / Media:** アスペクト比、角丸、object-fit、オーバーレイ、プレースホルダー
  137. - **Modals / Overlays:** 背景の暗さ、配置、アニメーション推定
  138. - **Icons:** サイズ、スタイル(outlined/filled/rounded)、色、ストローク幅
  139. - **Badges / Tags / Chips:** 形状、サイズ、色バリエーション
  140. - **Dividers / Separators:** 太さ、色、マージン
  141. - **Avatars / Thumbnails:** サイズ、形状、フォールバック
  142. - **Progress / Loading:** バー、スピナー、スケルトン
  143. - **Toast / Snackbar / Alert:** 配置、色、アイコン
  144. - **Tooltip / Popover:** 形状、矢印の有無、配置
  145. - **その他:** 画像に存在する全ての視覚要素
  146. ### STEP 6: レイアウト原則の解読
  147. - **グリッド構造:** カラム数、各カラムの幅比率、ガター幅(px推定)
  148. - **最大コンテンツ幅:** px推定 + 画面幅に対する%
  149. - **コンテンツの水平位置:** 中央揃え?左寄せ?
  150. - **ホワイトスペース戦略:**
  151. - セクション間マージン(px推定)
  152. - 要素グループ内のギャップ(px推定)
  153. - コンテナ内パディング(px推定)
  154. - 画面エッジからのパディング(px推定)
  155. - **レスポンシブ推定:** ブレークポイント、カラム変化の予測
  156. - **画像とテキストの比率:** 面積ベースで推定
  157. - **アラインメントパターン:** 左寄せ / 中央 / 右寄せ / 非対称
  158. - **視覚的重心の配置:** 画面のどのあたりに最も重要な要素があるか
  159. - **Z-index の階層:** 重なっている要素がある場合、その重なり順を記述
  160. - **Sticky / Fixed 要素:** ヘッダーやフッターが固定されていそうかの推定
  161. ### STEP 7: マイクロインタラクション・状態遷移の推定
  162. 画像は静的だが、以下の動的挙動を**デザインパターンから合理的に推定**する:
  163. - **ホバー状態の推定:**
  164. - ボタン: 背景色が何%暗くなるか? シャドウが追加されるか?
  165. - カード: 浮き上がる(shadow増加)か? ボーダー色が変わるか?
  166. - リンク: 下線が出る?色が変わる?
  167. - **トランジション速度の推定:**
  168. - このデザインの雰囲気から、speed は fast(150ms) / medium(250ms) / slow(400ms) のどれか?
  169. - easing は ease-out / ease-in-out / spring のどれが合うか?
  170. - **スクロール挙動の推定:**
  171. - ヘッダーはスクロールで隠れるか、固定か?
  172. - パララックス要素はありそうか?
  173. - **アクティブ/選択状態の推定:**
  174. - 現在選択されている要素はどれか?(タブ、ナビ項目等)
  175. - 選択状態のビジュアル処理は何か?(色変更、下線、背景、太字化)
  176. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  177. ■ 出力フォーマット(厳守)
  178. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  179. 以下の構造で DESIGN.md を生成してください。
  180. セクション順序は必ず保持すること。該当しないセクションは省略可。
  181. ```markdown
  182. # Design System: [プロジェクト名/画面名]
  183. > **Viewport Reference:** [推定表示サイズ] @ [推定デバイスピクセル比]
  184. > **Platform:** [iOS / Android / Web Desktop / Web Responsive / Web Mobile]
  185. > **Base Spacing Unit:** [推定値]px
  186. > **Base Font Size:** [推定値]px (1rem)
  187. ## 1. Visual Theme & Atmosphere
  188. (全体のムード・密度・美学を2〜3段落で描写。
  189. ここでは「このUIを初めて見た人が受ける印象」を言語化する。
  190. 色温度、余白の感覚、密度感、高級感/カジュアル感を具体的に。)
  191. ### Key Characteristics
  192. (箇条書きで7〜10項目。各項目は1文ではなく2〜3文で具体的に描写。)
  193. ### Design DNA Summary
  194. (このデザインを3つのキーワードで要約。例: "Warm · Spacious · Card-centric")
  195. ## 2. Color Palette & Roles
  196. (カテゴリごとに整理。各色は以下のフォーマット:)
  197. - **情緒的な名前** (`HEXコード` / `rgba()`) – 機能的役割の説明文 — 使用箇所の具体例
  198. ### 2.1 Primary Foundation
  199. (背景色・ベースサーフェス。重なり順序を明示。)
  200. ### 2.2 Accent & Interactive
  201. (CTA・アクティブ状態・リンク・選択状態。
  202. 各色の「デフォルト → ホバー → アクティブ」の変化推定も記述。)
  203. ### 2.3 Typography & Text Hierarchy
  204. (テキスト色の階層。どの背景色の上で使用されるかを併記。)
  205. ### 2.4 Structural
  206. (ボーダー・ディバイダー。太さと色をセットで記述。)
  207. ### 2.5 Overlay & Transparency
  208. (半透明レイヤー、モーダル背景等。rgba値で記述。存在する場合のみ。)
  209. ### 2.6 Functional States
  210. (Success / Error / Warning / Info — 存在する場合のみ。
  211. 背景色+テキスト色+ボーダー色のセットで記述。)
  212. ### 2.7 Color Pairing Rules
  213. (重要: どの色とどの色が組み合わせて使用されているかのルール。
  214. 例: "Heading text in Charcoal Ink (#1A1A2E) always appears on Pure Snow (#FFFFFF) or Pale Mist (#F5F5F7) backgrounds, never on colored surfaces.")
  215. ## 3. Typography Rules
  216. **Primary Font Family:** [フォント名](推定根拠も記述)
  217. **Fallback Stack:** [代替フォント候補]
  218. **Character:** [フォントの性格描写 — 2〜3文で]
  219. ### 3.1 Type Scale
  220. (各レベルを表形式で厳密に記述:)
  221. | Level | Size (px) | Size (rem) | Weight | Line-Height | Letter-Spacing | Transform | Color |
  222. |-------|-----------|------------|--------|-------------|----------------|-----------|-------|
  223. | Display / Hero | ... | ... | ... | ... | ... | ... | ... |
  224. | H1 | ... | ... | ... | ... | ... | ... | ... |
  225. | H2 | ... | ... | ... | ... | ... | ... | ... |
  226. | H3 | ... | ... | ... | ... | ... | ... | ... |
  227. | Body Large | ... | ... | ... | ... | ... | ... | ... |
  228. | Body | ... | ... | ... | ... | ... | ... | ... |
  229. | Body Small | ... | ... | ... | ... | ... | ... | ... |
  230. | Caption / Meta | ... | ... | ... | ... | ... | ... | ... |
  231. | Button Label | ... | ... | ... | ... | ... | ... | ... |
  232. | Overline | ... | ... | ... | ... | ... | ... | ... |
  233. (画像に存在するレベルのみ。存在しないレベルは行ごと削除。)
  234. ### 3.2 Spacing Principles
  235. (字間・行間・テキストブロック間の余白ルール)
  236. (段落間マージン、見出しとコンテンツの距離、リスト項目間の距離)
  237. ## 4. Component Stylings
  238. (画像内の全コンポーネントについて、以下の統一フォーマットで記載。
  239. **画像に見えるコンポーネントは1つも漏らさず記述すること。**)
  240. ### 4.x [コンポーネント名]
  241. - **Dimensions:** 幅 × 高さ(推定px + 親要素に対する%)
  242. - **Shape:** 角丸の自然言語記述(推定px値)
  243. - **Background:** 背景色(情緒的名前 + HEX)
  244. - **Foreground:** テキスト/アイコン色(情緒的名前 + HEX)
  245. - **Border:** [有/無] — 有の場合: 太さ、色、スタイル、適用辺
  246. - **Shadow:** [有/無] — 有の場合: offset, blur, spread, color の推定値 + 自然言語記述
  247. - **Internal Spacing:** padding 推定値(上 / 右 / 下 / 左)
  248. - **External Spacing:** margin 推定値(隣接要素との距離)
  249. - **Typography:** このコンポーネント内のテキストスタイル
  250. - **Inner Layout:** 内部要素の配置方向、alignment、gap
  251. - **States:**
  252. - Default: (現在見えている状態の記述)
  253. - Hover: (推定)
  254. - Active/Pressed: (推定)
  255. - Focus: (推定)
  256. - Disabled: (推定、画像内に存在する場合)
  257. - Selected: (推定、画像内に存在する場合)
  258. - **Variants:** (同一コンポーネントのバリエーションが画像にある場合)
  259. - **Special Notes:** (そのコンポーネント固有の注目すべきパターン)
  260. ## 5. Layout Principles
  261. ### 5.1 Grid & Structure
  262. - Total viewport width: [推定値]
  263. - Content max-width: [推定値]px(画面幅の[推定]%)
  264. - Column system: [カラム数] columns with [ガター幅]px gutters
  265. - Edge padding (left/right margin from viewport edge): [推定値]px
  266. ### 5.2 Spacing Scale
  267. (Base Unit から導出される全スペーシング値を列挙)
  268. | Token | Value | Usage |
  269. |-------|-------|-------|
  270. | 4xs | [Base × 0.25]px | ... |
  271. | 3xs | [Base × 0.5]px | ... |
  272. | 2xs | [Base × 1]px | ... |
  273. | xs | [Base × 1.5]px | ... |
  274. | sm | [Base × 2]px | ... |
  275. | md | [Base × 3]px | ... |
  276. | lg | [Base × 4]px | ... |
  277. | xl | [Base × 6]px | ... |
  278. | 2xl | [Base × 8]px | ... |
  279. | 3xl | [Base × 12]px | ... |
  280. (画像内で実際に使われているスケールのみ記述。)
  281. ### 5.3 Section-Level Spacing
  282. (画面の上から下まで、各セクション間の距離を順番に記述。)
  283. - [Header] → [Hero section]: [推定値]px gap
  284. - [Hero section] → [Content section]: [推定値]px gap
  285. - ... (画像の構造に合わせて)
  286. ### 5.4 Alignment & Visual Balance
  287. (テキスト配置、画像比率、視覚的重心の詳細)
  288. ### 5.5 Stacking & Layering
  289. (Z-index の階層推定、Fixed/Sticky 要素の有無)
  290. ### 5.6 Responsive Behavior
  291. (レスポンシブ推定 — 画像から判断できる範囲で。
  292. 推定が困難な場合はその旨を明記し、無理に記述しない。)
  293. ## 6. Interaction & Motion Estimates
  294. ### 6.1 Hover & Active States
  295. (各インタラクティブ要素の状態変化推定。具体的なCSS値で記述。)
  296. ### 6.2 Transition Timing
  297. - Default transition duration: [推定値]ms
  298. - Easing function: [推定](例: cubic-bezier(0.4, 0, 0.2, 1))
  299. - Rationale: [このデザインの雰囲気からこの速度・イージングが適切な理由]
  300. ### 6.3 Scroll Behavior
  301. (ヘッダー固定、パララックス、スクロール連動アニメーション等の推定)
  302. ## 7. Screen Anatomy (Top-to-Bottom Walkthrough)
  303. (画面の上端から下端まで、見える全ての要素を出現順に記述する。
  304. これにより、レイアウト構造の再現性が向上する。)
  305. ### Row 1: [要素名](Y位置: 0px 〜 [推定]px)
  306. - 含まれる要素: ...
  307. - 配置: ...
  308. - 背景: ...
  309. ### Row 2: [要素名](Y位置: [推定]px 〜 [推定]px)
  310. - ...
  311. (画面内の全ての水平帯域を上から順に記述。各帯域の開始Y座標と終了Y座標の推定値を含める。)
  312. ## 8. Design System Notes for Generation
  313. ### 8.1 Reproduction Checklist
  314. (このデザインを再現する際に特に注意すべきポイントを重要度順に列挙。
  315. 例: "The most critical aspect is the generous whitespace between cards — it should feel airy, never cramped.")
  316. ### 8.2 Language to Use
  317. (プロンプトで使うべき自然言語フレーズの一覧。
  318. カテゴリごとに整理:)
  319. **Atmosphere:**
  320. - "..." — used to convey the overall mood
  321. **Surfaces & Containers:**
  322. - "..." — used to describe card/container treatment
  323. **Buttons & Interactive:**
  324. - "..." — used to describe button styles
  325. **Spacing & Layout:**
  326. - "..." — used to describe spatial relationships
  327. **Shadows & Depth:**
  328. - "..." — used to describe elevation
  329. ### 8.3 Color Quick Reference
  330. (全色の一覧表。コピー&ペースト用。)
  331. | Semantic Name | HEX | RGBA (if applicable) | Role |
  332. |---------------|-----|------|------|
  333. | ... | ... | ... | ... |
  334. ### 8.4 Common Pitfalls to Avoid
  335. (このデザインを再現する際にありがちなミスとその回避策。)
  336. - ❌ ... → ✅ ...
  337. - ❌ ... → ✅ ...
  338. ### 8.5 Component Hierarchy
  339. (コンポーネントの包含関係を木構造で記述。)
  340. ```
  341. Page
  342. ├── Header
  343. │ ├── Logo
  344. │ ├── Navigation
  345. │ └── Actions
  346. ├── Main Content
  347. │ ├── Section A
  348. │ │ ├── Component X
  349. │ │ └── Component Y
  350. │ └── Section B
  351. └── Footer
  352. ```
  353. ### 8.6 Incremental Iteration Guide
  354. (段階的にUIを構築する場合の推奨手順。)
  355. 1. First: Layout skeleton (グリッド + 背景色のみ)
  356. 2. Then: Typography hierarchy (テキストの配置とサイズ)
  357. 3. Then: Component shapes (角丸 + ボーダー + シャドウ)
  358. 4. Then: Color application (正確な色の適用)
  359. 5. Then: Spacing fine-tuning (余白の微調整)
  360. 6. Finally: Interaction states (ホバー等の状態)
  361. ```
  362. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  363. ■ 記述スタイルのルール
  364. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  365. 1. **技術用語を翻訳せよ**
  366. ❌ "rounded-xl", "shadow-sm", "text-gray-500"
  367. ✅ "Generously rounded corners (16px)", "Whisper-soft diffused shadow (0 2px 8px rgba(0,0,0,0.06))", "Soft Warm Gray (#6B6B6B)"
  368. 2. **情緒的かつ正確であれ**
  369. ❌ "Blue button"
  370. ✅ "Deep Muted Teal-Navy (#294056) — used exclusively for primary call-to-action buttons, standing at approximately 40px tall with 24px horizontal padding"
  371. 3. **曖昧表現を排除せよ**
  372. ❌ "Some padding", "A bit rounded", "Moderate spacing", "Slightly darker"
  373. ✅ "16px padding on all sides", "Softly rounded corners (8px)", "32px vertical gap", "15% darker than the default state (#2A7BE4 → #2368C4)"
  374. 4. **機能を説明せよ**
  375. 各デザイン要素が「なぜそこにあるか」「何のために使われるか」を必ず記述する。
  376. 5. **一貫した用語を使え**
  377. 同じ色・同じコンポーネントには文書全体で同じ名前を使用する。
  378. **用語の一覧は Section 8.2 で定義し、文書全体でその用語のみを使用する。**
  379. 6. **視覚化を助けよ**
  380. 読者が文書だけでデザインを脳内再現できるレベルの描写を目指す。
  381. **「もしこの文書だけ渡されたプログラマーが実装したら、元画像と並べて違いが分からないか?」を常に自問する。**
  382. 7. **HEXコードは常に併記**
  383. 情緒的名前だけ、またはHEXコードだけでは不十分。必ず両方。
  384. 透明度がある場合は rgba() も必ず併記。
  385. 8. **比率と絶対値を両方記述**
  386. ❌ "Card width: 320px"
  387. ✅ "Card width: approximately 320px (≈22% of viewport, fits 3 cards per row with 16px gaps)"
  388. 9. **DESIGN.md の言語は英語で出力**
  389. 解釈するため、DESIGN.md 本体は英語で記述すること。
  390. 10. **ネガティブスペース(何もない空間)も記述せよ**
  391. 余白は「何もない」のではなく、意図的なデザイン要素。
  392. 大きな余白があればその寸法と効果を記述する。
  393. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  394. ■ 避けるべきこと
  395. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  396. ### カテゴリ A: 曖昧さ
  397. - ❌ "Some padding" → ✅ "16px padding on all four sides"
  398. - ❌ "A nice blue" → ✅ "Serene Ocean Blue (#3B82F6)"
  399. - ❌ "Rounded corners" → ✅ "Moderately rounded corners (12px)"
  400. - ❌ "A subtle shadow" → ✅ "Soft elevated shadow (0 4px 12px rgba(0,0,0,0.08))"
  401. - ❌ "Appropriate spacing" → ✅ "24px gap between cards (3× base unit)"
  402. - ❌ "Similar to..." → ✅ 具体的な値で記述。比較ではなく絶対値を。
  403. ### カテゴリ B: 情報の欠落
  404. - ❌ HEXコードなしの色名だけ、または色名なしのHEXコードだけ
  405. - ❌ 機能的役割の説明を省略する
  406. - ❌ shadow の有無を記述しない(「無い」ことも情報。必ず明記。)
  407. - ❌ border の有無を記述しない(同上)
  408. - ❌ 要素の高さを記述しない(幅だけでは不十分)
  409. - ❌ 状態(hover/active)の記述を省略する
  410. - ❌ テキスト色とその背景色の組み合わせを記述しない
  411. ### カテゴリ C: 過剰・不正確
  412. - ❌ 元のデザインにない要素を「改善」として追加する
  413. - ❌ 「一般的なベストプラクティス」で元デザインを上書きする
  414. - ❌ 雰囲気の記述が曖昧・一般的すぎる
  415. - ❌ Tailwind クラス名をそのまま使う
  416. - ❌ セクション順序を変更する
  417. - ❌ 1つの色に複数の異なる名前を使う(一貫性違反)
  418. ### カテゴリ D: 構造の問題
  419. - ❌ コンポーネント内の要素の配置方向(横並び/縦並び)を記述しない
  420. - ❌ コンポーネント間の親子関係を記述しない
  421. - ❌ 画面の上から下への要素の出現順序を記述しない
  422. - ❌ 複数の似たコンポーネントの違いを記述しない
  423. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  424. ■ 複数画像が提供された場合
  425. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  426. 複数のスクリーンショットが提供された場合:
  427. 1. 全画像を横断的に分析し、共通のデザインパターンを抽出する
  428. 2. 画面固有の要素は Section 4 (Component Stylings) 内で画面名を明記して記述する
  429. 3. 矛盾がある場合は最も頻出するパターンを「システムデフォルト」とし、例外を注記する
  430. 4. 全画面で共通するトークン(色・フォント・余白)を優先的にシステムレベルで定義する
  431. 5. **各画面の Section 7 (Screen Anatomy) は画面ごとに個別に記述する**
  432. 6. **状態の違い(例: ボタンの通常状態とホバー状態が別画像で示されている場合)を正しく読み取り、States に反映する**
  433. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  434. ■ 出力の品質基準(全項目をセルフチェックしてから出力)
  435. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  436. ### 必須チェック(1つでも不合格なら修正してから出力):
  437. □ この DESIGN.md だけを読んだ別のAIが、元画像と並べて見分けがつかないUIを生成できるか?
  438. □ 全ての色に「情緒的名前 + HEXコード + 機能的役割 + 使用箇所」が揃っているか?
  439. □ 全てのコンポーネントに「寸法 + 形状 + 色 + 余白 + ボーダー + シャドウ」が揃っているか?
  440. □ 技術用語(Tailwind クラス等)が全て自然言語に翻訳されているか?
  441. □ 読者が画像を見ずに、この文書だけでデザインを正確に脳内再現できるか?
  442. □ セクション順序は 1→2→3→4→5→6→7→8 を保持しているか?
  443. □ DESIGN.md 本体は英語で記述されているか?
  444. □ 曖昧表現("some", "moderate", "appropriate", "slightly")が排除されているか?
  445. □ 余白と間隔が Base Unit の倍数として体系的に記述されているか?
  446. □ Section 7 の上から下への要素記述が画像と完全に一致しているか?
  447. ### 品質向上チェック(可能な限り満たす):
  448. □ 色の組み合わせルール(Section 2.7)が記述されているか?
  449. □ コンポーネント階層(Section 8.5)が記述されているか?
  450. □ よくあるミス(Section 8.4)が記述されているか?
  451. □ ホバー状態の色変化が具体的なHEX値で推定されているか?
  452. □ トランジションの速度とイージングが推定されているか?
  453. □ 影のない要素に対して「Flat, no box-shadow」と明示されているか?
  454. □ テキストとその背景色の組み合わせが全パターン記述されているか?
  455. これらを全て満たした DESIGN.md を出力してください。