Awesome-omni-skill ui-designer

UI/UX デザインインテリジェンス。Webアプリの画面構成、レイアウト、コンポーネント、スタイル方針をまとめる。50以上のスタイル、97カラーパレット、57フォントペアリング、99 UXガイドライン、25チャートタイプ、9テクノロジースタック対応の検索可能なデザインデータベース付き。

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/design/ui-designer-ynitto" ~/.claude/skills/diegosouzapw-awesome-omni-skill-ui-designer-d28c00 && rm -rf "$T"
manifest: skills/design/ui-designer-ynitto/SKILL.md
source content

ui-designer

Webアプリ・モバイルアプリ向けの包括的デザインガイド。50以上のスタイル、97カラーパレット、57フォントペアリング、99 UXガイドライン、25チャートタイプを9テクノロジースタックにわたって網羅。優先度ベースの推奨を備えた検索可能なデータベース。

適用タイミング

以下の場面でこのガイドラインを参照する:

  • 新しいUIコンポーネントやページを設計するとき
  • カラーパレットやタイポグラフィを選定するとき
  • コードのUX問題をレビューするとき
  • ランディングページやダッシュボードを構築するとき
  • アクセシビリティ要件を実装するとき

ルールカテゴリ(優先度順)

優先度カテゴリ影響度ドメイン
1アクセシビリティ最重要
ux
2タッチ&インタラクション最重要
ux
3パフォーマンス
ux
4レイアウト&レスポンシブ
ux
5タイポグラフィ&カラー
typography
,
color
6アニメーション
ux
7スタイル選定
style
,
product
8チャート&データ
chart

クイックリファレンス

1. アクセシビリティ(最重要)

  • color-contrast
    - 通常テキストで最低4.5:1のコントラスト比
  • focus-states
    - インタラクティブ要素に可視フォーカスリング
  • alt-text
    - 意味のある画像に説明的なaltテキスト
  • aria-labels
    - アイコンのみのボタンにaria-label
  • keyboard-nav
    - タブ順序がビジュアル順序と一致
  • form-labels
    - for属性付きlabelを使用

2. タッチ&インタラクション(最重要)

  • touch-target-size
    - 最小44x44pxのタッチターゲット
  • hover-vs-tap
    - メインの操作にはclick/tapを使用
  • loading-buttons
    - 非同期操作中はボタンを無効化
  • error-feedback
    - 問題箇所の近くに明確なエラーメッセージ
  • cursor-pointer
    - クリック可能な要素にcursor-pointerを追加

3. パフォーマンス(高)

  • image-optimization
    - WebP、srcset、遅延読み込みを使用
  • reduced-motion
    - prefers-reduced-motionを確認
  • content-jumping
    - 非同期コンテンツ用のスペースを確保

4. レイアウト&レスポンシブ(高)

  • viewport-meta
    - width=device-width initial-scale=1
  • readable-font-size
    - モバイルで最小16pxの本文テキスト
  • horizontal-scroll
    - コンテンツがビューポート幅に収まること
  • z-index-management
    - z-indexスケールを定義(10, 20, 30, 50)

5. タイポグラフィ&カラー(中)

  • line-height
    - 本文テキストに1.5〜1.75を使用
  • line-length
    - 1行あたり65〜75文字に制限
  • font-pairing
    - 見出しと本文のフォントの個性を合わせる

6. アニメーション(中)

  • duration-timing
    - マイクロインタラクションに150〜300msを使用
  • transform-performance
    - width/heightではなくtransform/opacityを使用
  • loading-states
    - スケルトンスクリーンまたはスピナー

7. スタイル選定(中)

  • style-match
    - プロダクトタイプに合ったスタイルを選ぶ
  • consistency
    - 全ページで同じスタイルを使用
  • no-emoji-icons
    - 絵文字ではなくSVGアイコンを使用

8. チャート&データ(低)

  • chart-type
    - データタイプに合ったチャートを選ぶ
  • color-guidance
    - アクセシブルなカラーパレットを使用
  • data-table
    - アクセシビリティのためにテーブル代替を提供

使い方

以下のCLIツールを使って特定のドメインを検索する。


前提条件

Pythonがインストールされているか確認:

python3 --version || python --version

インストールされていない場合、OSに応じてインストール:

macOS:

brew install python3

Ubuntu/Debian:

sudo apt update && sudo apt install python3

Windows:

winget install Python.Python.3.12

このスキルの使い方

ユーザーがUI/UX関連の作業(design、build、create、implement、review、fix、improve)を依頼した場合、以下のワークフローに従う:

Step 1: ユーザー要件を分析する

ユーザーのリクエストからキー情報を抽出:

  • プロダクトタイプ: SaaS、EC、ポートフォリオ、ダッシュボード、ランディングページなど
  • スタイルキーワード: ミニマル、ポップ、プロフェッショナル、エレガント、ダークモードなど
  • 業界: ヘルスケア、フィンテック、ゲーム、教育など
  • スタック: React、Vue、Next.jsなど、指定がなければ
    html-tailwind
    をデフォルト

Step 2: デザインシステムを生成する(必須)

