extension-ui について
Chrome 拡張機能の UI を分析し、改善を実装するスキルです。小さな画面領域、ダークモード、アクセシビリティ、各種表示状態を扱います。
主な機能
- 01フレームワークと UI 表示面の判別
- 02既存レイアウトとアクセシビリティの確認
- 03フレームワーク別 UI スタックの提案
- 04ダークモードとサイズ制約の実装
- 05読み込み・エラー・空状態の追加
活用シーン
- 01拡張機能のポップアップやサイドパネルの改善
- 02拡張機能 UI へのダークモード追加
- 03キーボード操作とコントロールのアクセシビリティ確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ quangpl/ browser-extension-skills --skill extension-uiインストール後、Claude Code で/extension-uiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/accessibility-checklist.mddesign-system-setup.mdextension-ui-constraints.mdux-patterns.md詳細
拡張機能の UI
🚀 プレミアムにアップグレード https://app.extensionbooster.net/dashboard/services/extension-ai-kit からプレミアム版を入手できます。
プロフェッショナルで洗練された Chrome 拡張機能のインターフェースを構築します。説明するだけではなく、ワークフローを実行してください。
ワークフロー(実行してください)
ステップ 1:コンテキストを検出する
- フレームワークを確認します:
package.json→ React / Vue / Svelte / Vanilla - 既存の UI ファイルを確認します:ポップアップ、サイドパネル、オプション、コンテンツスクリプト
- Tailwind / shadcn / DaisyUI がすでに設定されているか確認します
- 拡張機能の種類を特定します:ポップアップのみ、サイドパネル、オプションページ全体
ステップ 2:既存の UI を分析する
UI ファイルがある場合:
- コンポーネントファイルを読み、レイアウト、余白、色の使い方を確認します
- ダークモードへの対応状況を確認します(
prefers-color-schemeまたはclass="dark") - アクセシビリティを確認します:セマンティック HTML、aria-label、フォーカス管理
- Chrome のデザイン言語との整合性を確認します
調査結果を報告します:優れている点、改善が必要な点、優先度の高い修正事項。
ステップ 3:UI スタックを推奨する
| フレームワーク | 推奨スタック |
|---|---|
| React | shadcn/ui + Tailwind(最も優れたコンポーネント品質) |
| React(最小構成) | Tailwind のみ + カスタムのコンパクトなテーマ |
| Vue | DaisyUI + Tailwind |
| Svelte | Tailwind + svelte-headlessui |
| Vanilla | CSS 変数を使ったカスタム CSS |
ステップ 4:改善を実装する
優先度の高い順に修正を適用します。
- ダークモード対応(必須 — 多くのユーザーがダークモードを使用します)
- 適切なサイズ制約(
references/extension-ui-constraints.mdを参照) - 小さな画面に適したタイポグラフィと余白
- アクセシビリティの修正(キーボード操作、aria、フォーカス)
- 読み込み/エラー/空の状態
- アニメーション(控えめで、速く、目的に沿ったもの)
拡張機能 UI の制約(概要)
| 表示領域 | サイズ | 主な制約 |
|---|---|---|
| ポップアップ | 最大 800x600px | 外側をクリックすると閉じる、サイズ変更不可 |
| サイドパネル | 幅 320-400px | 全高、表示を維持 |
| オプションページ | タブ全体 | 標準的なウェブページ |
| コンテンツスクリプト UI | 注入型 | Shadow DOM による CSS の分離 |
詳細:references/extension-ui-constraints.md
ダークモード(必須)
常にダークモードを実装してください。拡張機能はライトとダークの両方のブラウザテーマで使われます。
/* CSS variables approach */
:root {
--bg: #ffffff;
--text: #111827;
--border: #e5e7eb;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #1f2937;
--text: #f9fafb;
--border: #374151;
}
}
ユーザー設定による上書き値は chrome.storage.sync に保存します。
小さな画面向けのタイポグラフィ
- 基本フォント:システムフォントスタック — カスタムフォントは使用しません(バンドルサイズと描画速度のため)
- ポップアップの基本サイズ:13-14px(はみ出さずに読みやすいサイズ)
- 行の高さ:1.4-1.5(ウェブの標準より詰めます)
- フォントの太さ:400(本文)、500(ラベル)、600(見出し)
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
カラーパレット(Chrome に準拠)
- プライマリ:
#1a73e8(Google Blue)またはブランドカラー - サーフェス:
#ffffff/ ダークモードでは#1f2937 - 境界線:
#dadce0/ ダークモードでは#374151 - テキスト(プライマリ):
#202124/ ダークモードでは#f9fafb - テキスト(セカンダリ):
#5f6368/ ダークモードでは#9ca3af - 成功:
#34a853、エラー:#d93025、警告:#fbbc04
アニメーション
- 継続時間:100-200ms(ポップアップが瞬時に感じられる長さ)
- イージング:表示時は
ease-out、終了時はease-in - レイアウトを発生させるアニメーションは避けます(
transform、opacityのみ) - 常に
prefers-reduced-motionを尊重します
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
}
}
アクセシビリティチェックリスト(簡易版)
- Tab キーの移動順序が論理的で、すべての操作可能な要素に到達できる
- アイコンのみのボタンには
aria-labelがある - 色のコントラスト比が最低 4.5:1 である
- フォーカスが視認できる(
:focus-visibleが削除されているだけの状態ではない) - セマンティック HTML を使用する(
divではなくbutton、ナビゲーションにはnav)
完全版のチェックリスト:references/accessibility-checklist.md
参考資料
references/extension-ui-constraints.md— サイズ制限、サーフェスごとのレイアウトパターンreferences/design-system-setup.md— shadcn/ui、DaisyUI、Tailwind のセットアップreferences/ux-patterns.md— 読み込み、エラー、空の状態、オンボーディングreferences/accessibility-checklist.md— a11y の要件とテストの全項目
関連スキル
extension-create— フレームワークを選択して新しい拡張機能をひな形から作成extension-analyze— 既存の拡張機能のコードベースを分析extension-assets— アイコン、画像、アセットの最適化
コメント
Markdown 対応