mcpField
C
copy-ai-ui-skills

copy-ai-ui-skills

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

copy-ai-ui-skills について

Copy Ai風のインターフェースを構築するAIエージェント向けの設計規約です。色、タイポグラフィ、レイアウト、操作、アニメーション、性能の指針を示します。

主な機能

  1. 01Copy Ai風UIの規則
  2. 02色とセマンティックトークン
  3. 03Interのタイポグラフィ要件
  4. 044pxグリッドとボーダー規則
  5. 05操作・アニメーション・性能の制約

活用シーン

  1. 01Copy Ai風デザインシステムの構築
  2. 02AIエージェントによるライトUI実装
  3. 03レイアウトと操作の詳細統一

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Copy Ai UI スキル

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

適用する場面

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景(surface-base)には #FEFEFE を使用する必要があります
  • 主要なアクションとフォーカス状態(accent)には #5227BD を使用する必要があります
  • カラーパレットを絞ることを推奨します(現在、18 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を 4.5:1 以上に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#FEFEFErgb(254,254,254)ページの背景
surface-raised#111111rgb(17,17,17)カード、モーダル、浮き上がったサーフェス
surface-overlay#541ED7rgb(84,30,215)オーバーレイ、ツールチップ、ドロップダウン
text-primary#525252rgb(82,82,82)見出し、本文テキスト
text-secondary#737C83rgb(115,124,131)セカンダリ、控えめなテキスト
text-tertiary#5F6A72rgb(95,106,114)補足テキスト
border-default#F9FCFCrgb(249,252,252)控えめな境界線、区切り線
accent#5227BDrgb(82,39,189)主要なアクション、リンク、フォーカス

タイポグラフィ

  • メインのフォントファミリーには Inter を使用する必要があります
  • 一貫性を保つため、フォントファミリーは 1 つにすることを推奨します
  • 主要な見出しには 66px / 700 を使用する必要があります
  • 本文テキストには 38px / 700 を使用する必要があります
  • フォントウェイトを絞ることを推奨します(現在、4 種類が検出されています)
  • 見出しには text-balance、本文テキストには text-pretty を使用する必要があります
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的な指示がない限り、letter-spacing を変更してはいけません
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter66px700#1D1E1E1
bodyInter38px700#1D20211
text-30pxInter30px400#7F868A1
text-30pxInter30px700#2E2E2E1
text-25pxInter25pxsemi_bold#5B686F1
text-24pxInter24px500#767E821
text-24pxInter24px500#636E731
text-24pxInter24pxsemi_bold#5B686F1
text-20pxInter20pxsemi_bold#5F6A721
text-20pxInter20pxsemi_bold#5B676F1
タイポグラフィの参考情報

フォントファミリー:

  • Inter(33 回使用)

フォントサイズ: 9px、12px、13px、15px、16px、17px、18px、19px、20px、24px、25px、30px、38px、66px

間隔

  • 間隔には 4px グリッドを使用する必要があります
  • 次のスケールから間隔を選ぶことを推奨します:1px、2px、3px、4px、5px、8px、9px、14px
  • 要素間の標準の間隔には 4px を使用することを推奨します
  • 任意の間隔値を使用してはいけません(デザインスケールを使用してください)
  • コンテナ内のパディングを一貫させることを推奨します

境界線

  • 次のスケールから border-radius を使用する必要があります:33px
  • ピル型の要素には 33px 以上の半径を使用することを推奨します
  • 境界線の幅は 1px、2px に制限することを推奨します
  • 標準の border-radius には 33px を使用することを推奨します
  • 任意の border-radius 値を使用してはいけません(デザインスケールを使用してください)
  • 要素の区切りには控えめな境界線(1px)を使用することを推奨します
境界線の半径の参考情報

スケール: 33px

レイアウト

  • 基準ビューポート幅 1920px 向けに設計する必要があります
  • 要素の幅を一貫させることを推奨します:10px、113px、8px、9px、1400px
  • 明確な階層を持つ、テキスト中心のレイアウトを維持することを推奨します
  • h-screen を使用せず、ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を考慮する必要があります
  • 正方形の要素には w-* と h-* の代わりに size-* を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:1039px
  • メインコンテンツ:幅:1399px、高さ:696px
  • メインコンテンツ:幅:1410px、高さ:659px
  • ヘッダー:高さ:48px

コンポーネント

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

インタラクティブ状態

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

コメント