mcpField
J
jasper-ui-skills

jasper-ui-skills

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

jasper-ui-skills について

jasper-ui-skills は、AI エージェントが Jasper 風の UI を作る際に参照する設計制約です。カラー、タイポグラフィ、レイアウト、アクセシビリティ、操作、パフォーマンスを扱います。

主な機能

  1. 01カラーとアクセントの指針
  2. 02Inter の書体とテキスト階層
  3. 034px グリッドと 4px の角丸
  4. 04フォーカスとコントラストの基準
  5. 05操作とアニメーションの制約

活用シーン

  1. 01Jasper 風 UI の構築
  2. 02書体と間隔の統一
  3. 03アクセシビリティと操作の確認

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Jasper UI Skills

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

適用するタイミング

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

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

色

  • 主要なサーフェスには明るい背景を使用することが望ましいです
  • ページの背景には #F5261E を使用しなければなりません(surface-base)
  • 主要なアクションとフォーカス状態には #6899D0 を使用しなければなりません(accent)
  • カラーパレットを縮小することが望ましいです(現在、13 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に保たなければなりません
セマンティックトークン
トークンHEXRGB用途
surface-base#F5261Ergb(245,38,30)ページの背景
surface-raised#FFFFFFrgb(255,255,255)カード、モーダル、浮き上がったサーフェス
surface-overlay#EEEFEErgb(238,239,238)オーバーレイ、ツールチップ、ドロップダウン
text-primary#6899D0rgb(104,153,208)見出し、本文テキスト
text-secondary#69B0F9rgb(105,176,249)セカンダリテキスト、控えめなテキスト
text-tertiary#282945rgb(40,41,69)補足テキスト
border-default#E8E3F4rgb(232,227,244)控えめな境界線、区切り線
accent#6899D0rgb(104,153,208)主要なアクション、リンク、フォーカス
destructive#F5261Ergb(245,38,30)エラー状態、削除アクション

タイポグラフィ

  • 主なフォントファミリーとして Inter を使用しなければなりません
  • 一貫性を保つため、単一のフォントファミリーを使用することが望ましいです
  • 主要な見出しには 91px / 700 を使用しなければなりません
  • 本文テキストには 40px / 700 を使用しなければなりません
  • フォントのウェイトは regular、medium、bold に限定しなければなりません
  • 見出しには text-balance、本文テキストには text-pretty を使用しなければなりません
  • 数値データには tabular-nums を使用することが望ましいです
  • 明示的な依頼がない限り、文字間隔を変更してはなりません
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter91px700#69B0F91
text-79pxInter79px700#191B3D1
bodyInter40px700#2829451
text-37pxInter37px700#E248431
text-23pxInter23px400#4E4F611
text-17pxInter17px500#6899D01
text-16pxInter16px700#F9A79D1
text-15pxInter15px400#F2A4961
text-14pxInter14px400#F2A0951
text-14pxInter14px400#4242531
タイポグラフィの参考情報

フォントファミリー:

  • Inter(20 回使用)

フォントサイズ: 10px、11px、12px、13px、14px、15px、16px、17px、23px、37px、40px、79px、91px

余白

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

境界線

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

スケール: 4px

レイアウト

  • 基準ビューポート幅 1920px 向けに設計しなければなりません
  • 要素の幅を一貫させることが望ましいです:141px、91px、101px
  • 明確な階層を持つ、テキスト主体のレイアウトを維持することが望ましいです
  • h-screen を使用してはなりません。ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を考慮しなければなりません
  • 正方形の要素には、w-* と h-* の組み合わせではなく size-* を使用することが望ましいです
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:1001px
  • メインコンテンツ:幅:1920px、高さ:1037px

コンポーネント

  • 入力フィールドの高さには 0px を使用しなければなりません
ボタン
バリエーション背景テキスト境界線高さ角丸
ゴースト透明#282945なし--
入力
  • 高さ:0px

インタラクティブ状態

フォーカス
  • MUST アクセントカラー(#6899D0)の 2px のアウトラインを使用する
  • MUST 2px のアウトラインオフセットを使用する
  • フォーカスインジケーターを削除してはならない
ホバー
  • ボタン(プライマリ):背景色を 10% 明るくする
  • ボタン(セカンダリ):#FFFFFF の背景色を使用する
  • リスト項目:#FFFFFF の背景色を使用する
無効状態
  • MUST opacity: 0.5 を使用する
  • MUST cursor: not-allowed を使用する

インタラクション

  • 破壊的または取り消し不可能な操作には、MUST AlertDialog を使用する
  • ローディング状態には、SHOULD 構造的なスケルトンを使用する
  • エラーは操作が発生する箇所の隣に表示する
  • input または textarea 要素での貼り付けをブロックしてはならない
  • アイコンのみのボタンには、MUST aria-label を追加する

アニメーション

  • 明示的に要求されていない限り、アニメーションを追加してはならない
  • コンポジターのプロパティ(transform、opacity)のみをアニメーションさせる
  • レイアウトプロパティ(width、height、top、left、margin、padding)をアニメーションさせてはならない
  • 登場時のアニメーションには、SHOULD ease-out を使用する
  • インタラクションのフィードバックを 200ms より長くしてはならない
  • SHOULD prefers-reduced-motion に従う

パフォーマンス

  • 大きな blur() または backdrop-filter のサーフェスをアニメーションさせてはならない
  • アニメーションが実行中でないときに will-change を適用してはならない
  • レンダーロジックで表現できる処理に useEffect を使用してはならない

コメント