Communitygithub.com

Stosan/design-system-architect

最新のデザインシステムを製品や企業向けに作成するか、既存のコードベースやURLを監査して、より優れたデザイン選択、トークン、コンポーネントを提案します。

design-system-architect とは?

このスキルは、デザインシステムの作成(Create)とレビュー(Review)の2つのモードを提供します。Createモードでは、ブランドファイル、Figma、コードベース、Webサイト、あるいは単なる説明文など、あらゆるソースから完全で文書化されたデザインシステムを構築します。レビューモードでは、既存のコードベースまたはURLを監査し、実際に使用されているデザインシステムを抽出し、スコアリングして、より良いシステムを処方します。 このスキルは、小規模なブランドパレット、1つのアクセントブルー(50〜950段階)、1つのブランド書体(Webフォールバック付き)、4ptベースのスペーシング、ピル型CTA、クールな色合いのレイヤードシャドウ、ロゴマークから生成された透かしパターンなど、本物のフィンテックシステムをモデルにしたリファレンス形状に従います。 トークンは `tokens.css` と `tokens.json` の2つの形式で出力され、各値は「ソース済み」「派生」「提案」としてマークされます。コンポーネントは、製品のニーズに合わせて構築され(SaaS/フィンテック製品向けの標準的なセットを提供)、各コンポーネントにはガイドラインとライブプレビューが含まれます。 品質チェックリストには、コントラストの検証、フォントのライセンス確認、ブランド名の一貫性などが含まれ、ありきたりなAIのパターン(青紫グラデーション、絵文字カード、不必要なガラスモーフィズムなど)を出荷しないことが重視されています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Stosan/Claude-Skills-for-engineering-teams/tree/HEAD/skills/design-system-architect

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

デザインシステムアーキテクト

2つのモードがあります。リクエストから選択してください。両方が該当する場合は、まずレビューを実行し、その結果をクリエイトにフィードバックしてください。

  • クリエイト: 製品、ビジネス、企業向けに、既存のソース(ブランドファイル、Figma、デッキ、コードベース、Webサイト、または説明のみ)から完全で文書化されたデザインシステムを構築します。
  • レビュー: 既存のコードベースまたはURLを監査し、実際に使用されているデザインシステムを抽出し、スコアリングして、より優れたシステムを処方します。

すべてのシステムのリファレンス形状は、生きたブランドブック+トークン+プレビュー+コンポーネント+UIキットです(実在のフィンテックシステムをモデルにしています。小さなブランドパレット、50〜950のランプを持つ単一のアクセントブルー、Webフォールバックを備えた単一のブランド書体、4ptのスペーシング、ピル型CTA、クールな色合いのレイヤードシャドウ、ロゴマークから生成された透かしパターン)。


0. インテーク(簡潔に)

質問する前にソースを見つけてください。添付ファイル、接続フォルダ、Figmaリンク/コネクタ、リポジトリ、メッセージ内のURL、既存のデザインシステムアーティファクト。ブロックしているものについてのみ質問してください(AskUserQuestion 1つ、最大3質問)。

  • 製品/企業名、カテゴリ、オーディエンス
  • ブランドパーソナリティ(形容詞3つ、ソースがない場合)
  • プラットフォーム(Webアプリ、マーケティングサイト、モバイル、印刷/デッキ)
  • ライトのみ、またはライト+ダーク

ユーザーが不在の場合は、適切なデフォルトを想定し、成果物の先頭にそれを記載してください。


1. ソースの棚卸し(クリエイトとレビュー)

デザインする前にすべてを列挙してください。チェックリストとして追跡し、最後に残ったものを報告してください。

ソース抽出方法
Figma変数/スタイル(色、タイプ、エフェクト)、コンポーネントセットとそのバリアント、アイコンセット名、カバー/ブランドページ
コードベースtailwind.config.*、CSSカスタムプロパティ(:root)、SCSS/LESS変数、テーマファイル(MUI/Chakra/styled-components)、tokens.json、コンポーネントフォルダ、アイコンインポート、フォント読み込み(@font-face、next/font、Google Fontsリンク)
URLブラウザツールでページを読み込み、body、見出し、ボタン、リンク、入力、カードの計算済みスタイルを読み取ります。すべての異なる色、フォントファミリー、フォントサイズ、半径、シャドウを収集します。デスクトップとモバイルのスクリーンショットを撮ります。ロゴ/ファビコンファイルに注意します。
ブランドアセットロゴ、アイコンマーク、パターン、モックアップ:ファイルをコピーします。マークを再描画したり近似したりしないでください。
なし小さなスターターシステム(セクション3の最小要件を参照)を構築し、その旨を伝えます。

