Skip to main content

AIエージェント向けUI構築ガイドライン

UI Skillsは、AIエージェントがより良いインターフェースを構築するための制約・ガイドライン集です。実際にエージェントを使用してUIを構築する際に遭遇した問題から抽出されたルールで構成されています。

UI Skillsとは

UI Skillsは、独断的で進化し続ける制約の小規模なセットです。エージェントがインターフェース構築時に従うべき指針として提供されており、反復的で単調なUI開発プロセスを改善することを目的としています。

主な制約・ガイドライン

スタック要件

  • カスタム値が既に存在しない限り、Tailwind CSSのデフォルト値を使用する
  • JavaScriptアニメーションの実装にはmotion/reactを使用する
  • クラスロジックの管理にはcnユーティリティ(clsx + tailwind-merge)を使用する

コンポーネント原則

  • キーボードおよびフォーカス動作には、アクセシビリティプリミティブ(Base UI、React Aria、Radixなど)を必須とする
  • プロジェクトに既存のコンポーネントがある場合は、それを優先して使用する
  • 同じインタラクションサーフェス内でプリミティブシステムを混在させてはならない
  • アイコンボタンにはaria-labelを必須とする

インタラクション設計

  • 破壊的または不可逆的なアクションには、AlertDialogを使用する
  • ローディング状態はスケルトン表示で示す
  • 高さの指定にはh-dvhを推奨する(h-screenは使用しない)
  • エラー表示は、エラーが発生した動作の隣に配置する

アニメーション制約

  • 明示的な要求がない限り、アニメーションを追加してはならない
  • アニメーション対象はコンポジタプロパティ(transform、opacity)のみとする
  • レイアウトプロパティの変更をアニメーションしてはならない
  • アニメーション時間は200msを超えてはならない
  • prefers-reduced-motionの設定を尊重する

タイポグラフィ

  • 見出しにはtext-balanceを使用する
  • 本文にはtext-prettyを使用する
  • データテーブルにはtabular-numsを使用する

パフォーマンス基準

  • レンダーロジックとして表現できるものに対してuseEffectを使用してはならない
  • 大規模なblurまたはbackdrop-filterをアニメーションしてはならない

使用方法

UI Skillsは、以下のコマンドでインストールできます。

npx ui-skills init

このコマンドを実行すると、スキルがインストールされ、対応ツール内にコマンドが登録されます。

既存のガイドラインとの関連

UI Skillsは、AIエージェント特化のUI構築ガイドラインであり、以下の既存ドキュメントと補完的な関係にあります。

UI Skillsは技術的な実装レベルでの制約を提供し、ユーザビリティ原則やUI状態パターンと組み合わせることで、より高品質なインターフェースを構築できます。

参考リンク