mcpField
A
amplitude-ui-skills

amplitude-ui-skills

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

amplitude-ui-skills について

amplitude-ui-skillsは、Amplitude風の画面を構築するAIエージェント向けの設計ルールです。カラー、タイポグラフィ、レイアウト、操作性、パフォーマンスを定め、ライトモードの画面やデザインシステムに適しています。

主な機能

  1. 01Amplitudeのカラーとトークン
  2. 02Interのタイポグラフィ規則
  3. 034pxグリッドと間隔スケール
  4. 04アクセシブルな操作状態
  5. 05アニメーションと性能の制約

活用シーン

  1. 01Amplitude風画面の実装
  2. 02AIエージェントによるUI実装の指針
  3. 03タイポグラフィと間隔の統一

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Amplitude UI スキル

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

適用するタイミング

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

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

色

  • SHOULD 主要なサーフェスには明るい背景を使用する
  • MUST ページの背景(surface-base)に #000000 を使用する
  • MUST プライマリーアクションとフォーカス状態(accent)に #3151E1 を使用する
  • SHOULD カラーパレットを縮小する(現在、25 色が検出されています)
  • MUST アクセシビリティのため、テキストのコントラスト比を 4.5:1 以上に保つ
セマンティックトークン
トークンHEXRGB用途
surface-base#000000rgb(0,0,0)ページの背景
surface-raised#FFFFFFrgb(255,255,255)カード、モーダル、浮き上がったサーフェス
surface-overlay#EFF0F4rgb(239,240,244)オーバーレイ、ツールチップ、ドロップダウン
text-primary#171717rgb(23,23,23)見出し、本文テキスト
text-2#383838rgb(56,56,56)追加のテキスト
text-secondary#BBBBBBrgb(187,187,187)セカンダリー、控えめなテキスト
border-default#3A3A3Argb(58,58,58)控えめな境界線、区切り線
accent#3151E1rgb(49,81,225)プライマリーアクション、リンク、フォーカス

タイポグラフィ

  • MUST プライマリーフォントファミリーに Inter を使用する
  • SHOULD 一貫性を保つため、フォントファミリーを 1 つにする
  • MUST プライマリー見出しに 58px / 700 を使用する
  • MUST 本文テキストに 23px / 500 を使用する
  • SHOULD フォントウェイトを減らす(現在、4 種類が検出されています)
  • MUST 見出しには text-balance を、本文テキストには text-pretty を使用する
  • SHOULD 数値データには tabular-nums を使用する
  • NEVER 明示的な依頼がない限り、letter-spacing を変更しない
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter58px700#1D46E11
heading-2Inter56px700#1616161
text-40pxInter40px700#1717171
bodyInter23px500#2828281
text-19pxInter19px400#6565651
text-16pxInter16px400#3838381
text-14pxInter14px400#4747471
text-14pxInter14px400#3E3E3E1
text-13pxInter13px400#BBBBBB1
text-13pxInter13px400#5757571
タイポグラフィのリファレンス

フォントファミリー:

  • Inter(51 回使用)

フォントサイズ: 5px、6px、7px、8px、9px、10px、11px、13px、14px、16px、19px、23px、40px、56px、58px

余白

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

境界線

  • MUST 次のスケールの border-radius を使用する:1px、2px、3px、5px、6px、12px、18px、25px
  • SHOULD ピル型の要素には 25px 以上の半径を使用する
  • SHOULD 境界線の幅を 1px、2px、4px に制限する
  • SHOULD デフォルトの border-radius に 25px を使用する
  • NEVER 任意の border-radius 値を使用しない(デザインスケールを使用する)
  • SHOULD 要素を区切るには控えめな境界線(1px)を使用する
border-radius のリファレンス

スケール: 1px、2px、3px、5px、6px、12px、18px、25px

レイアウト

  • MUST 基準ビューポート幅 1920px 向けにデザインする
  • SHOULD 要素の幅を一貫させる:118px、17px、135px、14px、9px
  • SHOULD 明確な階層を備えた、テキスト中心のレイアウトを維持する
  • NEVER h-screen を使用せず、ビューポート全体の高さには h-dvh を使用する
  • MUST 固定要素では safe-area-inset を考慮する
  • SHOULD 正方形の要素には w-* と h-* の代わりに size-* を使用する
検出されたレイアウトパターン
  • メインコンテンツ:幅:1465px、高さ:988px

コンポーネント

ボタン
バリエーション背景テキスト境界線高さ半径
Ghost透明#383838なし--

インタラクティブ状態

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

コメント