mcpField
R
retool-ui-skills

retool-ui-skills

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

retool-ui-skills について

AI エージェントが Retool 風のライトなインターフェースを構築するための指針です。カラー、タイポグラフィ、レイアウト、操作性、パフォーマンスの制約を定めています。

主な機能

  1. 01ライトサーフェスとセマンティックカラー
  2. 02Inter フォントとタイポグラフィ規則
  3. 034px グリッドとボーダー指針
  4. 04アクセシビリティと操作要件
  5. 05アニメーションと性能の制約

活用シーン

  1. 01Retool 風のライト UI の構築
  2. 02AI エージェント向けの一貫した UI 実装制約

インストール

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

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

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

同梱ファイルmetadata.json

詳細

Retool UI スキル

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

適用する場合

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

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

色

  • 主要なサーフェスには明るい背景を使用することを推奨します
  • ページの背景(surface-base)には #E3E6D7 を必ず使用してください
  • プライマリーアクションとフォーカス状態(accent)には #80AEF2 を必ず使用してください
  • カラーパレットを縮小することを推奨します(現在、21 色が検出されています)
  • アクセシビリティのため、テキストのコントラスト比を少なくとも 4.5:1 に維持してください
セマンティックトークン
トークンHEXRGB用途
surface-base#E3E6D7rgb(227,230,215)ページの背景
surface-raised#081319rgb(8,19,25)カード、モーダル、浮き上がったサーフェス
surface-overlay#3469F5rgb(52,105,245)オーバーレイ、ツールチップ、ドロップダウン
text-primary#80AEF2rgb(128,174,242)見出し、本文テキスト
text-secondary#A49369rgb(164,147,105)セカンダリテキスト、控えめなテキスト
text-tertiary#646560rgb(100,101,96)追加のテキスト
border-default#255DF1rgb(37,93,241)控えめな境界線、区切り線
accent#80AEF2rgb(128,174,242)プライマリーアクション、リンク、フォーカス
warning#9B7C4Argb(155,124,74)警告状態、注意

タイポグラフィ

  • プライマリーフォントファミリーとして Inter を必ず使用してください
  • 一貫性を保つため、単一のフォントファミリーを使用することを推奨します
  • プライマリー見出しには 54px / 700 を必ず使用してください
  • 本文テキストには 19px / 500 を必ず使用してください
  • フォントウェイトの種類を減らすことを推奨します(現在、4 種類が検出されています)
  • 見出しには text-balance、本文テキストには text-pretty を必ず使用してください
  • 数値データには tabular-nums を使用することを推奨します
  • 明示的に指示されない限り、文字間隔を変更しないでください
テキストスタイル
スタイルフォントサイズウェイト色数
heading-1Inter54px700#C4C6BC1
text-45pxInter45px500#6E6E6B1
text-45pxInter45px500#C2C3BD1
text-38pxInter38px500#B5B6AF1
text-38pxInter38px500#6C6C691
text-36pxInter36px500#AFB0A91
text-36pxInter36px500#7676731
text-36pxInter36px500#CECFC71
bodyInter19px500#BDBEB81
body-secondaryInter18px400#7F7F7D1
タイポグラフィの参考情報

フォントファミリー:

  • Inter(40 回使用)

フォントサイズ: 7px、8px、9px、10px、11px、12px、13px、14px、15px、16px、18px、19px、36px、38px、45px、54px

余白

  • 余白には 4px グリッドを必ず使用してください
  • 次のスケールから余白を使用することを推奨します:1px、2px、3px、4px、5px、15px、24px、35px
  • 要素間のデフォルトの間隔には 2px を使用することを推奨します
  • 任意の余白値は使用しないでください(デザインスケールを使用してください)
  • コンテナー内のパディングを一貫して維持することを推奨します

境界線

  • 次のスケールから境界線の角丸を必ず使用してください:2px、3px、4px、19px、32px、99px
  • ピル型要素には 32px 以上の角丸を使用することを推奨します
  • 境界線の幅は 1px、4px に制限することを推奨します
  • デフォルトの境界線の角丸には 32px を使用することを推奨します
  • 任意の境界線の角丸値は使用しないでください(デザインスケールを使用してください)
  • 要素を区切るために、控えめな境界線(1px)を使用することを推奨します
境界線の角丸の参考情報

スケール: 2px、3px、4px、19px、32px、99px

レイアウト

  • 基準のビューポート幅を 1920px として必ずデザインしてください
  • 要素の幅は 8px、11px、7px、6px、1364px に統一することを推奨します
  • 明確な階層構造を持つ、テキスト中心のレイアウトを維持することを推奨します
  • h-screen は使用せず、ビューポート全体の高さには h-dvh を使用してください
  • 固定要素では safe-area-inset を必ず考慮してください
  • 正方形の要素には、w-* と h-* の組み合わせではなく、size-* を使用することを推奨します
検出されたレイアウトパターン
  • メインコンテンツ:幅:1920px、高さ:900px
  • メインコンテンツ:幅:1307px、高さ:661px
  • メインコンテンツ:幅:1364px、高さ:702px
  • ヘッダー:高さ:88px

コンポーネント

ボタン
バリエーション背景テキスト枠線高さ角丸
ゴーストtransparent#80AEF2なし--

インタラクティブな状態

フォーカス
  • アクセントカラー(#80AEF2)を使った2pxのアウトラインを必ず使用してください
  • 2pxのアウトラインオフセットを必ず使用してください
  • フォーカスインジケーターを絶対に削除しないでください
ホバー
  • ボタン(プライマリ):背景を10%明るくしてください
  • ボタン(セカンダリ):背景に#081319を使用してください
  • リスト項目:背景に#081319を使用してください
無効状態
  • 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を絶対に使用しないでください

コメント