mcpField
I
intercom-ui-skills

intercom-ui-skills

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

intercom-ui-skills について

intercom-ui-skillsは、AIエージェントがIntercom風のインターフェースを構築するための設計制約です。色やタイポグラフィ、レイアウト、アクセシビリティ、操作、アニメーション、性能の指針を定めています。

主な機能

  1. 01Intercom風のビジュアルトークン
  2. 02Interフォントとタイポグラフィ規則
  3. 034px間隔グリッド
  4. 04アクセシブルなフォーカスとコントラスト
  5. 05操作とアニメーションの制約
  6. 06レイアウトと性能の指針

活用シーン

  1. 01Intercom風デザインシステムの構築
  2. 02AIエージェントによるライトモード画面作成
  3. 03タイポグラフィと間隔の統一
  4. 04アクセシビリティと操作性の確認

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Intercom UI スキル

AI エージェントで Intercom スタイルのインターフェースを構築するための推奨制約です。

適用する場面

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景(surface-base)には #FEFEFE を使用する必要があります
  • 主要なアクションとフォーカス状態(accent)には #4F3FE6 を使用する必要があります
  • 色のパレットを減らすことを推奨します(現在、19 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#FEFEFErgb(254,254,254)ページの背景
surface-raised#110D0Crgb(17,13,12)カード、モーダル、浮き上がったサーフェス
surface-overlay#4F3FE6rgb(79,63,230)オーバーレイ、ツールチップ、ドロップダウン
text-primary#8492A8rgb(132,146,168)見出し、本文
text-secondary#ABAAABrgb(171,170,171)補助テキスト、控えめなテキスト
text-tertiary#939393rgb(147,147,147)その他のテキスト
border-default#EAEBE7rgb(234,235,231)控えめな境界線、区切り線
accent#4F3FE6rgb(79,63,230)主要なアクション、リンク、フォーカス
success#278019rgb(39,128,25)成功状態、確認

タイポグラフィ

  • プライマリフォントファミリーには Inter を使用する必要があります
  • 一貫性を保つため、単一のフォントファミリーを使用することを推奨します
  • 主要な見出しには 46px / extra_bold を使用する必要があります
  • 本文には 14px / 400 を使用する必要があります
  • フォントウェイトを減らすことを推奨します(現在、6 種類が検出されています)
  • 見出しには text-balance を、本文には text-pretty を使用する必要があります
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的な依頼がない限り、字間を変更してはなりません
テキストスタイル
スタイルフォントサイズウェイト色件数
heading-1Inter46pxextra_bold#E1E0DF1
text-26pxInter26pxsemi_bold#DFE0E21
text-24pxInter24pxsemi_bold#E7E6E51
text-18pxInter18px400#848A921
text-16pxInter16px400#A29E9D1
text-16pxInter16px400#827F7F1
text-15pxInter15px400#BABDC31
text-15pxInter15px400#9B9BA11
text-15pxInter15px400#8181811
text-15pxInter15px400#8F87E81
タイポグラフィのリファレンス

フォントファミリー:

  • Inter(72 回使用)

フォントサイズ: 6px、7px、8px、9px、10px、11px、12px、13px、14px、15px、16px、18px、24px、26px、46px

余白

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

境界線

  • 次のスケールから border-radius を使用する必要があります:3px、4px、6px、7px、9px、10px、13px、15px、16px、18px、19px
  • 境界線の幅は 1px、2px、3px に制限することを推奨します
  • デフォルトの border-radius には 6px を使用することを推奨します
  • 任意の border-radius 値を使用してはなりません(デザインスケールを使用してください)
  • 要素を区切るには、控えめな境界線(1px)を使用することを推奨します
角丸のリファレンス

スケール: 3px、4px、6px、7px、9px、10px、13px、15px、16px、18px、19px

レイアウト

  • 基準となるビューポート幅を 1920px として設計する必要があります
  • 一貫した要素幅として、9px、8px、6px、4px、20px を使用することを推奨します
  • 明確な階層を持つ、テキスト中心のレイアウトを保つことを推奨します
  • h-screen を使用してはなりません。ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を考慮する必要があります
  • 正方形の要素には w-* と h-* の代わりに size-* を使用することを推奨します
検出されたレイアウトパターン
  • ヘッダー:高さ:42px
  • ヘッダー:高さ:88px
  • ヘッダー:高さ:53px

コンポーネント

ボタン
バリエーション背景テキスト境界線高さ角丸
Ghost透明#8492A8なし--

インタラクティブな状態

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

インタラクション

  • MUST 破壊的な操作や取り消せない操作には AlertDialog を使用する
  • SHOULD ローディング状態には構造的なスケルトンを使用する
  • MUST 操作が行われる場所の近くにエラーを表示する
  • NEVER input または textarea 要素での貼り付けをブロックしない
  • MUST アイコンのみのボタンには aria-label を追加する

アニメーション

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

パフォーマンス

  • NEVER 大きな blur() または backdrop-filter のサーフェスをアニメーションしない
  • NEVER アニメーションが有効な間以外に will-change を適用しない
  • NEVER レンダリングロジックで表現できる処理に useEffect を使用しない

コメント