まず

--design-system
で包括的な推奨を取得:

python3 skills/ui-designer/scripts/search.py "<プロダクトタイプ> <業界> <キーワード>" --design-system [-p "プロジェクト名"]

このコマンドは:

  1. 5つのドメインを並列検索(product、style、color、landing、typography)
  2. ui-reasoning.csv
    のルールを適用して最適なマッチを選定
  3. 完全なデザインシステムを返却: パターン、スタイル、カラー、タイポグラフィ、エフェクト
  4. アンチパターンも含む

例:

python3 skills/ui-designer/scripts/search.py "beauty spa wellness service" --design-system -p "Serenity Spa"

Step 2b: デザインシステムの永続化(マスター+オーバーライドパターン)

デザインシステムをセッション横断で階層的に参照するために

--persist
を追加:

python3 skills/ui-designer/scripts/search.py "<クエリ>" --design-system --persist -p "プロジェクト名"

作成されるファイル:

  • design-system/MASTER.md
    — グローバルなデザインルールの真のソース
  • design-system/pages/
    — ページ固有のオーバーライド用フォルダ

ページ固有のオーバーライド付き:

python3 skills/ui-designer/scripts/search.py "<クエリ>" --design-system --persist -p "プロジェクト名" --page "dashboard"

追加で作成:

  • design-system/pages/dashboard.md
    — マスターからの逸脱ルール

階層的参照の仕組み:

  1. 特定ページ(例: 「Checkout」)構築時、まず
    design-system/pages/checkout.md
    を確認
  2. ページファイルが存在すればマスターファイルをオーバーライド
  3. 存在しなければ
    design-system/MASTER.md
    のみを使用

コンテキスト対応の参照プロンプト:

[ページ名] ページを構築中です。design-system/MASTER.md を読んでください。
また design-system/pages/[page-name].md が存在するか確認してください。
ページファイルが存在すれば、そのルールを優先してください。
存在しなければ、マスタールールのみを使用してください。
では、コードを生成してください...

Step 3: 詳細検索で補完する(必要に応じて)

デザインシステム取得後、ドメイン検索で詳細を補完:

python3 skills/ui-designer/scripts/search.py "<キーワード>" --domain <ドメイン> [-n <最大結果数>]

詳細検索が必要な場面:

ニーズドメイン
スタイルの追加候補
style
--domain style "glassmorphism dark"
チャートの推奨
chart
--domain chart "real-time dashboard"
UXベストプラクティス
ux
--domain ux "animation accessibility"
フォントの代替案
typography
--domain typography "elegant luxury"
ランディング構成
landing
--domain landing "hero social-proof"

Step 4: スタック別ガイドライン(デフォルト: html-tailwind)

スタック固有のベストプラクティスを取得。ユーザーが指定しない場合は

html-tailwind
をデフォルトに:

python3 skills/ui-designer/scripts/search.py "<キーワード>" --stack html-tailwind

利用可能なスタック:

html-tailwind
,
react
,
nextjs
,
vue
,
svelte
,
swiftui
,
react-native
,
flutter
,
shadcn
,
jetpack-compose


検索リファレンス

利用可能なドメイン

ドメイン用途キーワード例
product
プロダクトタイプ別推奨SaaS, e-commerce, portfolio, healthcare, beauty, service
style
UIスタイル、カラー、エフェクトglassmorphism, minimalism, dark mode, brutalism
typography
フォントペアリング、Google Fontselegant, playful, professional, modern
color
プロダクトタイプ別カラーパレットsaas, ecommerce, healthcare, beauty, fintech, service
landing
ページ構成、CTA戦略hero, hero-centric, testimonial, pricing, social-proof
chart
チャートタイプ、ライブラリ推奨trend, comparison, timeline, funnel, pie
ux
ベストプラクティス、アンチパターンanimation, accessibility, z-index, loading
react
React/Next.jsパフォーマンスwaterfall, bundle, suspense, memo, rerender, cache
web
Webインターフェースガイドラインaria, focus, keyboard, semantic, virtualize
prompt
AIプロンプト、CSSキーワード(スタイル名)

利用可能なスタック

スタックフォーカス
html-tailwind
Tailwindユーティリティ、レスポンシブ、a11y(デフォルト)
react
State、hooks、パフォーマンス、パターン
nextjs
SSR、ルーティング、画像、APIルート
vue
Composition API、Pinia、Vue Router
svelte
Runes、stores、SvelteKit
swiftui
Views、State、Navigation、Animation
react-native
Components、Navigation、Lists
flutter
Widgets、State、Layout、Theming
shadcn
shadcn/uiコンポーネント、テーマ、フォーム、パターン
jetpack-compose
Composables、Modifiers、State Hoisting、Recomposition

ワークフロー例

ユーザーリクエスト: 「美容サロンのランディングページを作って」

Step 1: 要件分析

  • プロダクトタイプ: 美容/スパサービス
  • スタイルキーワード: エレガント、プロフェッショナル、ソフト
  • 業界: 美容/ウェルネス
  • スタック: html-tailwind(デフォルト)

Step 2: デザインシステム生成(必須)

