mcpField
L
loom-ui-skills

loom-ui-skills

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

loom-ui-skills について

loom-ui-skillsは、AIエージェントによるLoom風インターフェース構築のための設計ルールです。ライトモードのUI向けに、ビジュアルトークンと実装指針を定めています。

主な機能

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

活用シーン

  1. 01Loom風デザインシステムの構築
  2. 02ライトモードUIの実装
  3. 03間隔と文字スタイルの統一

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Loom UI スキル

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

適用する場面

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景(surface-base)には #E4EDFE を使用する必要があります
  • プライマリアクションとフォーカス状態(accent)には #2256C7 を使用する必要があります
  • カラーパレットを絞ることを推奨します(現在、14 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を 4.5:1 以上に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#E4EDFErgb(228,237,254)ページの背景
surface-raised#FFFFFFrgb(255,255,255)カード、モーダル、浮き上がったサーフェス
surface-overlay#171718rgb(23,23,24)オーバーレイ、ツールチップ、ドロップダウン
text-primary#B6B6B7rgb(182,182,183)見出し、本文テキスト
text-2#363B43rgb(54,59,67)追加のテキスト
text-secondary#B1CFEFrgb(177,207,239)セカンダリ、控えめなテキスト
border-default#E8EEF8rgb(232,238,248)控えめな境界線、区切り線
accent#2256C7rgb(34,86,199)プライマリアクション、リンク、フォーカス

タイポグラフィ

  • プライマリフォントファミリーには Inter を使用する必要があります
  • 一貫性を保つため、フォントファミリーは 1 種類にすることを推奨します
  • プライマリ見出しには 54px / 700 を使用する必要があります
  • 本文テキストには 25px / 500 を使用する必要があります
  • フォントウェイトは medium、bold、regular に限定する必要があります
  • 見出しには text-balance、本文テキストには text-pretty を使用する必要があります
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的に指示されない限り、文字間隔を変更しないでください
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter54px700#1D1D1F1
bodyInter25px500#3C3C3C1
text-20pxInter20px500#3334331
text-16pxInter16px400#6565651
text-16pxInter16px400#6262621
text-16pxInter16px400#6767671
text-15pxInter15px400#6666661
captionInter13px500#B6B6B71
labelInter13px400#4A505C1
labelInter12px400#B1CFEF1
タイポグラフィの参照情報

フォントファミリー:

  • Inter(15 回使用)

フォントサイズ: 11px、12px、13px、15px、16px、20px、25px、54px

余白

  • 余白には 4px グリッドを使用する必要があります
  • 次のスケールから余白を使用することを推奨します:4px、5px、6px、7px、9px、10px、13px、14px
  • 要素間のデフォルトの間隔には 5px を使用することを推奨します
  • 任意の余白値は使用しないでください(デザインスケールを使用してください)
  • コンテナー内のパディングを一貫させることを推奨します

境界線

  • 次のスケールから境界線の角丸を使用する必要があります:4px、15px、18px、22px、26px、28px
  • ピル型の要素には 22px 以上の角丸を使用することを推奨します
  • 境界線の幅は 1px、2px に制限することを推奨します
  • デフォルトの角丸には 28px を使用することを推奨します
  • 任意の角丸値は使用しないでください(デザインスケールを使用してください)
  • 要素を区切るには控えめな境界線(1px)を使用することを推奨します
角丸の参照情報

スケール: 4px、15px、18px、22px、26px、28px

レイアウト

  • 基準ビューポート幅 1920px を対象に設計する必要があります
  • 要素の幅は 137px、144px、6px で統一することを推奨します
  • 明確な階層を設けた、テキスト中心のレイアウトを維持することを推奨します
  • h-screen は使用せず、ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を考慮する必要があります
  • 正方形の要素には w-* と h-* の代わりに size-* を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:1080px

コンポーネント

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

インタラクティブ状態

フォーカス
  • アクセントカラー(#2256C7)の 2px アウトラインを使用する必要があります
  • 2px のアウトラインオフセットを使用する必要があります
  • フォーカスインジケーターを削除しないでください
ホバー
  • ボタン(プライマリ):背景を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 を使用しません

コメント