ルール:常に正確な値を使用します。コードはスクリーンショットより優先されます。ソースから取得した値としてない値を発明して渡さないでください。すべての値をソース済み、派生(例:ソースから生成されたランプ)、または提案としてマークします。


2. ブランドの基礎(ブランドブックの冒頭)

これらのセクションを README.md に次の順序で記述します。

  1. ソース: ソース、提供されたもの、ステータスのテーブル。
  2. ブランドの概要: 名前と正確なスペル/大文字小文字のルール、カテゴリ、オーディエンス、柱、サブブランド、1行でのトーン。
  3. コンテンツの基礎: トーン、人称(私たち/あなた)、大文字小文字のレジスタ(見出し vs 本文 vs マイクロラベル)、強調のデバイス、CTAパターン、絵文字ポリシー、再利用する実際のコピー例。
  4. ビジュアルの基礎: 色、タイプ、スペーシング/グリッド、背景、シグネチャテクスチャまたはパターン、半径、ボタン、カード、ボーダー、シャドウ、透明度/ブラー、モーション、ホバー/プレス状態、レイアウトルール。各ルールは使用するトークンに名前を付けます。
  5. アイコン: ロゴ/マークの使用法、クリアスペース、許可される色、UIアイコンファミリー(ストローク、サイズ、スタイル)、禁止事項。
  6. 代替とフラグ: Webフォントとして配信できないライセンスフォントとそのフォールバック、近似、未解決の質問。
  7. インデックス: すべてのファイルとその説明。

著者の言葉が存在する場合はそれを保持し、あなたが書いたものは提案としてマークします。


3. ファンデーション(トークン)

カラー

  • ブランドパレット: 小さく保つ(2〜5色)。1つのプライマリアクセントがあり、控えめに使用し、アクション、信頼、インタラクションのために使用します。塗りつぶしとしては使用しません。
  • ランプ: プライマリ(および必要に応じてセカンダリ)に50〜950を生成し、ソースの16進数が自然なステップ(多くの場合500または600)に着地するようにします。OKLCHを使用して知覚的なステップを均等に保ちます。
  • ニュートラル: ほぼ黒のインクからヘアライングレーまでの8〜11ステップ。ブランドの色相にわずかに色合いをつけます(クールなブランド→クールなグレー)。
  • セマンティックロール(コンポーネントが使用するもの): fg-1/2/3、fg-on-accent、bg-1/2/3、border、border-strong、accent、accent-hover、accent-soft、focus-ring、success、warning、danger、info(それぞれにソフトな背景バリアントがあります)。
  • テーマ: まずライト。ダークはセマンティックロールの再マップであり、ランプの反転ではありません。ダークサーフェスは、シャドウではなく明るいグレーで持ち上げます。
  • コントラスト: すべてのテーマで本文テキストとその背景のコントラスト比が4.5:1以上。大きなテキスト(24px以上)、アイコン、コントロールのボーダー、フォーカスリングは少なくとも3:1。プログラムで検証します(WCAG相対輝度)。区別する必要がある状態は、色相だけでなく明度が異なります。ペアの意味には赤/緑よりも青/オレンジを優先します。

タイポグラフィ

  • 1つのブランドファミリー(最大2つ:表示用+テキスト用)。ライセンスフォントには、文書化されたフォールバックスタックとGoogle Fontsの代替が用意されています。
  • スケール: display、h1、h2、h3、title、body-lg、body、sm、caption、label。比率は約1.2〜1.333。displayは比率を超えることができます。
  • 行の高さ: displayはタイト(1.0〜1.1)、見出しは1.2〜1.3、本文は1.45〜1.6。トラッキング: 大きなサイズではネガティブ(-0.01〜-0.02em)、すべて大文字のラベルではポジティブ(+0.06〜+0.1em)。
  • 使用中のウェイト: 名前を付け(例:300/400/500/700)、それぞれがどこに使用されるかを示します。

