til//design-system-transfer
design-system-transfer.mdupdated 2026-07-3111,117 chars

DESIGN.md ベースの​デザイン移植プレイブック

軽い​気持ちで​ DESIGN-elevenlabs-io.md を​生成した​あと、​これを​ SCAS と​次の​コーポレートサイトへ​移植すると​いう​前提の​ところで​一度​立ち止まり、​2026 年 5 月時点での​ DesignMD​(デザインエムディー)​まわりの​エコシステム​(=周辺の​ツール・サービス群)と、​生成された​仕様に​「欠けている​もの」を​記録と​して​まとめた。

1. designmd.me と​いう​プロダクトの​実体

1.1 何であるか

DesignMD は、​任意の​ Web サイトの​ URL を​貼り付けると​ DESIGN.md 形式の​デザインシステム仕様(=色・書体・余白・角丸などの​決まり​ごとを、​機械が​読める​ 1 枚の​テキストに​まとめた​もの)を​返す AI サービスである。​Vercel​(ヴァーセル = Web アプリの​ホスティング大手)​上で​動く​ SPA​(Single Page Application = ページ遷移せず​画面を​書き換える​方​式の​ Web アプリ)で、​ランディングページは​ https://designmd.me/、​CLI​(Command Line Interface = 端末から​コマンドで​操作する​方​式)の​ガイドは​ https://designmd.me/cli に​ある​(環境に​よっては​ Vercel の​セキュリティチェックポイントに​阻まれ、​直接取得できない)。​Product Hunt​(=新作プロダクトを​公開・投票する​掲示サイト)の​掲載ページ https://www.producthunt.com/products/designmd-2 は​作者を​ Aditya Raj とし、​タグラインを​「Turn any website into an AI-ready design system」、​価格を​明確に​ Free と​記載している。

