web-design-system について
既存製品の Web デザインシステムを監査・構築するスキルです。トークン、コンポーネント契約、アクセシビリティ、レスポンシブ動作、移行、検証をチームに案内します。
主な機能
- 01抽出・調整・作成・拡張モードの選択
- 02値をセマンティックトークンに対応付け
- 03コンポーネントの状態と契約を定義
- 04アクセシビリティとレスポンシブ規則を設定
- 05代表的なコンポーネントを移行して検証
活用シーン
- 01既存 UI の設計を文書化
- 02競合するデザインパターンの調整
- 03新製品のデザインシステム作成
- 04機能に合わせたコンポーネントの拡張
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ divyanshu-iitian/ agent-website-design-skills --skill web-design-systemインストール後、Claude Code で/web-design-systemを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/token-checklist.md
詳細
Web デザインシステム
プロダクトの一貫性を高める、最小限のシステムを構築します。装飾的な値を大量にそろえるより、コンポーネントが利用できるセマンティックな契約を優先します。
モードを選択する
- 抽出:プロダクトの見た目に一貫性はあるものの、文書化されていない場合に選択します。
- 調整:複数のパターンが競合している場合に選択します。
- 作成:新しいプロダクトに確立された UI 言語がない場合に選択します。
- 拡張:機能に、システムにない状態やコンポーネントが必要な場合に選択します。
ワークフロー
- フレームワーク、CSS の方針、テーマファイル、プリミティブ、コンポーネントライブラリ、アイコンセット、代表的な画面を確認します。
- 繰り返し使われている値やパターンを洗い出します。意図的な違いと、意図せず生じたずれを区別します。
- コードを変更する前に、生の値をセマンティックな役割に対応付けます。例:
blue-600->action-primary。「すべての青を置き換える」ではありません。 - 最小限のトークン階層を定義します。
- 基礎:色、文字、間隔、角丸、境界線、シャドウ、モーション
- セマンティックトークン:背景、サーフェス、テキスト、境界線、アクション、フォーカス、ステータス
- コンポーネントトークン:コンポーネントに本当に必要な場合に限る
- コンポーネントの構造、バリエーション、サイズ、状態の動作を仕様化します。見た目だけでなく、コンテンツの制約も含めます。
- デバイス固有の重複を新たに作らず、レスポンシブ動作と密度のルールを定義します。
- アクセシビリティのデフォルトを定めます。セマンティック要素、名前、ラベル、可視フォーカス、キーボード操作、コントラスト、エラー、ターゲットサイズ、モーションの軽減を含めます。
- 既存のスタイル機構の中で実装します。並行するトークンシステムは避けます。
- 代表的なコンポーネントまたは画面を1つ移行し、安全であれば置き換えられた値を削除します。
- ライト/ダークテーマ、主要な状態、狭い/広いレイアウト、および少なくとも1つの現実的なコンテンツ負荷テストケースを検証します。
システムのルール
- トークンには現在の見た目ではなく、目的に基づいた名前を付けます。
- プリミティブへの直接指定手段は残しつつ、正しい方法をより簡単にします。
- すべての領域をカードに押し込まないでください。
- ステータスを色だけで表現しないでください。
- コンポーネント API は小さく保ち、バリエーションを増やしすぎるより、組み合わせを優先します。
- ユーザビリティ、アクセシビリティ、保守性に問題がない限り、確立されたパターンを維持します。
- 将来のコントリビューターが同じ不整合を再び作りかねない箇所では、判断の内容を文書化します。
成果物の要件
以下を提示します。
- モードと監査 - 既存のもの、競合しているもの、未対応のもの。
- トークンマップ - 既存の値 -> セマンティックな役割 -> 実装場所。
- コンポーネントの契約 - 構造、バリエーション、状態、コンテンツの制限、レスポンシブ動作。
- 移行範囲 - コード変更が求められている場合、実際のコンポーネントを少なくとも1つ含めます。
- 検証の証跡 - テーマ、状態、ビューポート、および検証した例外。
参考資料
トークンやコンポーネントの状態を定義または監査する際は、references/token-checklist.md を確認してください。
コメント
Markdown 対応