python3 skills/ui-designer/scripts/search.py "beauty spa wellness service elegant" --design-system -p "Serenity Spa"

出力: パターン、スタイル、カラー、タイポグラフィ、エフェクト、アンチパターンを含む完全なデザインシステム。

Step 3: 詳細検索で補完(必要に応じて)

# アニメーションとアクセシビリティのUXガイドラインを取得
python3 skills/ui-designer/scripts/search.py "animation accessibility" --domain ux

# 必要に応じて代替タイポグラフィを取得
python3 skills/ui-designer/scripts/search.py "elegant luxury serif" --domain typography

Step 4: スタック別ガイドライン

python3 skills/ui-designer/scripts/search.py "layout responsive form" --stack html-tailwind

その後: デザインシステム + 詳細検索結果を統合してデザインを実装する。


出力フォーマット

--design-system
フラグは2つの出力形式をサポート:

# ASCIIボックス(デフォルト)- ターミナル表示に最適
python3 skills/ui-designer/scripts/search.py "fintech crypto" --design-system

# Markdown - ドキュメント化に最適
python3 skills/ui-designer/scripts/search.py "fintech crypto" --design-system -f markdown

検索のコツ

  1. キーワードは具体的に — 「app」より「healthcare SaaS dashboard」
  2. 複数回検索 — 異なるキーワードで異なるインサイトが得られる
  3. ドメインを組み合わせる — Style + Typography + Color = 完全なデザインシステム
  4. 常にUXを確認 — 「animation」「z-index」「accessibility」で頻出問題をチェック
  5. stackフラグを使う — スタック固有のベストプラクティスを取得
  6. 反復する — 最初の検索がマッチしなければ別のキーワードを試す

プロフェッショナルUIのための共通ルール

UIがアマチュアに見える原因となる、見落としがちな問題:

アイコン&ビジュアル要素

ルールやるべきやってはいけない
絵文字アイコン禁止SVGアイコンを使用(Heroicons、Lucide、Simple Icons)UIアイコンとして絵文字を使用
安定したホバー状態hover時にcolor/opacityトランジションレイアウトがずれるscaleトランスフォーム
正確なブランドロゴSimple Iconsから公式SVGを調査ロゴパスを推測したり不正確なものを使用
一貫したアイコンサイズviewBox(24x24)固定でw-6 h-6を使用アイコンサイズをランダムに混在

インタラクション&カーソル

ルールやるべきやってはいけない
カーソルポインタークリック/ホバー可能なカードに
cursor-pointer
追加
インタラクティブ要素でデフォルトカーソルのまま
ホバーフィードバックビジュアルフィードバック(色、影、ボーダー)を提供要素がインタラクティブだと分からない状態
スムーズなトランジション
transition-colors duration-200
を使用
即時切り替えや500ms超の遅すぎるトランジション

ライト/ダークモードのコントラスト

ルールやるべきやってはいけない
ライトモードのglassカード
bg-white/80
以上の不透明度を使用
bg-white/10
(透明すぎる)を使用
ライトモードのテキストコントラストテキストに
#0F172A
(slate-900)を使用
本文に
#94A3B8
(slate-400)を使用
ミュートテキスト(ライト)最低
#475569
(slate-600)を使用
gray-400以下を使用
ボーダーの可視性ライトモードで
border-gray-200
を使用
border-white/10
(見えない)を使用

レイアウト&スペーシング

ルールやるべきやってはいけない
フローティングナビバー
top-4 left-4 right-4
のスペーシング追加
top-0 left-0 right-0
にナビバーを固定
コンテンツパディング固定ナビバーの高さを考慮固定要素の後ろにコンテンツが隠れる
一貫したmax-width同じ
max-w-6xl
max-w-7xl
を使用
コンテナ幅をバラバラに混在

納品前チェックリスト

UIコードを納品する前に以下を確認:

ビジュアル品質

  • アイコンに絵文字を使用していない(SVGを使用)
  • 全アイコンが統一されたアイコンセット(Heroicons/Lucide)から
  • ブランドロゴが正確(Simple Iconsで検証済み)
  • ホバー状態でレイアウトシフトが発生しない
  • テーマカラーを直接使用(bg-primary)、var()ラッパーではない

インタラクション

  • クリック可能な全要素に
    cursor-pointer
  • ホバー状態で明確なビジュアルフィードバック
  • トランジションがスムーズ(150〜300ms)
  • キーボードナビゲーション用のフォーカス状態が可視

ライト/ダークモード

  • ライトモードのテキストが十分なコントラスト(最低4.5:1)
  • Glass/透明要素がライトモードで可視
  • ボーダーが両モードで可視
  • 両モードでテスト済み

レイアウト

  • フローティング要素がエッジから適切なスペーシング
  • 固定ナビバーの後ろにコンテンツが隠れていない
  • 375px、768px、1024px、1440pxでレスポンシブ
  • モバイルで水平スクロールなし

アクセシビリティ

  • 全画像にaltテキスト
  • フォーム入力にラベル
  • 色だけで情報を伝えていない
  • prefers-reduced-motion
    を尊重