web-design-reviewer
ローカルまたはリモートで動作しているWebサイトを視覚的に検査し、デザインの問題を特定・修正するスキルです。「Webサイトのデザインをレビューして」「UIを確認して」「レイアウトを修正して」「デザインの問題を見つけて」といったリクエストで起動します。レスポンシブデザイン・アクセシビリティ・ビジュアルの一貫性・レイアウト崩れなどの問題を検出し、ソースコードレベルで修正を行います。
description の原文を見る
This skill enables visual inspection of websites running locally or remotely to identify and fix design issues. Triggers on requests like "review website design", "check the UI", "fix the layout", "find design problems". Detects issues with responsive design, accessibility, visual consistency, and layout breakage, then performs fixes at the source code level.
SKILL.md 本文
Web Design Reviewer
このスキルは、ウェブサイトデザインの品質を視覚的に検査および検証し、ソースコードレベルで問題を特定して修正することを可能にします。
適用範囲
- 静的サイト (HTML/CSS/JS)
- React / Vue / Angular / Svelte などの SPA フレームワーク
- Next.js / Nuxt / SvelteKit などのフルスタックフレームワーク
- WordPress / Drupal などの CMS プラットフォーム
- その他すべてのウェブアプリケーション
前提条件
必須
-
ターゲットウェブサイトが実行されていること
- ローカル開発サーバー (例:
http://localhost:3000) - ステージング環境
- 本番環境 (読み取り専用レビューの場合)
- ローカル開発サーバー (例:
-
ブラウザ自動化が利用可能であること
- スクリーンショット取得
- ページナビゲーション
- DOM 情報の取得
-
ソースコードへのアクセス (修正を行う場合)
- プロジェクトがワークスペース内に存在すること
ワークフロー概要
flowchart TD
A[ステップ1: 情報収集] --> B[ステップ2: 視覚検査]
B --> C[ステップ3: 問題修正]
C --> D[ステップ4: 再検証]
D --> E{問題が残っているか?}
E -->|はい| B
E -->|いいえ| F[完了レポート]
ステップ1: 情報収集フェーズ
1.1 URL の確認
URL が提供されていない場合は、ユーザーに尋ねます:
レビュー対象のウェブサイトの URL を入力してください (例:
http://localhost:3000)
1.2 プロジェクト構造の理解
修正を行う場合は、以下の情報を収集します:
| 項目 | 質問例 |
|---|---|
| フレームワーク | React / Vue / Next.js などを使用していますか? |
| スタイリング方法 | CSS / SCSS / Tailwind / CSS-in-JS などはどれですか? |
| ソースロケーション | スタイルファイルとコンポーネントはどこに配置されていますか? |
| レビュー範囲 | 特定ページのみか、全サイトか? |
1.3 自動プロジェクト検出
ワークスペース内のファイルから自動検出を試みます:
検出対象:
├── package.json → フレームワークと依存関係
├── tsconfig.json → TypeScript の使用
├── tailwind.config → Tailwind CSS
├── next.config → Next.js
├── vite.config → Vite
├── nuxt.config → Nuxt
└── src/ または app/ → ソースディレクトリ
1.4 スタイリング方法の特定
| 方法 | 検出方法 | 編集対象 |
|---|---|---|
| Pure CSS | *.css ファイル | グローバル CSS またはコンポーネント CSS |
| SCSS/Sass | *.scss, *.sass | SCSS ファイル |
| CSS Modules | *.module.css | モジュール CSS ファイル |
| Tailwind CSS | tailwind.config.* | コンポーネント内の className |
| styled-components | コード内の styled. | JS/TS ファイル |
| Emotion | @emotion/ インポート | JS/TS ファイル |
| CSS-in-JS (その他) | インラインスタイル | JS/TS ファイル |
ステップ2: 視覚検査フェーズ
2.1 ページトラバーサル
- 指定の URL にナビゲーション
- スクリーンショットを取得
- DOM 構造/スナップショットを取得 (可能な場合)
- 追加ページがある場合は、ナビゲーションを通じてトラバーサル
2.2 検査項目
レイアウト問題
| 問題 | 説明 | 重大度 |
|---|---|---|
| 要素オーバーフロー | コンテンツが親要素またはビューポートからはみ出している | 高 |
| 要素オーバーラップ | 意図しない要素の重複 | 高 |
| 配置の問題 | グリッドまたはフレックスの配置の問題 | 中 |
| 不一貫なスペース | パディング/マージンの不一貫性 | 中 |
| テキストクリッピング | 長いテキストが適切に処理されていない | 中 |
レスポンシブ問題
| 問題 | 説明 | 重大度 |
|---|---|---|
| モバイル非対応 | 小さい画面でレイアウトが崩れる | 高 |
| ブレークポイント問題 | 画面サイズ変更時の不自然な移行 | 中 |
| タッチターゲット | モバイルでボタンが小さすぎる | 中 |
アクセシビリティ問題
| 問題 | 説明 | 重大度 |
|---|---|---|
| コントラスト不足 | テキストと背景のコントラスト比が低い | 高 |
| フォーカス状態なし | キーボードナビゲーション時に状態を判定できない | 高 |
| alt テキストなし | 画像の代替テキストがない | 中 |
視覚的一貫性
| 問題 | 説明 | 重大度 |
|---|---|---|
| フォント不一貫性 | フォントファミリーが混在している | 中 |
| 色不一貫性 | ブランドカラーが統一されていない | 中 |
| スペース不一貫性 | 同様の要素間のスペースが均一でない | 低 |
2.3 ビューポートテスト (レスポンシブ)
以下のビューポートでテストします:
| 名前 | 幅 | 代表的なデバイス |
|---|---|---|
| Mobile | 375px | iPhone SE/12 mini |
| Tablet | 768px | iPad |
| Desktop | 1280px | 標準 PC |
| Wide | 1920px | 大型ディスプレイ |
ステップ3: 問題修正フェーズ
3.1 問題の優先順位付け
block-beta
columns 1
block:priority["優先度マトリックス"]
P1["P1: すぐに修正\n(機能に影響するレイアウト問題)"]
P2["P2: 次に修正\n(UX を低下させるビジュアル問題)"]
P3["P3: 可能であれば修正\n(軽微なビジュアル不一貫性)"]
end
3.2 ソースファイルの特定
問題のある要素からソースファイルを特定します:
-
セレクタベースの検索
- クラス名または ID でコードベースを検索
grep_searchでスタイル定義を探索
-
コンポーネントベースの検索
- 要素のテキストまたは構造からコンポーネントを特定
semantic_searchで関連ファイルを探索
-
ファイルパターンのフィルタリング
スタイルファイル: src/**/*.css, styles/**/* コンポーネント: src/components/**/* ページ: src/pages/**, app/**
3.3 修正の適用
フレームワーク固有の修正ガイドライン
詳細は references/framework-fixes.md を参照してください。
修正の原則
- 最小限の変更: 問題を解決するために必要な最小限の変更のみを行う
- 既存パターンの尊重: プロジェクト内の既存コードスタイルに従う
- 破壊的変更の回避: 他の領域に影響を及ぼさないよう注意する
- コメントの追加: 必要に応じて修正の理由を説明するコメントを追加する
ステップ4: 再検証フェーズ
4.1 修正後の確認
- ブラウザをリロード (または開発サーバー HMR を待機)
- 修正された領域のスクリーンショットを取得
- 修正前後を比較
4.2 回帰テスト
- 修正が他の領域に影響していないことを確認
- レスポンシブ表示が破損していないことを確認
4.3 反復判断
flowchart TD
A{問題が残っているか?}
A -->|はい| B[ステップ2に戻る]
A -->|いいえ| C[完了レポートに進む]
反復制限: 特定の問題で3回以上の修正が必要な場合は、ユーザーに相談してください
出力形式
レビュー結果レポート
# ウェブデザインレビュー結果
## サマリー
| 項目 | 値 |
|------|-----|
| ターゲット URL | {URL} |
| フレームワーク | {検出されたフレームワーク} |
| スタイリング | {CSS / Tailwind など} |
| テスト済みビューポート | デスクトップ、モバイル |
| 検出された問題数 | {N} |
| 修正された問題数 | {M} |
## 検出された問題
### [P1] {問題タイトル}
- **ページ**: {ページパス}
- **要素**: {セレクタまたは説明}
- **問題**: {問題の詳細な説明}
- **修正ファイル**: `{ファイルパス}`
- **修正詳細**: {変更の説明}
- **スクリーンショット**: 修正前/修正後
### [P2] {問題タイトル}
...
## 未修正の問題 (ある場合)
### {問題タイトル}
- **理由**: {修正されなかった/できなかった理由}
- **推奨アクション**: {ユーザーへの推奨事項}
## 推奨事項
- {将来の改善のための提案}
必須機能
| 機能 | 説明 | 必須 |
|---|---|---|
| ウェブページナビゲーション | URL へのアクセス、ページ遷移 | ✅ |
| スクリーンショット取得 | ページ画像の取得 | ✅ |
| 画像分析 | ビジュアル問題検出 | ✅ |
| DOM 取得 | ページ構造の取得 | 推奨 |
| ファイル読み取り/書き込み | ソースコードの読み取りと編集 | 修正に必須 |
| コード検索 | プロジェクト内のコード検索 | 修正に必須 |
リファレンス実装
Playwright MCP での実装
Playwright MCP は、このスキルのリファレンス実装として推奨されます。
| 機能 | Playwright MCP ツール | 目的 |
|---|---|---|
| ナビゲーション | browser_navigate | URL へのアクセス |
| スナップショット | browser_snapshot | DOM 構造の取得 |
| スクリーンショット | browser_take_screenshot | ビジュアル検査用画像 |
| クリック | browser_click | インタラクティブ要素の操作 |
| リサイズ | browser_resize | レスポンシブテスト |
| コンソール | browser_console_messages | JS エラーの検出 |
設定例 (MCP サーバー)
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest", "--caps=vision"]
}
}
}
その他の互換性のあるブラウザ自動化ツール
| ツール | 機能 |
|---|---|
| Selenium | 広範なブラウザ対応、多言語サポート |
| Puppeteer | Chrome/Chromium 専用、Node.js |
| Cypress | E2E テストとの簡単な統合 |
| WebDriver BiDi | 標準化された次世代プロトコル |
同じワークフローをこれらのツールで実装できます。必要な機能 (ナビゲーション、スクリーンショット、DOM 取得) を備えていれば、ツールの選択は柔軟です。
ベストプラクティス
すべき こと (推奨)
- ✅ 修正前は常にスクリーンショットを保存する
- ✅ 一度に1つの問題を修正し、それぞれ検証する
- ✅ プロジェクトの既存コードスタイルに従う
- ✅ 大きな変更を加える前にユーザーに確認する
- ✅ 修正詳細を十分に文書化する
してはいけない こと (非推奨)
- ❌ 確認なしの大規模リファクタリング
- ❌ デザインシステムやブランドガイドラインの無視
- ❌ パフォーマンスを無視した修正
- ❌ 複数の問題を一度に修正する (検証が困難)
トラブルシューティング
問題: スタイルファイルが見つからない
package.jsonの依存関係を確認- CSS-in-JS の可能性を検討
- ビルド時に生成された CSS を検討
- ユーザーにスタイリング方法について尋ねる
問題: 修正が反映されない
- 開発サーバー HMR が動作しているか確認
- ブラウザキャッシュをクリア
- プロジェクトがビルドを必要とする場合は再ビルド
- CSS 特異性の問題を確認
問題: 修正が他の領域に影響している
- 変更をロールバック
- より具体的なセレクタを使用
- CSS Modules またはスコープ付きスタイルの使用を検討
- 影響範囲の確認についてユーザーに相談
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- github
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/github/awesome-copilot / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。