スペーシング、半径、エレベーション、モーション

  • スペーシング: 4ptベース。ステップは4、8、12、16、20、24、32、40、48、64、80、96。
  • 半径: sm 6-8、md 10-12、lg 16、xl 24、ピル 999。どのコンポーネントがどれを使用するかを示します。
  • シャドウ: 3〜4層の低スプレッドシャドウで、ブランドのダークカラーで色合いがつけられています(純粋な黒のドロップシャドウは不可)。オプションでプライマリCTA用のアクセントグロー。
  • モーション: 持続時間(120/180/240ms)、イージング(enterはease-out、exitはease-in)、ホバー上昇は2〜4px、プレススケールは0.98。prefers-reduced-motion を尊重します。
  • ブレークポイントとレイアウトグリッド: 例:640/768/1024/1280。コンテンツの最大幅。アプリシェル(サイドバー+トップバー+キャンバス)。

トークンファイル形式

トークンを、1つの信頼できるソースから2回記述します。

  • tokens.css: :root { --name: value } に加えて [data-theme="dark"] と @media (prefers-color-scheme: dark) の再マップ。
  • tokens.json: すべてのファミリーをLISTとして: {"tokens":[{"name","value","usage"}]}。カラーは themes とテーマごとの値 {"light":"#..","dark":"#.."} を保持します。タイプは fonts、families、groups[].styles[] を使用します。名前は [A-Za-z0-9][A-Za-z0-9_.-]* でユニークです。カラー値は hex/rgb/hsl/oklch または {alias}。名前付きカラー、var()、color-mix() は使用しません。すべてのトークンに使用上の注意があります。
  • ユーザーのスタックで必要な場合にのみ、Tailwind config / DTCGエクスポートを提供します。

スターターシステムの最小要件(ソースなし): 1つのテーマに6〜10色、5〜7のテキストスタイル、4つ以上のスペーシングステップ、3つの半径、1段落のREADME。開始点であることを伝えます。


4. コンポーネント

製品に必要なファミリーを構築します。一般的なSaaS/フィンテック製品の場合:

  • アクション: ボタン(プライマリソリッド、セカンダリアウトライン、ゴースト、デストラクティブ。sm/md/lg。ローディング、無効、アイコンのみ)、リンク、アイコンボタン
  • インプット: テキストフィールド、セレクト、チェックボックス、ラジオ、スイッチ、日付ピッカー、検索フィールド。ラベル、ヒント、エラー、フォーカスリング付き。
  • 表示: カード、バッジ/チップ、タグ、アバター、統計/KPIタイル、テーブル、空の状態、スケルトン
  • ナビゲーション: サイドバー、トップバー、タブ、パンくずリスト、ページネーション
  • フィードバック: アラート/バナー、トースト、モーダル/ダイアログ、ツールチップ、プログレス
  • ドメイン: 製品に関するもの(例:税務:申告ステータストラッカー、控除行、期限カード。AI:アシスタントパネル、提案チップ)

各コンポーネントについて、短いガイドラインを記述します。最初の文は要約、解剖図、バリアントとそれぞれの使用時期、使用するトークン、状態、アクセシビリティ(ロール、キーボード、フォーカス、ラベル)、すべきこと/すべきでないこと。ライブプレビュー(トークンを使用した小さなHTMLドキュメント)を構築します。バンドルが構築された場合、それは window.<Namespace> を割り当てる単一のクラシックスクリプトであり、型付きプロップは index.d.ts に文書化されています。


5. プレビューとUIキット

  • ファンデーションごとに1つの標本カード: ブランドカラー、ランプ、ニュートラル、セマンティックカラー、タイプファミリー、表示スケール、本文スケール、スペーシング、半径、エレベーション、ロゴ、アイコンマーク、パターン、ブランド使用例。
  • システムで実際のサーフェスを再現するUIキット:マーケティングサイト(ナビ、ヒーロー、機能、CTA、フッター)および/またはプロダクトアプリ(シェル、ダッシュボード、リスト/テーブル、詳細、設定、アシスタント)。ブランドのトーンで現実的なドメインコピーを使用し、lorem ipsumは使用しません。
  • システムのカバーページ:名前、マーク、1行の約束、パレットストリップ。

6. 納品

  1. アーティファクトツールがデザインシステムタイプをリストする場合、そこからシステムを作成し(type_url、title)、返されたSKILL.mdに従ってファイルパスとインデックスを作成します。それが推奨される場所です。既存のシステムを修正するには、最初にそれを読み、要求されたものだけを変更します。
  2. それ以外の場合は、自己完結型のHTMLブランドブックをアーティファクトとして公開し、tokens.css、tokens.json、コンポーネントファイル、アセットをファイルとして提供します(接続されたフォルダがある場合はそこに書き込みます)。
  3. ロゴ、アイコン、フォントは実際のファイルとしてコピーします。base64をチャットに貼り付けないでください。
  4. 次の内容で締めくくります:リンク、ソース済みと提案の内容、棚卸しの残り、さらに進めるための1つの提案(コンポーネント、ダークテーマ、Figma同期、コード統合)。