運営は​ Crowdlinker(クラウドリンカー = トロント拠点の​デジタルプロダクト/ベンチャースタジオ、https://www.crowdlinker.com)。​同社の​ X アカウントが​ https://x.com/crowdlinker/status/2042677716940452129 で​告知している。​「We just shipped DesignMD. Paste any website URL → get a complete DESIGN.md file in seconds. Color palette, typography, design tokens — extracted by AI and ready for your coding agents. Free. No sign-up.」。​つまり、​Aditya Raj を​リードメーカーと​して​ Crowdlinker が​外部に​配布している​ OSS/無料 SaaS​(Software as a Service = ブラウザから​使う​クラウドサービス)、と​読むのが​一貫した​理解に​なる。

1.2 解決している​課題

「Claude Code や​ Cursor が​生成する​ UI は​ AI スラップ​(AI slop = AI が​量産する​凡庸な​見た目。​紫の​グラデーション、​絵文字の​多用、​とりあえず Inter を​当てる、と​いった​特徴)に​なる」と​いう​課題に​対し、実在の​参照サイトの​デザイントークン(design token = 色や​余白などの​値に​名前を​付けて​再利用​可能に​した​もの)を​一発で​抽出し、​CLAUDE.md や​ .cursor/rules の​隣に​置くことで、​エージェントの​出力を​その​ブランド側へ​引き寄せる。​Google が​ Stitch​(スティッチ)で​標準化した​ DESIGN.md 形式​(https://github.com/google-labs-code/design.md)に​乗っている​ため、​出力は​素の​ Claude / Cursor / Cline で​そのまま​読める。

1.3 出力フォーマット

VoltAgent の​ awesome-design-md​(https://github.com/VoltAgent/awesome-design-md)と​ designmd.app の​ガイド(https://designmd.app/what-is-design-md/)が​一致して​示すとおり、​Stitch の​ DESIGN.md 標準は​ 8〜9 セクションからなる。

  1. Visual Theme & Atmosphere​(視覚テーマと​雰囲気)
  2. Color Palette & Roles​(配色と​役割)
  3. Typography Rules​(書体規則)
  4. Component Stylings​(部品の​スタイル)
  5. Layout Principles​(レイアウト原則)
  6. Depth & Elevation​(奥行きと​重なり)
  7. Do's and Don'ts​(推奨と​禁止)
  8. Responsive Behavior​(画面幅への​追従)
  9. Agent Prompt Guide​(エージェントへの​指示文の​書き方)

DesignMD の​出力も​この​構造に​従っており、​生成された​ DESIGN-elevenlabs-io.md も​同じく​ 9 セクション構成に​なっている。

1.4 価格と​クォータ

Crowdlinker の​告知も​ Product Hunt も​ Free / No sign-up を​明示している​(2026 年 5 月時点)。​CLI が​ログインを​要求する​理由は​「ユーザー単位の​クォータ​(quota = 利用量の​上限枠)​/レート制限の​管理の​ため」と​読むのが​自然で、​無料枠の​範囲で​呼び出す前提に​なる。​商用で​要求の​厳しい​サイトでは、​Vercel の​レート制限に​当たる​ことを​前提に、​ローカルへ​キャッシュしておく​ほうが​安全である。

1.5 プライバシー上の​含意

  • 投入する​ URL は公開サイトに​限ること。​社内ステージング​(=公開前の​検証環境)や​認証が​必要な​ページを​渡すと、​DesignMD の​バックエンドが​ puppeteer / playwright​(=ブラウザを​自動操作する​ツール)のような​もので​到達を​試み、​失敗するか、​あるいは​漏らすことに​なる
  • スクリーンショットと​ DOM​(Document Object Model = ページの​構造データ)の​ダンプが​サーバー側へ​送られる​ため、未公開の​デザインを​未公開のまま投入してはならない​(自社サイトであっても​本番 URL に​限る)
  • 出力される​ .md は​色・書体・シャドウの​値の​テキストなので、​成果物​その​ものには​機密性が​ほぼ含まれない。​コミットして​差し支えない​水準で​ある

2. designmd.me/cli の​使い方

2.1 ​注意:直接検証できなかった​部​分

https://designmd.me/cli への​ WebFetch は​ Vercel の​ボット対策に​阻まれ、​この​作業では​原文を​取得できなかった。​以下は​同等の​ DESIGN.md 系ツール​(@google/design.md、​design-extract、​designmd.ai など)と​ Crowdlinker の​告知から​推定した​標準的な​使い方なので、実際の​フラグ名と​パッケージ名は​公式ページで​確認する​こと。​作業指示に​出てくる​ designmdme --website <url> と​いう​形は、​Crowdlinker 自身が​提供している​ラッパー​(wrapper = 内部の​コマンドを​包んで​使いやすくした​外側の​コマンド)​名だと​推定している。

2.2 想定される​基本フロー

# 1. インストール(npx で都度起動が標準)
npx designmdme@latest --help

# 2. ログイン(クォータ/API key 紐付け)
npx designmdme login

# 3. 生成
npx designmdme --website https://elevenlabs.io --out DESIGN-elevenlabs-io.md

--website が​対象 URL、--out が​出力先である。​出力される​ Markdown は​上述の​ 9 セクション構成で、​そのまま​ CLAUDE.md の​隣に​置くか、@DESIGN-<domain>.md 参照で​エージェントに​渡す。

2.3 AI ツールへの​組み込み

標準的なやり方は、​banani.co の​ガイド(https://www.banani.co/blog/design-md-guide)と​ designmd.app​(https://designmd.app/what-is-design-md/)に​書かれている​ものである。

  • Claude Code:プロジェクトルートの​ CLAUDE.md から​ @DESIGN.md を​読ませる。​あるいは​ Anthropic 公式の​ frontend-design スキルを​有効に​すると​ DESIGN.md が​自動で​注入される
  • Cursor.cursor/rules/design.mdc と​して​置き、alwaysApply: true で​全体に​適用する
  • Cline / Roo Code:同様に​プロジェクトルートへ​置けば​コンテキスト​(=AI が​読み込む文脈)に​拾われる
  • 呼び出し時は​「Build the pricing page. Use @DESIGN.md for all styling decisions.」のような明示的な​参照を​書くと​再現度が​高い

2.4 トークン/クォータの​管理

  • CLI の​ 1 回の​生成は​対象サイトを​スクレイピング​(=ページを​取得して​中身を​抜き出すこと)し、​LLM​(Large Language Model = 大規模言語モデル)で​要約する​ため、​サーバー側の​コストは​高めである。​Crowdlinker の​無料枠を​圧迫しないよう、同一ドメインの​再生成は​ローカルキャッシュから​返すこと
  • 生成結果は​ git に​コミットして​固定する。​デザインシステムの​バージョン管理は​ Markdown の​差分で​十分である

3. 再現度の​監査:DESIGN-elevenlabs-io.md が​捉えた​ものと​落とした​もの

3.1 捉えている​もの​(仕様が​強い領域)

DESIGN-elevenlabs-io.md を​実物の​ https://elevenlabs.io と​突き合わせると、​以下は​妥当である。

  • カラートークン:黒と​白を​背骨に、​暖色の​ベージュ/コーラル/ブルーダストを​アクセントとし、​ニュートラルスケール​(#E5E5E5 の​区切り線など)を​持つ構成。​ElevenLabs の​ブランドガイド(https://elevenlabs.io/brand)が​「ElevenAPI uses a monochrome palette of black / white / neutral tones」と​述べており、​抽出結果と​一致する
  • radius スケール(=角丸の​大きさの​段階)​:pill​(9999px)​/16px の​カード/18px の​セカンダリボタン、の​ 3 段。​実装と​整合する
  • shadow レシピ(=影の​重ね方)​:多層シャドウ​(outline + soft + cast)の​ L1〜L4 の​段階が、​ElevenLabs 系の​繊細な​見え方を​正確に​捉えている
  • spacing(=余​白)​:4px を​基数と​して​ 4 / 8 / 12 / 16 / 24 / 48 / 72 / 120 の​刻み。​実物の​余白の​取り方と​一致する
  • Do's and Don'ts:AI スラップ回避の​ヒューリスティクス​(=経験則。​紫の​グラデーションを​使わない、​主要 CTA に​アクセント色を​使わない、​シャドウを​ rgba(0,0,0,0.12) より​濃くしない)は、​エージェントへの​指示文と​して​よく​効く

3.2 落と​している​もの、​間違えやすい​もの

  • モーション仕様:ボイスオーブ​(voice orb = 音声に​反応して​形が​変わる​球体の​演出。​agentState が​ listening / thinking / talking の​ときに​変形する​ Three.js + GLSL の​球体。​Three.js は​ 3D 描画ライブラリ、​GLSL は​ GPU 上で​走る​描画用の​言語)は、​テキストの​仕様では​再現できない。​ElevenLabs 公式の​ https://ui.elevenlabs.io/docs/components/orb が​ OSS なので、​デザイン仕様ではなく実装を​そのまま​持ち込むべきである​(後述)
  • グラデーションオーブの​配色レシピ["#CADCFC", "#A0B9D1"] のような​具体的な​グラデーションの​組、​ノイズシェーダー​(noise shader = 揺らぎを​作る​描画プログラム)の​周波数、​音声反応の​応答カーブは​仕様に​書かれない
  • クラドニ図形(Chladni patterns = 板を​振動させた​ときに​砂が​描く​幾何模様)​:ブランドガイドに​ある​「Creative / API プラットフォーム向けの​クラドニ図形」は​静的な​トークンでは​表現できず、​別途 SVG/canvas の​実装が​要る
  • Waldenburg の​指定:仕様には​「Primary Display: Waldenburg (light weight)」と​あるが、​Waldenburg は​ Klim ファミリーの​有償商用フォントである​(Michael Clasen、​2021 年。​商用利用には​購入が​必要)。この​指定を​そのまま​採用すると​ライセンス違反に​なる。​後述の​無償代替へ​マッピングする​必要が​ある
  • PP NeueBit のような​ピクセル/等幅アクセント:ElevenLabs が​部分的に​使っている​ pp neue bit 系の​レトロ等幅書体は​仕様に​拾われない。​これも​商用ライセンスが​前提である
  • アクセシビリティの​状態:フォーカスリング​(=キーボード操作時に​当たっている​要素を​囲む枠)の​太さ、prefers-reduced-motion(=動きを​減らす設定)​への​挙動、​forced-colors モード​(=OS 側で​色を​強制する​表示モード)​への​対応は​仕様に​含まれない。​WCAG AA​(Web Content Accessibility Guidelines の​レベル AA = 国際的な​アクセシビリティ基準の​実務水準)は​別途検証が​要る
  • コピーライティングの​声:ElevenLabs の​見出しは​「The most realistic AI voice platform」のような​短い​断定文と、​開発者向けの​コードスニペットの​組み合わせである。​トーン・オブ・ボイス(=文章の​語り口)は​トークンでは​捉えられない
  • アイコンシステム/イラスト:9 セクションの​仕様は​色・書体・形状までしか​扱わず、​アイコンセットも​イラストも​捉えない

3.3 DESIGN.md が​構造的に​伝えられない​もの

カテゴリ伝えられない​理由
有償フォント​その​ものライセンス上の​理由から​ URL すら​埋め込まれない
イラスト/写真バイナリ資産であり、​生成 AI であっても​仕様からは​起動できない
モーションの​実装Three.js / Rive / Lottie の​コードは​ Markdown の​外に​ある
実際の​コンポーネントライブラリ状態遷移・props 設計・アクセシビリテ​ィ属性は​別問題である
ブランドボイスコピーの​リズムと​語彙の​コントロールは​文字数では​表せない
写真の​カラーグレーディングLUT​(Look Up Table = 色変換の​対応​表)や​露出方​針は​テキストに​落ちない

要するに​ DESIGN.md はデザイン言語の​骨格であって、​デザインその​ものではない。

4. 他サイトへ​移植する​ための​プレイブック

4.1 SCAS と​ハイフンテクノロジーズの​コーポレートサイトへの​適用手順

手順は​固定である。

  1. 対象 URL を​決める。SCAS なら、​参照したい​既存サイトを​ 1〜2 本選ぶ​(例:https://stripe.com/jp/atlas や​ https://linear.app など、​SCAS の​トーンに​近い​もの)
  2. npx designmdme --website <ref-url> --out DESIGN-<domain>.md で​生成する
  3. リポジトリルート​(Hyphen-Tech-Org/scas 内)に​コミットする。​複数を​参照する​場合は​ DESIGN-<domain>.md を​複数置き、​優先順位を​ CLAUDE.md に​明記する
  4. CLAUDE.md の​末尾に​次のような​節を​追加する​:
    ## Design system
    - 第一参照: `@DESIGN-<primary>.md`
    - 補助参照: `@DESIGN-<secondary>.md`
    - これらと矛盾する Tailwind / shadcn デフォルトは無視。色・radius・shadow は spec を厳守
  5. 実際の​コンポーネント​(Button、​Card、​Input、​Header)を​ 1 つずつ​実装し、​Playwright MCP​(=ブラウザ自動操作ツールを​ AI から​呼び出す接続)で​スクリーンショットを​撮る​ → 仕様とずれていたら、​仕様ではなく実装を​直す(仕様は​あくまで​土台である)
  6. いく​つか​部​品が​そろったら、.storybook または​ _components/ の​下に​社内カタログを​作る

4.2 仕様を​正典と​して​扱う​場面と、​外す​場面の​切り分け

状況仕様を​信じる仕様を​外す
カラートークンの​ hex 値◎ ​そのまま​採用既に​ブランドガイドが​あるなら​上​書き
radius / spacing スケール◎ 採用サイドバー主体の​ SaaS UI で​ 16px の​カードが​過剰なら​詰める
書体ファミリー△ 商用フォントは​差し替え必須常に​無償代替へ​マッピングする
日本語組版× 仕様は​英文テキストを​前提に​しているNoto Sans JP / IBM Plex Sans JP / LINE Seed JP を​別途決める
Do's and Don'ts◎ AI スラップの​抑制に​効くアクセシビリティ要件と​衝突するなら​アクセシビリティを​優先
コンポーネントの​細部△ 出発点と​して実プロダクトの​状態機械で​上書きする

4.3 注意点

  • 有償フォントの​置換マッピング(必須)​:
    • Waldenburg → Manrope​(Google Fonts、​OFL)​/ Geist​(Vercel、​OFL)​/ Inter Display​(OFL)。​OFL は​ SIL Open Font License = 無償で​商用利用も​可能な​フォントライセンス。​日本語が​混ざるなら本文は​ Noto Sans JP または​ IBM Plex Sans JP に​固定する
    • PP NeueBit → DepartureMono​(OFL)​/ JetBrains Mono の​等幅アクセント/ Press Start 2P​(Google Fonts)
    • Geist Mono は​ 2024 年から​ Vercel が​ OFL で​公開している​ため、​そのまま​使える
    • フォントを​差し替えると​ x-height​(=小文字 x の​高さ。​書体の​見た​目の​大きさを​決める​寸法)と​字幅が​必ず​変わる​ → spacing と​ line-height​(=行の​高さ)を​再調整する
  • コントラストの​検証:仕様の​「secondary text #777169 on white」は​ WCAG AA の​ 4.5:1 を​割る​おそれが​ある。@google/design.md の​ lint コマンドが​ WCAG AA の​コントラストを​自動検証する​(https://designmd.app/what-is-design-md/)。​これを​ CI​(Continuous Integration = 変更の​たびに​自動で​チェックを​走らせる​仕組み)に​入れる
  • レイアウトパターンは​仕様に​含まれない:9 セクションは​トークン/コンポーネントまでしか​及ばないため、​「サイドバー付きダッシュボード」​「マーケティング用ランディングページ」​「ドキュメント」のページレベルの​パターンは​別の​デザインである。​用途ごとに​別の​参照を​抽出するのが​正しい​——SCAS には​サイドバー型、​コーポレートサイトには​マーケティング LP 型
  • 日本語組版:仕様は​英文前提なので​ line-height 1.5 では​日本語が​詰まりすぎる。​日本語では​ 1.7〜1.9 へ​上​書きし、​letter-spacing​(=字間)は​ 0.02em 前後に​する
  • ブランドボイス:ElevenLabs の​英語コピーを​直訳すると​硬くなりすぎる。​トーン・オブ・ボイスの​ガイドは​別に​書く

5. 画像・イラスト・アイコンの​調達

DESIGN.md は​ビジュアル資産を​生成しない。​以下は​ 2026 年 5 月時点で​有効な​選択肢である。

5.1 アイコン

ライブラリアイコン数ライセンスElevenLabs 系との​相性
Lucide1,500+ISC◎ 細く​中立的な線。​Inter / Geist と​よく​合う。​週 500 万ダウンロードの​事実上の​標準
Phosphor7,700+ / 6 ウェイトMIT◎ thin / regular / fill / duotone の​ウェイト切り​替えが、​ElevenLabs の​軽い​見た​目に​理想的
Tabler5,500+MIT○ 24×24 グリッド。​SCAS のような​業務 UI に​向く
Heroicons292MIT△ Tailwind 公式セット。​outline / solid のみ。​数が​足りない​場面が​ある
Radix Icons333 / 15pxMIT△ 小サイズ最適化。​社内 SaaS UI でとりわけ活きる

推奨:ElevenLabs の​質感を​狙うなら​ Phosphor の​ thin / regular を​基本にし、​足りない​分を​ Lucide で​埋める。​SCAS のような​業務系ダッシュボードなら​ Lucide 単体で​十分である。

5.2 イラスト

サービスライセンス用途
unDrawMIT、​再配色可SaaS ランディングページの​ヒーロー/​空状態。​最速
Storyset無償+クレジット表記必須キャラクター系。​アニメーション付き
Open PeepsCC0手描き調。​サイトに​人の​気配を​足したい​とき
HumaaansCC0組み合わせ式の​人物。​コーポレートサイトの​多文化表現に
Blush無料枠​あり、​商用利用​可上記アーティストの​ハブ。​バリエーションを​揃えるのに​良い
Lummi無償+有償の​混在写真寄りの​アート資産

AI 生成側では​以下。

  • Recraft V4https://www.recraft.ai)​:ブランド画像 5〜10 枚を​スタイルと​して​学習させると、​以降の​生成を​同じ​トーンの​ SVG ベクターで​保てる。​UI/UX チームが​ Midjourney から​乗り換えている​主な​理由でもある​(参照:https://flowith.io/blog/why-ui-ux-design-teams-choosing-recraft-over-midjourney-vector-illustration/
  • Midjourney V8 + スタイルリファレンス​(--sref:ムードボード/ヒーロー画像の​方​向性を​探るのに​向く。​一貫性が​要る本番用途には​弱い
  • Ideogram v3:文字を​含むキービジュアル向け。​スタイル参照を​最大 3 点渡せる

ワークフロー:Midjourney で​方​向性を​決める​ → Recraft に​スタイルと​して​食わせて​ベクターを​量産 → Figma / Illustrator で​微調整 → SVG と​して​コミット。

5.3 写真

  • Unsplash / Pexels:無償・商用利用可。​ただし​「Unsplash っぽさ」は​ SaaS の​ランディングページで​見飽きられている​ため、カラーグレーディングを​統一する(全画像に​同じ​ LUT を​当てる)​ことで​差別化する
  • キュレーションの​ルール:ヒーロー 1 枚+機能紹介 3 枚の​あいだで、​色温度・露出・被写体の​視線の​向きを​揃える。​サイト全体では​ 6〜10 枚に​絞る
  • 撮影発注:ブランドと​して​人の​顔を​出すなら、​最低 1 日の​撮影が​必要に​なる。​東京の​相場で​半日プランが​ 15〜30 万円、​フル撮影で​ 50〜100 万円

5.4 モーション/ボイスオーブ​(ElevenLabs 固有)

  • 公式 OSS:ElevenLabs UI の​ Orb コンポーネントが​ https://github.com/elevenlabs/ui で​ MIT 公開されている。​Three.js + React Three Fiber​(=Three.js を​ React から​扱う​ための​ライブラリ)​+ WebGL シェーダー構成で、colorsagentStategetInputVolume などを​ props​(=部品に​渡す設定値)と​して​受け取る。自作するより​移植する​ほうが​速い
  • 代替:Rive(https://rive.app)で​軽量ランタイムに​状態遷移を​組む、​あるいは​ shadertoy の​ノイズシェーダーを​ Three.js へ​移植する
  • ノイズシェーダーの​レシピ:simplex noise​(=滑らかな​乱数模様を​生む手法)で​時間軸に​沿って​歪ませた​球を​用意し、​ローパスフィルター​(=高い​周波数成分を​落とす処理)を​かけた​音声振幅を​頂点変位に​流し込むだけで、​ElevenLabs 風の​「呼吸する​球体」に​なる。​色は​ 2 色の​線形グラデーションを​ fresnel​(フレネル = 視線の​角度に​応じて​縁が​明るくなる​効果)と​混ぜる
  • prefers-reduced-motion は​必須:オーブは​楽しいが、​アクセシビリティの​ために​静止版を​必ず用意する

5.5 ブランド専用資産を​作るべきタイミング

状況取るべき選択費用/期間
ローンチ最初の​ 1〜2 ヶ月無償資産+AI 生成0 円/即日
MVP​(Minimum Viable Product = 検証用の​最小構成の​製品)​検証中、​ブランド未確定後で​捨てる​前提で​ Recraft 量産月 $30 / 1 週間
IPO​(株式公開)​/大型契約/採用ブランディングデザイナーへ​発注、​専用イラストセット50〜200 万円/4〜8 週間
音声/エージェント系プロダクトElevenLabs UI の​ Orb を​フォークし、​シェーダーを​自前で​調整エンジニア 2〜5 人日
写真が​必要フォトグラファーへ​発注15〜100 万円/半日〜1 日

判断軸は「その​資産を​ 3 ヶ月後に​差し替える​見込みが​あるか」である。​差し替える​見込みが​あるなら​ AI 生成/無償資産、​固定する​見込みなら​発注する。

6. まとめ

  • DesignMD​(designmd.me、​Crowdlinker 製)は​ Stitch の​ DESIGN.md 形式に​準拠した無料の​デザイン抽出 SaaS である。​URL を​渡すと​ 9 セクションの​ Markdown が​返る
  • 出力される​仕様はトークン/radius/shadow/spacing までは​強い。​モーション/イラスト/ブランドボイス/アクセシビリティ/日本語組版/ページレベルの​パターンは捉えられない
  • SCAS と​ハイフンテクノロジーズの​コーポレートサイトへの​移植は​固定フローである​:参照 URL を​選ぶ → DESIGN-<domain>.md を​コミット → CLAUDE.md で​参照 → 実装と​検証で​反復する
  • 有償フォント​(Waldenburg、​PP NeueBit)は必ず​無償代替へ​再マッピングする。​日本語組版と​アクセシビリティの​コントラストは、​仕様の​外で​別途決める
  • ビジュアル資産は、​Phosphor / Lucide​(アイコン)​+ unDraw / Storyset / Recraft​(イラスト)​+ ElevenLabs UI の​ Orb の​フォーク​(モーション)が​ 2026 年 5 月時点の​最短ルートである

2026-05-18


参考文献

148 notestil