mcpField
R
raycast-ui-skills

raycast-ui-skills

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

raycast-ui-skills について

raycast-ui-skillsは、AIエージェントがRaycast風のインターフェースを作るための設計制約です。視覚設計、操作性、アクセシビリティ、パフォーマンスを規定します。

主な機能

  1. 01明るいサーフェスと配色規則
  2. 02Interのタイポグラフィ仕様
  3. 034pxの間隔と角丸スケール
  4. 04アクセシブルな操作要件
  5. 05アニメーションと性能の制約

活用シーン

  1. 01Raycast風デザインシステムの構築
  2. 02ライトモードのインターフェース実装
  3. 03文字と間隔の一貫性確保

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Raycast UI スキル

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

適用する場面

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

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

色

  • 主要なサーフェスには、明るい背景を使用することを推奨します
  • ページの背景(surface-base)には、#DFDFDFを必ず使用してください
  • カラーパレットは、異なる色を9色以内に抑えることを推奨します
  • アクセシビリティのため、テキストのコントラスト比を最低4.5:1に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#DFDFDFrgb(223,223,223)ページの背景
surface-raised#08090Brgb(8,9,11)カード、モーダル、浮き上がったサーフェス
text-primary#636162rgb(99,97,98)見出し、本文テキスト
text-secondary#A9A7A8rgb(169,167,168)セカンダリテキスト、控えめなテキスト
text-tertiary#E99CA8rgb(233,156,168)追加のテキスト
border-default#282223rgb(40,34,35)控えめな境界線、区切り線
destructive#E99CA8rgb(233,156,168)エラー状態、削除操作

タイポグラフィ

  • プライマリフォントファミリーには、Interを必ず使用してください
  • 一貫性を保つため、単一のフォントファミリーを使用することを推奨します
  • プライマリ見出しには、64px / 700を必ず使用してください
  • 本文テキストには、12px / 400を必ず使用してください
  • フォントウェイトは、regular、bold、lightに限定する必要があります
  • 見出しにはtext-balance、本文テキストにはtext-prettyを必ず使用してください
  • 数値データには、tabular-numsの使用を推奨します
  • 明示的に依頼されない限り、文字間隔は変更しないでください
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter64px700#F1DADF1
text-18pxInter18px400#E99CA81
text-16pxInter16px400#A5A5A71
text-15pxInter15px400#A9A7A81
text-14pxInter14px400#5C5C5C1
text-14pxInter14px300#6161631
text-14pxInter14px400#5E5E601
text-14pxInter14px400#6262641
text-14pxInter14px400#5D5E601
bodyInter12px400#5E5E5E1
タイポグラフィの参考情報

フォントファミリー:

  • Inter(21回使用)

フォントサイズ: 9px、10px、11px、12px、14px、15px、16px、18px、64px

余白

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

境界線

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

スケール: 4px、6px、10px、13px、18px

レイアウト

  • 基準ビューポート幅1920px向けにデザインする必要があります
  • 要素の幅には、一貫した値(1px、14px、1209px、65px)を使用することを推奨します
  • 明確な階層を持つ、テキスト中心のレイアウトを維持することを推奨します
  • h-screenは使用せず、ビューポート全体の高さにはh-dvhを使用してください
  • 固定要素ではsafe-area-insetを考慮する必要があります
  • 正方形の要素には、w-*とh-*の組み合わせではなく、size-*を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1558px、高さ:990px
  • メインコンテンツ:幅:1196px、高さ:945px

コンポーネント

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

インタラクティブ状態

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

コメント