mcpField
L
loops-ui-skills

loops-ui-skills

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

loops-ui-skills について

loops-ui-skillsは、AIエージェントがLoops風のインターフェースを構築するための設計制約です。ビジュアルトークン、タイポグラフィ、レイアウト、アクセシビリティ、操作、アニメーション、性能の指針を定めています。

主な機能

  1. 01Loops風のビジュアルトークン
  2. 02Interフォントとタイポグラフィ規則
  3. 034px間隔グリッド
  4. 04アクセシブルなフォーカスとコントラスト
  5. 05操作とアニメーションの制約
  6. 06レイアウトと性能の指針

活用シーン

  1. 01Loops風デザインシステムの構築
  2. 02AIエージェントによるライトモード画面作成
  3. 03タイポグラフィと間隔の統一
  4. 04アクセシビリティと操作性の確認

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Loops UI スキル

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

適用するタイミング

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景には #FFFFFF(surface-base)を必ず使用してください
  • カラーパレットは縮小することを推奨します(現在 17 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比は少なくとも 4.5:1 を維持してください
セマンティックトークン
トークンHEXRGB用途
surface-base#FFFFFFrgb(255,255,255)ページの背景
surface-raised#ECECECrgb(236,236,236)カード、モーダル、浮き上がったサーフェス
text-primary#CCCCCErgb(204,204,206)見出し、本文
text-secondary#AAAAAErgb(170,170,174)セカンダリ、控えめなテキスト
text-tertiary#85B1A4rgb(133,177,164)補足テキスト
border-default#F4F5F6rgb(244,245,246)控えめな境界線、区切り線
destructive#D77B5Frgb(215,123,95)エラー状態、削除アクション

タイポグラフィ

  • 主要フォントファミリーには Inter を必ず使用してください
  • 一貫性を保つため、単一のフォントファミリーを使用することを推奨します
  • 主要な見出しには 39px / 700 を必ず使用してください
  • 本文には 22px / 700 を必ず使用してください
  • フォントウェイトは減らすことを推奨します(現在 4 種類が検出されています)
  • 見出しには text-balance、本文には text-pretty を必ず使用してください
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的に指定されない限り、文字間隔は変更しないでください
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter39px700#2B2A291
bodyInter22px700#4230291
text-18pxInter18px400#6262621
text-17pxInter17px400#93908E1
text-17pxInter17px500#5252521
text-16pxInter16px500#5252521
text-15pxInter15px500#5445421
text-15pxInter15px400#6D6D6D1
text-14pxInter14px400#CCCCCE1
text-14pxInter14px300#CCCCCE1
タイポグラフィのリファレンス

フォントファミリー:

  • Inter(86 回使用)

フォントサイズ: 7px、8px、9px、10px、11px、12px、13px、14px、15px、16px、17px、18px、22px、39px

間隔

  • 間隔には 4px グリッドを必ず使用してください
  • 次のスケールの間隔を使用することを推奨します:1px、2px、3px、4px、5px、6px、8px、9px
  • 要素間のデフォルトの間隔には 5px を使用することを推奨します
  • 任意の間隔値は使用しないでください(デザインスケールを使用してください)
  • コンテナ内のパディングは一貫性を保つことを推奨します

境界線

  • 境界線の角丸には次のスケールを必ず使用してください:0px、1px、2px、3px、4px、6px、7px、9px、10px、26px
  • ピル型の要素には 26px 以上の角丸を使用することを推奨します
  • 境界線の幅には一貫して 1px を必ず使用してください
  • デフォルトの角丸には 1px を使用することを推奨します
  • 任意の角丸値は使用しないでください(デザインスケールを使用してください)
  • 要素を区切るには控えめな境界線(1px)を使用することを推奨します
角丸のリファレンス

スケール: 0px、1px、2px、3px、4px、6px、7px、9px、10px、26px

レイアウト

  • 基準のビューポート幅を 1920px として設計してください
  • 要素の幅は一貫させることを推奨します:13px、27px、50px、12px、7px
  • 明確な階層を備えた、テキスト量の多いレイアウトを維持することを推奨します
  • h-screen は使用せず、ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を必ず考慮してください
  • 正方形の要素には w-* と h-* の組み合わせではなく、size-* を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:1030px
  • メインコンテンツ:幅:994px、高さ:568px
  • ヘッダー:高さ:52px

コンポーネント

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

インタラクティブ状態

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

コメント