mcpField
A
ashby-ui-skills

ashby-ui-skills

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

ashby-ui-skills について

ashby-ui-skills は、AI エージェントが Ashby 風のインターフェースを作る際のデザイン制約です。ダークモードの色、タイポグラフィ、レイアウト、操作の指針を定めています。

主な機能

  1. 01ダークモードのカラートークン
  2. 02Inter のタイポグラフィ規則
  3. 034px 間隔グリッド
  4. 04レイアウトとアクセシビリティの指針
  5. 05操作とアニメーションの制約

活用シーン

  1. 01Ashby 風デザインシステムの構築
  2. 02ダークモードのスタイル統一
  3. 03アクセシブルな操作パターンの確認

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Ashby UI スキル

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

適用する場面

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

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

色

  • 主要なサーフェスには、暗い背景(明度 < 20)を必ず使用します。検出された明度:9
  • ページの背景(surface-base)には必ず #0E1122 を使用します
  • カラーパレットは 8 色以内に抑えることを推奨します
  • アクセシビリティのため、テキストのコントラスト比を 4.5:1 以上に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#0E1122rgb(14,17,34)ページの背景
surface-raised#FEFEFErgb(254,254,254)カード、モーダル、浮き上がったサーフェス
text-primary#D6D9DDrgb(214,217,221)見出し、本文
text-secondary#34384Drgb(52,56,77)セカンダリ、控えめなテキスト
text-tertiary#797979rgb(121,121,121)補足テキスト
border-default#818288rgb(129,130,136)控えめな境界線、区切り線

タイポグラフィ

  • プライマリフォントファミリーには必ず Inter を使用します
  • 一貫性を保つため、フォントファミリーは 1 種類にすることを推奨します
  • プライマリ見出しには必ず 28px / 700 を使用します
  • 本文には必ず 24px / semi_bold を使用します
  • フォントウェイトを減らすことを推奨します(現在 4 種類検出)
  • 見出しには必ず text-balance を、本文には text-pretty を使用します
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的に依頼されない限り、字間を変更してはいけません
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter28px700#E6E8EB1
heading-2Inter25pxsemi_bold#D1D3D81
heading-3Inter24pxsemi_bold#E2E5E91
bodyInter24pxsemi_bold#E0E2E61
body-secondaryInter24pxsemi_bold#D7D9DD1
text-19pxInter19pxsemi_bold#D6D9DD1
text-19pxInter19px400#507A5D1
text-16pxInter16px400#7979791
text-15pxInter15px400#34384D1
captionInter14px400#3135491
タイポグラフィの参考情報

フォントファミリー:

  • Inter(16 回使用)

フォントサイズ: 12px、13px、14px、15px、16px、19px、24px、25px、28px

余白

  • 余白には必ず 4px グリッドを使用します
  • 次のスケールから余白を使用することを推奨します:2px、3px、4px、5px、88px
  • 要素間のデフォルトの間隔には 2px を使用することを推奨します
  • 任意の余白値を使用してはいけません(デザインスケールを使用してください)
  • コンテナー内のパディングを一貫させることを推奨します

境界線

  • 境界線の角丸には必ず次のスケールを使用します:10px
  • 境界線の幅は一貫して 4px にする必要があります
  • デフォルトの角丸には 10px を使用することを推奨します
  • 任意の角丸値を使用してはいけません(デザインスケールを使用してください)
  • 要素の区切りには控えめな境界線(1px)を使用することを推奨します
角丸の参考情報

スケール: 10px

レイアウト

  • 基準ビューポート幅 1920px 向けにデザインする必要があります
  • 要素の幅を一貫させることを推奨します:560px、17px、564px、1px、79px
  • 明確な階層を持つ、テキスト中心のレイアウトを維持することを推奨します
  • h-screen は使用せず、ビューポート全体の高さには h-dvh を使用します
  • 固定要素では safe-area-inset を考慮する必要があります
  • 正方形の要素には w-* + h-* ではなく size-* を使用することを推奨します

コンポーネント

  • 入力フィールドの高さは必ず 0px にします
入力
  • 高さ:0px

インタラクティブ状態

フォーカス
  • 必ずアクセントカラー(#5E6AD2)の 2px のアウトラインを使用します
  • 必ず 2px のアウトラインオフセットを使用します
  • フォーカスインジケーターを削除してはいけません
ホバー
  • ボタン(プライマリ):背景を 10% 明るくします
  • ボタン(セカンダリ):背景に #FEFEFE を使用します
  • リスト項目:背景に #FEFEFE を使用します
無効状態
  • 必ず 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を使用してはいけません

コメント