mcpField
N
notion-ui-skills

notion-ui-skills

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

notion-ui-skills について

notion-ui-skillsは、AIエージェントがNotion風のインターフェースを構築する際の設計制約です。ビジュアルトークンや実装指針を示し、ライトモードのUIを対象とします。

主な機能

  1. 01Notion風ビジュアルガイド
  2. 02カラートークンとコントラスト規則
  3. 03Interのタイポグラフィ仕様
  4. 04余白と境界線のスケール
  5. 05アクセシビリティと操作規則

活用シーン

  1. 01Notion風デザインシステムの構築
  2. 02ライトモード画面レイアウトの作成
  3. 03UIのアクセシビリティと操作の確認

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Notion UI スキル

AI エージェントで Notion 風のインターフェースを構築するための、推奨事項と制約です。

適用する場面

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページ背景(surface-base)には #F6F6F6 を使用する必要があります
  • 主要なアクションとフォーカス状態(accent)には #97CAEE を使用する必要があります
  • カラーパレットを絞ることを推奨します(現在 15 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に保つ必要があります
セマンティックトークン
トークンHEXRGB用途
surface-base#F6F6F6rgb(246,246,246)ページ背景
surface-raised#E5E5E4rgb(229,229,228)カード、モーダル、浮き上がったサーフェス
surface-overlay#DFEFFErgb(223,239,254)オーバーレイ、ツールチップ、ドロップダウン
text-primary#5D686Argb(93,104,106)見出し、本文テキスト
text-2#3E3E3Ergb(62,62,62)その他のテキスト
text-tertiary#505050rgb(80,80,80)その他のテキスト
border-default#EDEEECrgb(237,238,236)控えめな境界線、区切り線
accent#97CAEErgb(151,202,238)主要なアクション、リンク、フォーカス

タイポグラフィ

  • プライマリフォントファミリーには Inter を使用する必要があります
  • 一貫性を保つため、フォントファミリーは 1 種類にすることを推奨します
  • 主要な見出しには 66px / 700 を使用する必要があります
  • 本文テキストには 16px / 500 を使用する必要があります
  • フォントウェイトの種類を減らすことを推奨します(現在 6 種類が検出されています)
  • 見出しには text-balance を、本文テキストには text-pretty を使用する必要があります
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的に依頼されない限り、letter-spacing を変更してはいけません
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter66px700#2121211
text-29pxInter29pxextra_bold#2929291
text-27pxInter27px400#4D4D4D1
text-21pxInter21px500#2525251
text-19pxInter19pxsemi_bold#3333331
text-18pxInter18pxsemi_bold#3838381
text-18pxInter18px400#4E4E4E1
bodyInter16px500#5454541
body-secondaryInter16px400#9B9B9B1
body-secondaryInter15px400#5F5F5F2
タイポグラフィのリファレンス

フォントファミリー:

  • Inter(33 回使用)

フォントサイズ: 8px、10px、11px、12px、13px、14px、15px、16px、18px、19px、21px、27px、29px、66px

間隔

  • 間隔には 4px グリッドを使用する必要があります
  • 次のスケールから間隔を選ぶことを推奨します:1px、2px、4px、5px、6px、11px、14px、18px
  • 要素間のデフォルトのギャップには 1px を使用することを推奨します
  • 任意の間隔値は使用しないでください(デザインスケールを使用してください)
  • コンテナー内のパディングを一貫させることを推奨します

枠線

  • 角丸には次のスケールを使用する必要があります:3px、4px、6px、15px
  • 枠線の幅には一貫して 1px を使用する必要があります
  • デフォルトの角丸には 4px を使用することを推奨します
  • 任意の角丸値は使用しないでください(デザインスケールを使用してください)
  • 要素の区切りには控えめな枠線(1px)を使用することを推奨します
角丸のリファレンス

スケール: 3px、4px、6px、15px

レイアウト

  • 基準ビューポート幅 1920px を対象に設計する必要があります
  • 要素の幅を統一することを推奨します:16px、13px、17px、18px、10px
  • 明確な階層構造を備えた、テキスト主体のレイアウトを維持することを推奨します
  • h-screen は使用せず、ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を考慮する必要があります
  • 正方形の要素には、w-* と h-* の組み合わせではなく size-* を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:1080px
  • メインコンテンツ:幅:1822px、高さ:1008px

コンポーネント

  • 入力フィールドの高さには 0px を使用する必要があります
ボタン
バリエーション背景テキスト枠線高さ角丸
ゴースト透明#767674なし--
入力
  • 高さ:0px

インタラクション状態

フォーカス
  • MUST アクセントカラー(#97CAEE)の 2px のアウトラインを使用する
  • MUST 2px のアウトラインオフセットを使用する
  • フォーカスインジケーターを削除してはなりません
ホバー
  • ボタン(プライマリ):背景色を10%明るくする
  • ボタン(セカンダリ):背景色に #E5E5E4 を使用する
  • リスト項目:背景色に #E5E5E4 を使用する
無効状態
  • MUST opacity: 0.5 を使用する
  • MUST cursor: not-allowed を使用する

インタラクション

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

アニメーション

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

パフォーマンス

  • 大きな blur() または backdrop-filter のサーフェスをアニメーション化してはなりません
  • アニメーションが実行中でないときに will-change を適用してはなりません
  • レンダリングロジックで表現できる処理に useEffect を使用してはなりません

コメント