mcpField
M
mem-ui-skills

mem-ui-skills

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

mem-ui-skills について

mem-ui-skillsは、AIエージェントがMem風のライトモードUIを構築する際の設計ルールです。色、タイポグラフィ、間隔、レイアウト、操作、パフォーマンスの指針をまとめています。

主な機能

  1. 01ライトモードの色トークンとコントラスト
  2. 02Interのタイポグラフィとテキストスタイル
  3. 034pxの間隔と角丸の尺度
  4. 04レイアウトとビューポートのルール
  5. 05アクセシビリティと操作状態
  6. 06アニメーションと性能の制約

活用シーン

  1. 01Mem風のライトUIの構築
  2. 02一貫したビジュアルシステムの適用
  3. 03アクセシビリティと操作性の確認

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Mem UI スキル

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

適用する場面

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景(surface-base)には #F9F5ED を必ず使用してください
  • プライマリアクションとフォーカス状態(accent)には #95A3DC を必ず使用してください
  • カラーパレットは異なる色を 9 色までに抑えることを推奨します
  • アクセシビリティのため、テキストのコントラスト比を 4.5:1 以上に必ず維持してください
セマンティックトークン
トークンHEXRGB用途
surface-base#F9F5EDrgb(249,245,237)ページの背景
surface-raised#EADCC3rgb(234,220,195)カード、モーダル、浮き上がったサーフェス
text-primary#474449rgb(71,68,73)見出し、本文テキスト
text-2#665E53rgb(102,94,83)補足テキスト
text-tertiary#2F2C3Drgb(47,44,61)補足テキスト
border-default#534F59rgb(83,79,89)控えめな境界線、区切り線
warning#F9F5EDrgb(249,245,237)警告状態、注意
accent#95A3DCrgb(149,163,220)プライマリアクション、リンク、フォーカス

タイポグラフィ

  • プライマリフォントファミリーには Inter を必ず使用してください
  • 一貫性を保つため、フォントファミリーは 1 つにすることを推奨します
  • プライマリ見出しには 86px / 700 を必ず使用してください
  • 本文テキストには 20px / 400 を必ず使用してください
  • フォントウェイトは regular、bold、semi_bold に必ず限定してください
  • 見出しには text-balance、本文テキストには text-pretty を必ず使用してください
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的に依頼されない限り、letter-spacing は絶対に変更しないでください
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter86px700#2F2C3D1
bodyInter20px400#665E531
body-secondaryInter20px400#423E441
body-secondaryInter19px400#4743491
body-secondaryInter19px400#514B511
body-secondaryInter19px400#605A601
body-secondaryInter19pxsemi_bold#34313F1
body-secondaryInter18px400#504B4F1
body-secondaryInter18px400#514D531
text-16pxInter16px400#4744491
タイポグラフィの参考情報

フォントファミリー:

  • Inter(13 回使用)

フォントサイズ: 13px、14px、16px、18px、19px、20px、86px

余白

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

境界線

  • border-radius には次のスケールの値を必ず使用してください:16px、29px、32px、33px、37px、39px
  • ピル型の要素には 29px 以上の半径を使用することを推奨します
  • 境界線の幅は 1px、2px、3px に限定することを推奨します
  • デフォルトの border-radius には 37px を使用することを推奨します
  • 任意の border-radius 値は絶対に使用せず、デザインスケールの値を使用してください
  • 要素を区切るには、控えめな境界線(1px)を使用することを推奨します
Border Radius の参考情報

スケール: 16px、29px、32px、33px、37px、39px

レイアウト

  • 基準ビューポート幅を 1920px として必ず設計してください
  • 要素の幅は 302px、304px、74px に統一することを推奨します
  • テキストを中心としたレイアウトで、明確な階層を維持することを推奨します
  • h-screen は絶対に使用せず、ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を必ず考慮してください
  • 正方形の要素には w-* と h-* の組み合わせではなく、size-* を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:937px
  • メインコンテンツ:幅:1920px、高さ:920px
  • ヘッダー:高さ:72px
  • ヘッダー:高さ:71px

コンポーネント

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

インタラクティブ状態

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

コメント