mcpField
G
generic-design-system

generic-design-system

github.com/travisjneumanデザイン・UI106139 回インストール1 日前に更新
リポジトリ

generic-design-system について

generic-design-system は、プロジェクトのビジュアルシステムを構築・拡張するためのリファレンススキルです。既存の規約に合わせながら、デザイントークン、コンポーネント、配色、タイポグラフィ、レスポンシブ対応、アニメーション、アクセシビリティを扱います。

主な機能

  1. 01デザイントークンの構成
  2. 02配色とコントラストの指針
  3. 03タイポグラフィと間隔の尺度
  4. 04コンポーネントの状態とパターン
  5. 05レスポンシブとダークモードの指針
  6. 06アニメーションとアクセシビリティの規則

活用シーン

  1. 01新しいデザインシステムの基盤づくり
  2. 02部分的なシステムの一貫した拡張
  3. 03コンポーネントの設計規約への適合確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/travisjneuman/.claude --skill generic-design-system

インストール後、Claude Code で/generic-design-systemを入力して読み込まれたか確認します。

詳細

汎用デザインシステム

あらゆるプロジェクトのビジュアル言語に適応するデザインシステムのリファレンスです。

新しいシステムを作る前に調査する

新しいデザインシステムを作成する場合(既存のものに従わない場合):

Skill(ui-research)  # Research modern patterns first

参考資料:

このスキルを使う場面

次の場合に使用します:

  • UI コンポーネントを実装する
  • 色やタイポグラフィを選ぶ
  • アニメーションやトランジションを作成する
  • ビジュアルの一貫性を確保する
  • デザイントークンを設定する
  • デザインシステムへの準拠をレビューする

次の場合は使用しないでください:

  • UX フローの設計 → generic-ux-designer を使用
  • 機能アーキテクチャ → generic-feature-developer を使用
  • コード品質のレビュー → generic-code-reviewer を使用

デザインシステムのアーキテクチャ

構築するか、参照するか
状況対応
既存のデザインシステム厳密に従う
デザインシステムがないこのスキルを使って基盤を確立する
部分的なシステム不足箇所を特定し、一貫性を保って拡張する
トークンの構成
レイヤー例目的
プリミティブ--color-blue-500生の値
セマンティック--color-primary意味
コンポーネント--button-backgroundコンテキスト

判断基準: コードではセマンティックトークンを使い、プリミティブトークンは基盤としてのみ使用します。

一貫性の判断フロー
  1. コンポーネントが存在しますか? → 既存のパターンを使用します
  2. 類似するものがありますか? → 既存のものを応用します(競合するパターンを作成しないでください)
  3. 新しいカテゴリですか? → ユーザーに提案し、判断理由を記録します

カラーシステム

すべてのプロジェクトで定義する項目:

  • プライマリ、セカンダリ、アクセント
  • 背景、前景、ミュート
  • 破壊的、成功、警告
コントラスト要件
用途最低基準
本文4.5:1(AA)
大きなテキスト3:1(AA)
UI コンポーネント3:1(AA)

タイポグラフィ

フォントスタック
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--font-mono: "SF Mono", Monaco, "Courier New", monospace;
文字サイズのスケール
名前サイズ用途
sm14px補足テキスト
base16px本文
lg18pxリード文
xl20pxセクション見出し
2xl24pxページ見出し

余白システム

基本単位: 4px または 8px

トークン4px 基準用途
14px狭い間隔
28px標準の間隔
416pxカードのパディング
624pxページの余白

アニメーション

GPU アクセラレーションのみ

アニメーション対象: transform、opacity 避ける対象: width、height、top、left、margin、padding

継続時間
トークン継続時間用途
fast100msマイクロインタラクション
DEFAULT200msほとんどのトランジション
slow300ms複雑なアニメーション
タイミング
--ease-default: cubic-bezier(0.4, 0, 0.2, 1);
--ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

コンポーネント

コンポーネントの状態
状態視覚的な処理例
デフォルト基本スタイル通常のボタン
ホバー控えめなフィードバック背景を明るく/暗くする
アクティブ押下状態わずかに縮小する
フォーカス視認できるアウトライン2px のリング、オフセット
無効不透明度を下げる不透明度 50%、ポインターなし
読み込み中スピナー/スケルトンスピナー付きのボタン
エラー破壊的な色赤い境界線/テキスト
タッチターゲット
  • 最小サイズ: 44x44px(WCAG 2.1 AAA)
  • 間隔: 隣接するターゲット間は 8px
  • モバイル: 主要なアクションでは 48x48px を検討します
ボタン
バリアント用途最小サイズ
Primary主なアクション44x44px
Secondary代替アクション44x44px
Ghost控えめなアクション44x44px
Destructive削除アクション44x44px
フォーム入力
  • 明確なフォーカス状態(視認可能な2pxのリング)
  • メッセージ付きのエラー状態
  • ラベルは常に表示
  • 必須項目の表示
モーダル
  • フォーカスを内部に閉じ込める
  • Escape キーで閉じる
  • 暗いオーバーレイ(不透明度50~70%)

レスポンシブのブレークポイント

トークン最小幅
sm640px
md768px
lg1024px
xl1280px

ダークモード

:root {
  --background: #ffffff;
  --foreground: #000000;
}
[data-theme="dark"] {
  --background: #000000;
  --foreground: #ffffff;
}

関連項目

  • デザインパターン - アトミックデザイン、トークン、コンポーネントのドキュメント
  • コードレビュー標準 - アクセシビリティのチェック
  • generic-ux-designer - UX フローとリサーチに関する判断
  • プロジェクトの CLAUDE.md - プロジェクト固有のデザイン制約

次の場合は参照してください:

  • 新しいデザインシステムのセットアップ → DESIGN_PATTERNS.md(全体構成)
  • 複雑なコンポーネントパターン → DESIGN_PATTERNS.md(アトミックデザインのセクション)

コメント