7. レビューモード(コードベースまたはURL監査)

収集

  • コードベース: カラーリテラル(#[0-9a-fA-F]{3,8}、rgb(、hsl()、font-family宣言、font-size/px値、border-radius、box-shadow、z-index、ブレークポイント、インラインスタイル、重複コンポーネント(複数のButton/Modal実装)、使用中のアイコンライブラリを検索します。出現回数をカウントします。
  • URL: 各ページを開き(デスクトップ1440とモバイル390)、計算済みスタイルを読み取り、異なる値を収集し、主要な画面のスクリーンショットを撮り、テキスト/背景ペアのコントラストチェックを実行し、タブ移動でフォーカスの可視性に注意し、prefers-color-scheme と reduced motion を確認します。

実際のシステムの抽出

ほぼ重複する値をクラスター化します(例:14グレー→6ステップ、9半径→4)。実際のパレット、タイプスケール、使用中のスペーシングと半径を、カウントとともに表示します。

スコアリング(各0〜5、証拠付き)

  1. カラー(パレットの規律、セマンティックな使用、コントラスト)
  2. タイポグラフィ(スケールの一貫性、階層、読みやすさ)
  3. スペーシングとレイアウト(グリッドへの準拠、リズム、レスポンシブ)
  4. コンポーネント(一貫性、状態、重複)
  5. アクセシビリティ(コントラスト、フォーカス、ラベル、キーボード、モーション)
  6. ブランド表現(差別化、トーン、イメージ)
  7. トークンアーキテクチャ(ハードコードされた値 vs トークン、テーマ対応の準備)

所見

重大度でランク付け:致命的(アクセシビリティの失敗、壊れたフロー)、高(ユーザーが気づく不整合、ブランドの希釈)、中、細かい点。各所見:場所(file:line または URL + 要素)、内容、なぜ重要なのか、正確な修正(トークン名と値、またはコンポーネントの変更)。

処方

  • 統合されたトークンセット(古い値→新しいトークンマッピングテーブル)。
  • 影響の大きい3〜5画面またはコンポーネントのBefore/After(必要に応じてHTMLモックアップ)。
  • 段階的な移行計画:1)トークン+コントラスト修正、2)コアコンポーネント、3)画面、4)ダークモード/ポリッシュ。重大な変更に注意してください。
  • ドキュメントまたはHTMLレポートとして提供します。Createで完全なシステムを構築することを提案します。

ユーザーが依頼しない限り、レビューモードでユーザーのコードを編集しないでください。


8. 品質チェックリスト

  • すべての値がソース済み/派生/提案としてマークされています。黙って発明されたものはありません。
  • ロゴとマークは実際のファイルです。ロゴがない場合は、プレーンなワードマークタイプとメモを示します。
  • コントラストはすべてのテーマとすべてのプレビューで検証されています。
  • すべてのトークンに使用上の注意があります。すべてのコンポーネントは、使用するトークンをリストしています。
  • ブランド名は、サンプルコピーも含めて、すべての場所で一貫して綴られています。
  • フォント:実際のファイルまたは文書化されたライセンスフォールバック。
  • コピーはブランド自身のトーンのルールに従っています(大文字小文字、絵文字ポリシー、CTAパターン)。
  • 390pxでレスポンシブであり、水平スクロールがありません。
  • 棚卸しが報告されています:構築済み、スキップ済み、残り。

アンチパターン(出荷しない)

  • 一般的なAIの決まり文句:あらゆる場所に青紫グラデーション、絵文字機能カード、左ボーダーのアクセントカード、理由のないグラスモーフィズム
  • アクション用ではなく背景の塗りつぶしとして使用されるアクセントカラー
  • 純粋な黒のドロップシャドウ。4つ以上のシャドウレベル
  • スケール外の任意の値(13px、17px、22pxの半径)
  • 再描画または色変更されたロゴ
  • ステータスの唯一のシグナルとしての赤/緑
  • リスト形式のtokens.jsonが必要な場合のトークンマップ(DTCGネストオブジェクト)

関連スキル