● コミュニティ
zanwei
⚡ 即起動
design-dna
作者 zanwei · zanwei/design-dna
任意のリファレンス UI から定量化されたデザイン DNA を抽出する。トークン・定性スタイル・視覚効果を取り込み、それに合ったコンポーネントを生成できる。
design-dna は画像・スクリーンショット・ライブ URL をリファレンスとして受け取り、構造化されたデザイン DNA の JSON を出力する。色トークン・タイプスケール・スペーシング・定性的なスタイル記述子・視覚効果パラメータが含まれる。コンポーネントを生成する際に DNA を Claude に戻すことで、汎用的な Tailwind ではなくブランドに沿った出力が得られる。
なぜ使うのか
主な機能
- リファレンスからトークン(色・タイプ・スペーシング・半径)を抽出
- 定性的なスタイルをキャプチャ(エディトリアル・ブルータリスト・グラッシー)
- パラメータ付きで視覚効果(シャドウ・ブラー・グレイン・グラデーション)をキャプチャ
- ポータブルな JSON を出力。任意のコード生成 LLM に渡せる
- 画像・スクリーンショット・ライブ URL から動作する
ユースケース
実用的な使い方: design-dna
使うタイミング: 既存のアプリに画面を追加する際に、ネイティブに見せたいとき。
フロー
-
ライブ URL から DNA を抽出する
Use design-dna. Extract DNA from https://app.example.com/dashboard (logged-in screenshot).✓ コピーしました
→ 実際のプロダクトを反映した DNA が生成される
-
トークンの差異を監査する
Compare DNA to our existing tailwind.config — flag drift.✓ コピーしました
→ 乖離一覧が表示される(例:「shadow-md がページ間で一致していない」)
-
新しい画面を生成する
Generate the new 'Settings' screen using our reconciled DNA.✓ コピーしました
→ アプリの他の部分と区別がつかない画面が生成される
結果: 数ヶ月後に画面を追加しても、プロダクトとして統一感がある。
注意点
- ライブ URL が認証背後にある。公開のランディングページの DNA では誤解を招く — マーケティングページではなく認証済みスクリーンショットを使用する
使うタイミング: アプリを始めるにあたって、一貫したデザインシステムを素早く作りたいとき。
フロー
-
3 つのリファレンスを選ぶ
Use design-dna. Extract DNA from 3 screenshots I admire (editorial, app, marketing).✓ コピーしました
→ 3 つの独立した DNA オブジェクトが生成される
-
合成する
Synthesize a single DNA emphasizing the editorial type scale and the app's spacing.✓ コピーしました
→ マージされた DNA が生成される
-
スターターシステムを出力する
Generate tailwind.config, CSS vars, and a Button + Card + Input set using the merged DNA.✓ コピーしました
→ リポジトリにスターターデザインシステムが作成される
結果: デフォルトの Tailwind から始めるのではなく、反復できる一貫したベースラインが完成する。
注意点
- 大きく異なる美観を合成するとカオスになる — 同じ「ファミリー」に属するリファレンスを選ぶ。スタイル内のバリエーション。対極のものは避ける
組み合わせ
他のMCPと組み合わせて10倍の力を
DNA と生成されたコンポーネントをリポジトリに永続化する
Save design.dna.json under /design/ and check in; treat it as design source-of-truth.✓ コピーしました
プロダクトの美観に合ったスライドデッキを生成する
Use design-dna to capture our brand; pass to frontend-slides-skill for matching deck templates.✓ コピーしました
コストと制限
運用コスト
- APIクォータ
- ビジョン LLM の利用に依存する
- 呼び出しあたりのトークン
- 抽出は約 3000〜8000 トークン(画像入力 + JSON 出力)
- 金額
- 無料。LLM プロバイダーへの支払いが必要
- ヒント
- プロジェクトごとに DNA をキャッシュする。実際のブランド更新時のみ再抽出する
セキュリティ
権限、シークレット、影響範囲
最小スコープ: filesystem-read (images) Outbound HTTPS (URL refs)
認証情報の保管: なし(ビジョン LLM の認証は環境変数で管理)
データ送信先: ビジョン LLM プロバイダー。URL フェッチャー(使用する場合)
- 著作権のある素材をリファレンスとして抽出しないこと。出力にシグネチャとなる特徴が含まれる可能性がある
トラブルシューティング
よくあるエラーと対処法
抽出がグラデーションを見逃す
--fidelity high を使用する。デフォルトはトークン節約のため細かいグラデーションをスキップする
DNA トークンが実行ごとに異なる
ビジョンモデルは確率的。サポートされている場合はシードを設定する。または 2 回抽出して中央値を取る
生成されたコードがデザイントークンではなくインラインスタイルを使う
--token-mode strict を渡す。トークンとして存在する値のインライン化をスキルが拒否する
ライブ URL の抽出が空白になる
サイトに JS が必要。URL フェッチではなく完全にレンダリングされたスクリーンショットを使用する
代替案
design-dna 他との比較
| 代替案 | 代わりに使う場面 | トレードオフ |
| design-extract (Manavarya09) | DTCG + マルチプラットフォームエミッタを含む完全なデザイントークンエクスポートが欲しいとき | より重い。軽量 DNA ではなく完全なデザインシステムパイプライン |
| Manual style guide curation | デザイナーがいてパターンライブラリがある場合 | 時間がかかる。より信頼性が高い |