mcpField
A
apple-ui-skills

apple-ui-skills

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

apple-ui-skills について

apple-ui-skills は、AI エージェントによる Apple 風のライトモード UI 構築向けに、視覚トークン、レイアウト、アクセシビリティ、操作、パフォーマンスの制約を示します。

主な機能

  1. 01ライトモードの配色とセマンティックトークン
  2. 02Inter のタイポグラフィとテキストスタイル
  3. 034px の間隔と角丸のスケール
  4. 04レイアウトとセーフエリアの制約
  5. 05アクセシビリティと操作の要件
  6. 06アニメーションとパフォーマンスの制約

活用シーン

  1. 01Apple 風デザインシステムの作成
  2. 02AI エージェントによるライトモード UI 構築
  3. 03UI の間隔、書体、色の確認
  4. 04アクセシブルな操作の実装

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Apple UI スキル

AI エージェントで Apple 風のインターフェースを構築するための、明確な制約です。

適用する場合

次のような場合に、このガイドラインを参照してください。

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページ背景(surface-base)には #FFFFFF を使用する必要があります
  • 主要なアクションとフォーカス状態(accent)には #155BD0 を使用する必要があります
  • 色パレットは異なる色を 10 色以内に抑えることを推奨します
  • アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#FFFFFFrgb(255,255,255)ページ背景
surface-raised#0858DCrgb(8,88,220)カード、モーダル、浮き上がったサーフェス
text-primary#808080rgb(128,128,128)見出し、本文テキスト
text-secondary#6D89B5rgb(109,137,181)セカンダリ、控えめなテキスト
text-tertiary#90C5F1rgb(144,197,241)補助テキスト
border-default#B5C7D8rgb(181,199,216)控えめな境界線、区切り線
accent#155BD0rgb(21,91,208)主要なアクション、リンク、フォーカス

タイポグラフィ

  • プライマリフォントファミリーには Inter を使用する必要があります
  • 一貫性を保つため、フォントファミリーは 1 種類にすることを推奨します
  • 主要な見出しには 51px / 700 を使用する必要があります
  • 本文テキストには 27px / 500 を使用する必要があります
  • フォントウェイトの種類を減らすことを推奨します(現在 4 種類を検出)
  • 見出しには text-balance を、本文テキストには text-pretty を使用する必要があります
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的な要望がない限り、letter-spacing を変更してはいけません
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter51px700#2D2B301
text-43pxInter43px700#2727291
bodyInter27px500#4545471
body-secondaryInter26px500#3D3C411
text-16pxInter16px400#6D89B51
text-15pxInter15px400#8EC7F21
text-14pxInter14px400#90C5F11
text-12pxInter12px300#8080801
captionInter11px300#7070701
labelInter10px400#7E7E7E1
タイポグラフィの参考情報

フォントファミリー:

  • Inter(18 回使用)

フォントサイズ: 9px、10px、11px、12px、14px、15px、16px、26px、27px、43px、51px

余白

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

境界線

  • スケールにある border-radius の値 21px を使用する必要があります
  • ピル形状の要素には 21px 以上の半径を使用することを推奨します
  • 境界線の幅は一貫して 1px にする必要があります
  • デフォルトの border-radius には 21px を使用することを推奨します
  • 任意の border-radius 値を使用してはいけません(デザインスケールを使用してください)
  • 要素を区切るには控えめな境界線(1px)を使用することを推奨します
Border Radius の参考情報

スケール: 21px

レイアウト

  • 基準ビューポート幅 1920px 向けにデザインする必要があります
  • 要素の幅は 46px、50px、36px、47px、32px で統一することを推奨します
  • h-screen は使用せず、ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を尊重する必要があります
  • 正方形の要素には w-* と h-* の組み合わせではなく、size-* を使用することを推奨します
検出されたレイアウトパターン
  • ヘッダー:高さ:43px
  • メインコンテンツ:幅:1920px、高さ:694px
  • メインコンテンツ:幅:1920px、高さ:695px

コンポーネント

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

インタラクティブ状態

フォーカス
  • アクセントカラー(#155BD0)の 2px アウトラインを使用する必要があります
  • 2px の outline-offset を使用する必要があります
  • フォーカスインジケーターを削除してはいけません
ホバー
  • ボタン(プライマリ):背景を 10% 明るくする
  • ボタン(セカンダリ):背景に #0858DC を使用する
  • リスト項目:背景に #0858DC を使用する
無効状態
  • 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 を決して使用しないでください

コメント