AIにUIを作らせると、放っておけば“それっぽい汎用デザイン”になりがちです。DESIGN.md は、自社の配色・フォント・余白などのデザインシステムを1ファイルにまとめ、AIエージェントに毎回参照させるための仕様ファイル。Google Labs がオープンソースで公開した形式で、CLAUDE.md / AGENTS.md の“デザイン版”にあたります。役割と作り方を詳しく解説します。
DESIGN.md とは
DESIGN.md は、デザインシステムをコーディングエージェントに伝えるための、単一でバージョン管理できるファイルです。Google の AIデザインツール Google Stitch に2026年3月導入され、その後ツールから独立してオープンソースのドラフト仕様(google-labs-code/design.md、Apache-2.0)として公開されました。
狙いはシンプルで、AIが汎用的なUIに逃げず、自社のブランドどおりに生成するようにすること。エンジニアリングの文脈を CLAUDE.md / AGENTS.md が持続的に与えるのと同じ役割を、デザイン(見た目)の文脈で果たします。セッションをまたいで残り、リポジトリに付いて回る“持続的な契約”です。
ファイル構造:YAML+Markdownの二層
1つのファイルの中に、機械可読のデザイントークン(YAMLフロントマター)と、人間可読のデザインの意図(Markdown本文)を同居させます。トークンが「正確な値」を、本文が「なぜ・いつ使うか」を伝えます。
---
# YAMLフロントマター(機械可読のトークン)
name: Heritage
colors:
primary: "#1A1C1E"
background: "#F7F3EC"
tertiary: "#B8422E"
typography:
headline:
fontFamily: "Inter"
fontSize: 48
fontWeight: 700
spacing:
scale: [4, 8, 16, 24, 32]
---
## Overview
建築的なミニマリズムと、報道的な重厚さの融合。
## Colors
- Primary (#1A1C1E): 見出しと本文の主役となる濃いインク色。
- Tertiary (#B8422E): 操作要素だけに使う唯一のアクセント。
トークンは colors(HEX)、typography(family / size / weight / lineHeight / letterSpacing)、spacing、角丸スケール、コンポーネントのプロパティ対応などをカバー。トークンの相互参照は {colors.primary} のような記法で書けます。
本文の見出しは“順序まで決まっている”
Markdown本文の ## 見出しは、規定された順序で並べます。これにより、どのDESIGN.mdも同じ構造になり、AIが迷わず読めます。
| セクション | 書く内容 |
|---|---|
| Overview | デザインの全体方針・世界観 |
| Colors | 各色の役割(“primaryは見出し用”など意味づけ) |
| Typography | フォント・サイズ・太さ・行間の規則 |
| Layout | レイアウト・グリッドの原則 |
| Elevation & Depth | 影・奥行きの扱い |
| Shapes | 角丸・形状 |
| Components | ボタン等コンポーネントのプロパティ対応 |
| Do’s and Don’ts | やってよいこと・避けること(意味的ルール) |
付属CLIで“AIが自分の出力を検証”できる
このフォーマットの目玉が、公式CLI @google/design.md です。とくに lint は、AIエージェントがコードを書く前に、自分のデザイン変更をWCAG(アクセシビリティ)基準などで自己検証するループを可能にします。たとえば配色のコントラスト比が本文の最低基準を下回ると lint が検知し、エージェントは色を選び直す(または理由があれば上書きする)――という流れです。
| コマンド | 役割 |
|---|---|
npx @google/design.md lint DESIGN.md | 壊れた参照・WCAG AAコントラスト・孤立トークン・セクション順序・タイポ欠落をチェック |
npx @google/design.md diff DESIGN.md DESIGN-v2.md | バージョン間のトークン差分を検出(退行があれば終了コード1) |
npx @google/design.md export --format tailwind DESIGN.md | トークンを Tailwind 設定や DTCG(W3C Design Tokens)形式へ書き出し |
npx @google/design.md spec | フォーマット仕様を出力(エージェントのプロンプトに仕様を注入する用) |
「AIが読んで終わり」ではなく「AIが頼れる・自分で検証できる」ファイルになっているのが、従来のスタイルガイドとの大きな違いです(“検証”の重要性は Claude Codeスキル『9つの型』の知見とも一致します)。
作り方:3つのルート
- Stitchで自動生成:「ミニマルで青と白、Inter、クリーンなカード」のような説明から初期版を生成。変更時もStitchが更新してくれる。
- テンプレートから書く:仕様のテンプレを取得して埋める。
- 手書き・既存資産から移植:Figmaのトークン、Tailwind設定、既存スタイルガイドがあれば、そのままDESIGN.md形式へ翻訳する。独自スキーマを覚える必要はなく、ただのMarkdown。
運用面では、テキストファイルなのでGitに自然に乗ります。トークンの変更履歴をコミットで追い、プルリクでレビューする――コードと同じ流れでデザインの決定を管理できます。迷った判断や例外を追記して、少しずつ育てていくのが基本です。
なぜMarkdownなのか
JSON/YAML単体のトークンファイルは機械可読でも人には読みにくく、スタイルガイド文書は人には読めても機械処理できません。DESIGN.md は両方を満たすうえ、LLMが学習済みのMarkdownなのでそのまま理解されやすく、コンテキスト消費も軽い(おおむね数千トークン)という利点があります。すでにビルドパイプラインでデザイントークンを使っている場合も、置き換えではなくexportで共存できます。
注意点
- まだ alpha 版:仕様・トークンスキーマ・CLIは活発に開発中で、形式が変わる可能性があります。最新は公式リポジトリで確認を。
- 万能ではない:DESIGN.md は“見た目の規約”。機能の要件や実装手順は別ファイル(requirements / design / tasks など)や
AGENTS.mdの役割です。1ファイル1役割で分けるのがコツ。
主な情報源
- google-labs-code/design.md(公式リポジトリ・仕様)
- What is DESIGN.md?(designmd.app)
- DESIGN.md Specification(Sébastien Dubois)
DESIGN.md は Google Labs によるオープンソース仕様(公開時点で alpha)。仕様・コマンドは変更される可能性があります。収集・要約はAI、公開判断は人。