mcpField
C
convertkit-ui-skills

convertkit-ui-skills

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

convertkit-ui-skills について

convertkit-ui-skillsは、AIエージェントがConvertkit風のインターフェースを作るための設計制約です。ライトモードの視覚規則に加え、アクセシビリティ、操作性、実装の指針を定めています。

主な機能

  1. 01Convertkitのカラーとセマンティックトークン
  2. 02Interフォントと4px間隔グリッド
  3. 03レイアウト、境界線、コンポーネント規則
  4. 04アクセシビリティと操作性の指針
  5. 05アニメーションと性能の制約

活用シーン

  1. 01Convertkit風ライトモード画面の構築
  2. 02AIエージェントでUI規則を統一
  3. 03フォーカス表示とコントラストの確認

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Convertkit UI スキル

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

適用する場面

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景(surface-base)には #FFFFFF を使用する必要があります
  • 主要なアクションとフォーカス状態(accent)には #194775 を使用する必要があります
  • カラーパレットを減らすことを推奨します(現在、18 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に維持する必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#FFFFFFrgb(255,255,255)ページの背景
surface-raised#EEE9E4rgb(238,233,228)カード、モーダル、浮き上がったサーフェス
surface-overlay#379EFDrgb(55,158,253)オーバーレイ、ツールチップ、ドロップダウン
text-primary#6C6C6Crgb(108,108,108)見出し、本文テキスト
text-secondary#8C8B91rgb(140,139,145)セカンダリテキスト、控えめなテキスト
text-tertiary#4B4855rgb(75,72,85)その他のテキスト
border-default#EFFEFErgb(239,254,254)控えめな境界線、区切り線
accent#194775rgb(25,71,117)主要なアクション、リンク、フォーカス

タイポグラフィ

  • プライマリフォントファミリーには Inter を使用する必要があります
  • 一貫性を保つため、単一のフォントファミリーを使用することを推奨します
  • 主要な見出しには 75px / 700 を使用する必要があります
  • 本文テキストには 29px / semi_bold を使用する必要があります
  • フォントのウェイトを減らすことを推奨します(現在、5 種類が検出されています)
  • 見出しには text-balance、本文テキストには text-pretty を使用する必要があります
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的な指定がない限り、letter-spacing を変更してはいけません
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter75px700#2422211
bodyInter29pxsemi_bold#4B48551
text-24pxInter24px700#2929291
text-17pxInter17px400#6D68641
text-16pxInter16px400#66625E1
text-15pxInter15px400#9DA1A51
text-15pxInter15px500#CED2D41
text-15pxInter15px500#4A47441
text-15pxInter15px500#4D4A471
text-14pxInter14px400#8C8B911
タイポグラフィの参照

フォントファミリー:

  • Inter(35 回使用)

フォントサイズ: 11px, 12px, 13px, 14px, 15px, 16px, 17px, 24px, 29px, 75px

間隔

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

境界線

  • 3px、4px、6px、7px、9px、10px のスケールから border-radius を使用する必要があります
  • 境界線の幅は 1px、2px に制限することを推奨します
  • デフォルトの border-radius には 7px を使用することを推奨します
  • 任意の border-radius の値を使用してはいけません(デザインスケールを使用してください)
  • 要素を分けるには、控えめな境界線(1px)を使用することを推奨します
Border Radius の参照

スケール: 3px, 4px, 6px, 7px, 9px, 10px

レイアウト

  • 基準ビューポート幅 1920px 向けにデザインする必要があります
  • 要素の幅を 44px、10px、335px、107px、142px に統一することを推奨します
  • 明確な階層を持つ、テキスト中心のレイアウトを維持することを推奨します
  • h-screen を使用してはいけません。ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を考慮する必要があります
  • 正方形の要素には w-* と h-* の代わりに size-* を使用することを推奨します
検出されたレイアウトパターン
  • ヘッダー:高さ:58px

コンポーネント

ボタン
バリエーション背景テキスト境界線高さ角丸
ゴーストtransparent#5B5B5Bなし--

インタラクティブ状態

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

コメント