mcpField
S
supabase-ui-skills

supabase-ui-skills

github.com/ihlamuryデザイン・UI102254 回インストール37 週間前に更新
リポジトリ

supabase-ui-skills について

AIエージェントがSupabase風のインターフェースを作るためのデザイン制約集です。ダークモード向けに、色、タイポグラフィ、レイアウト、操作性、性能の規則を定めています。

主な機能

  1. 01Supabase風のビジュアル制約
  2. 02ダークテーマと色トークンの規則
  3. 03Interのタイポグラフィ指針
  4. 04余白、枠線、レイアウト規則
  5. 05アクセシビリティと操作状態
  6. 06アニメーションと性能の制約

活用シーン

  1. 01Supabase風インターフェースの構築
  2. 02ダークモードのデザインシステム設計
  3. 03Interと4pxグリッドを使うUIの統一

インストール

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

$npx skills add https://github.com/ihlamury/design-skills --skill supabase-ui-skills

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

同梱ファイルmetadata.json

詳細

Supabase UI スキル

AI エージェントで Supabase 風のインターフェースを構築するための、独自の制約です。

適用する場面

以下の場合に、これらのガイドラインを参照してください。

  • ダークモードのインターフェースを構築する場合
  • Supabase に着想を得たデザインシステムを作成する場合
  • Inter フォントと 4px グリッドを使用した UI を実装する場合

色

  • MUST 主なサーフェスには暗い背景(明度 < 20)を使用する - 検出された明度:7
  • MUST ページの背景(surface-base)には #121212 を使用する
  • SHOULD カラーパレットを減らす(現在検出された色は 16 色)
  • MUST アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に保つ
セマンティックトークン
トークンHEXRGB用途
surface-base#121212rgb(18,18,18)ページの背景
surface-raised#000000rgb(0,0,0)カード、モーダル、隆起したサーフェス
surface-overlay#0A502Brgb(10,80,43)オーバーレイ、ツールチップ、ドロップダウン
text-primary#525252rgb(82,82,82)見出し、本文テキスト
text-2#9C9C9Crgb(156,156,156)追加のテキスト
text-secondary#323232rgb(50,50,50)セカンダリテキスト、控えめなテキスト
border-default#1A1A1Argb(26,26,26)控えめな境界線、区切り線
success#3DB576rgb(61,181,118)成功状態、確認

タイポグラフィ

  • MUST 主なフォントファミリーとして Inter を使用する
  • SHOULD 一貫性を保つため、単一のフォントファミリーを使用する
  • MUST 主見出しには 56px / 700 を使用する
  • MUST 本文テキストには 15px / 400 を使用する
  • SHOULD フォントウェイトの種類を減らす(現在検出された種類は 4 つ)
  • MUST 見出しには text-balance を、本文テキストには text-pretty を使用する
  • SHOULD 数値データには tabular-nums を使用する
  • NEVER 明示的に要求されない限り、文字間隔を変更しない
テキストスタイル
スタイルフォントサイズウェイト色件数
heading-1Inter56px700#E9E9E91
heading-2Inter55px700#3DB5761
text-21pxInter21px500#A2A2A21
text-16pxInter16px500#3C3C3C1
text-16pxInter16px500#3838381
text-16pxInter16px500#3939391
text-16pxInter16px400#AAAAAA1
bodyInter15px400#9C9C9C1
body-secondaryInter15px400#4444441
body-secondaryInter15px400#A8A8A81
タイポグラフィの参考情報

フォントファミリー:

  • Inter(38 回使用)

フォントサイズ: 9px, 10px, 11px, 12px, 13px, 14px, 15px, 16px, 21px, 55px, 56px

余白

  • MUST 余白には 4px グリッドを使用する
  • SHOULD 次のスケールの余白を使用する:3px, 4px, 5px, 6px, 16px, 40px, 61px
  • SHOULD 要素間のデフォルトの間隔には 3px を使用する
  • NEVER 任意の余白値を使用しない(デザインスケールを使用する)
  • SHOULD コンテナー内のパディングを一貫させる

境界線

  • MUST 次のスケールから境界線の角丸を使用する:3px, 4px, 5px, 6px, 7px, 9px, 10px, 13px, 16px
  • SHOULD 境界線の太さを次の値に制限する:1px, 2px
  • SHOULD デフォルトの境界線の角丸には 3px を使用する
  • NEVER 任意の境界線の角丸値を使用しない(デザインスケールを使用する)
  • SHOULD 要素の区切りには控えめな境界線(1px)を使用する
境界線の角丸の参考情報

スケール: 3px, 4px, 5px, 6px, 7px, 9px, 10px, 13px, 16px

レイアウト

  • MUST 基準ビューポート幅を 1920px としてデザインする
  • SHOULD 要素の幅を一貫させる:8px, 17px, 52px, 162px, 158px
  • SHOULD 明確な階層を備えた、テキスト主体のレイアウトを維持する
  • NEVER h-screen を使用せず、全ビューポートの高さには h-dvh を使用する
  • MUST 固定要素では safe-area-inset を考慮する
  • SHOULD 正方形の要素には、w-* と h-* の代わりに size-* を使用する
検出されたレイアウトパターン
  • ヘッダー:高さ:66px
  • メインコンテンツ:幅:1920px、高さ:1014px
  • メインコンテンツ:幅:1920px、高さ:1020px
  • ヘッダー:高さ:63px

コンポーネント

ボタン
バリアント背景テキスト境界線高さ角丸
ゴースト透明#4B7D64なし--

インタラクティブな状態

フォーカス
  • MUST アクセントカラー(#5E6AD2)を使用した 2px のアウトラインを設定する
  • MUST 2px のアウトラインオフセットを設定する
  • NEVER フォーカスインジケーターを削除しない
ホバー
  • ボタン(プライマリ):背景を 10% 明るくします
  • ボタン(セカンダリ):#000000 の背景を使用します
  • リスト項目:#000000 の背景を使用します
無効状態
  • 必ず opacity: 0.5 を使用します
  • 必ず cursor: not-allowed を使用します

インタラクション

  • 破壊的または取り消せない操作には、必ず AlertDialog を使用します
  • 読み込み状態には、構造を反映したスケルトンを使用することを推奨します
  • エラーは、操作が行われる場所の近くに必ず表示します
  • input または textarea 要素での貼り付けを決してブロックしません
  • アイコンのみのボタンには、必ず aria-label を追加します

アニメーション

  • 明示的に要求されない限り、アニメーションを追加しません
  • コンポジターのプロパティ(transform、opacity)のみをアニメーションさせます
  • レイアウトプロパティ(width、height、top、left、margin、padding)は決してアニメーションさせません
  • 表示時のアニメーションには ease-out を使用することを推奨します
  • インタラクションのフィードバックは 200ms を超えないようにします
  • prefers-reduced-motion を尊重することを推奨します

パフォーマンス

  • 大きな blur() や backdrop-filter の領域をアニメーションさせません
  • アニメーションが実行中でないときに will-change を適用しません
  • レンダーロジックとして表現できる処理に useEffect を使用しません

コメント