mcpField
W
web-design-reviewer

web-design-reviewer

github.com/galaxy-dawnデザイン・UI5.9k373 回インストール2 週間前に更新
リポジトリ

web-design-reviewer について

web-design-reviewerは、Webサイトの見た目を検査し、ソースにアクセスできる場合は問題を修正するスキルです。ブラウザーでの確認、レスポンシブ検証、修正、再確認を扱います。

主な機能

  1. 01稼働中のWebサイトの目視検査
  2. 02レイアウト、レスポンシブ、アクセシビリティの確認
  3. 03プロジェクト構成とスタイル方式の検出
  4. 04最小限の変更によるソース修正
  5. 05スクリーンショットによる再確認

活用シーン

  1. 01複数の画面幅でステージングサイトを確認
  2. 02レイアウトのはみ出しやテキスト切れを修正
  3. 03キーボードフォーカスと画像の代替テキストを確認

MCP 対応

Playwright MCPを参照実装として挙げ、ブラウザーツールでの移動、スナップショット、スクリーンショット、操作、画面サイズ変更、コンソール確認を想定しています。

インストール

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

$npx skills add https://github.com/galaxy-dawn/claude-scholar --skill web-design-reviewer

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

同梱ファイルreferences/framework-fixes.mdreferences/visual-checklist.md

詳細

Web デザインレビュー担当

このスキルは、Web サイトのデザイン品質を視覚的に検査・検証し、問題を特定してソースコードレベルで修正します。

適用範囲

  • 静的サイト(HTML/CSS/JS)
  • React / Vue / Angular / Svelte などの SPA フレームワーク
  • Next.js / Nuxt / SvelteKit などのフルスタックフレームワーク
  • WordPress / Drupal などの CMS プラットフォーム
  • その他すべての Web アプリケーション

前提条件

必須
  1. 対象の Web サイトが稼働していること

    • ローカル開発サーバー(例:http://localhost:3000)
    • ステージング環境
    • 本番環境(読み取り専用のレビューの場合)
  2. ブラウザー自動化を利用できること

    • スクリーンショットの取得
    • ページ遷移
    • DOM 情報の取得
  3. ソースコードにアクセスできること(修正を行う場合)

    • プロジェクトがワークスペース内に存在すること

ワークフローの概要

flowchart TD
    A[Step 1: Information Gathering] --> B[Step 2: Visual Inspection]
    B --> C[Step 3: Issue Fixing]
    C --> D[Step 4: Re-verification]
    D --> E{Issues Remaining?}
    E -->|Yes| B
    E -->|No| F[Completion Report]

ステップ 1:情報収集フェーズ

1.1 URL の確認

URL が指定されていない場合は、ユーザーに確認します。

レビュー対象の Web サイトの URL を指定してください(例:http://localhost:3000)

1.2 プロジェクト構成の把握

修正を行う場合は、次の情報を収集します。

項目質問例
フレームワークReact / Vue / Next.js などを使用していますか?
スタイリング方法CSS / SCSS / Tailwind / CSS-in-JS など、何を使用していますか?
ソースの場所スタイルファイルやコンポーネントはどこにありますか?
レビュー範囲特定のページのみですか、それともサイト全体ですか?
1.3 プロジェクトの自動検出

ワークスペース内のファイルから自動検出を試みます。

Detection targets:
├── package.json     → Framework and dependencies
├── tsconfig.json    → TypeScript usage
├── tailwind.config  → Tailwind CSS
├── next.config      → Next.js
├── vite.config      → Vite
├── nuxt.config      → Nuxt
└── src/ or app/     → Source directory
1.4 スタイリング方法の特定
方法検出方法編集対象
Pure CSS*.css ファイルグローバル CSS またはコンポーネント CSS
SCSS/Sass*.scss、*.sassSCSS ファイル
CSS Modules*.module.cssモジュール CSS ファイル
Tailwind CSStailwind.config.*コンポーネント内の className
styled-componentsコード内の styled.JS/TS ファイル
Emotion@emotion/ のインポートJS/TS ファイル
CSS-in-JS(その他)インラインスタイルJS/TS ファイル

ステップ 2:視覚検査フェーズ

2.1 ページの巡回
  1. 指定された URL に移動します
  2. スクリーンショットを取得します
  3. DOM 構造/スナップショットを取得します(可能な場合)
  4. 他のページがある場合は、ナビゲーションをたどって巡回します
2.2 検査項目
レイアウトの問題
問題説明重大度
要素のはみ出しコンテンツが親要素またはビューポートからはみ出している高
要素の重なり意図しない要素の重なり高
配置の問題グリッドまたはフレックスの配置に関する問題中
余白の不統一パディング/マージンの不統一中
テキストの切り取り長いテキストが適切に処理されていない中
レスポンシブ対応の問題
問題説明重大度
モバイル非対応小さな画面でレイアウトが崩れる高
ブレークポイントの問題画面サイズの変更時に不自然な切り替わりがある中
タッチ対象モバイルでボタンが小さすぎる中
アクセシビリティの問題
問題説明重大度
コントラスト不足テキストと背景のコントラスト比が低い高
フォーカス状態がないキーボード操作中の状態を判別できない高
alt テキストがない画像に代替テキストがない中
視覚的一貫性
問題説明重大度
フォントの不統一複数のフォントファミリーが混在している中
色の不統一ブランドカラーが統一されていない中
余白の不統一類似した要素間の余白が均一でない低
2.3 ビューポートテスト(レスポンシブ)

次のビューポートでテストします。

名前幅代表的なデバイス
モバイル375pxiPhone SE/12 mini
タブレット768pxiPad
デスクトップ1280px標準的な PC
ワイド1920px大型ディスプレイ

ステップ 3:問題修正フェーズ

3.1 問題の優先順位付け
block-beta
    columns 1
    block:priority["Priority Matrix"]
        P1["P1: Fix Immediately\n(Layout issues affecting functionality)"]
        P2["P2: Fix Next\n(Visual issues degrading UX)"]
        P3["P3: Fix If Possible\n(Minor visual inconsistencies)"]
    end
3.2 ソースファイルの特定

問題のある要素からソースファイルを特定します。

  1. セレクターによる検索

    • クラス名または ID でコードベースを検索します
    • grep_search を使ってスタイル定義を調べます
  2. コンポーネントによる検索

    • 要素のテキストまたは構造からコンポーネントを特定します
    • semantic_search を使って関連ファイルを調べます
  3. ファイルパターンによる絞り込み

    Style files: src/**/*.css, styles/**/*
    Components: src/components/**/*
    Pages: src/pages/**, app/**
    
3.3 修正の適用
フレームワーク固有の修正ガイドライン

詳細については、references/framework-fixes.md を参照してください。

修正の原則
  1. 変更を最小限にする:問題の解決に必要な最小限の変更だけを行います
  2. 既存のパターンを尊重する:プロジェクトの既存のコードスタイルに従います
  3. 破壊的変更を避ける:ほかの領域に影響しないよう注意します
  4. コメントを追加する:必要に応じて、修正理由を説明するコメントを追加します

ステップ 4:再検証フェーズ

4.1 修正後の確認
  1. ブラウザーを再読み込みします(または開発サーバーの HMR が反映されるまで待ちます)
  2. 修正した領域のスクリーンショットを撮影します
  3. 修正前と修正後を比較します
4.2 回帰テスト
  • 修正がほかの領域に影響していないことを確認します
  • レスポンシブ表示が崩れていないことを確認します
4.3 反復の判断
flowchart TD
    A{Issues Remaining?}
    A -->|Yes| B[Return to Step 2]
    A -->|No| C[Proceed to Completion Report]

反復回数の上限:特定の問題に対して修正を 3 回以上試みる必要がある場合は、ユーザーに相談してください


出力形式

レビュー結果レポート
# Web Design Review Results

## Summary

| Item | Value |
|------|-------|
| Target URL | {URL} |
| Framework | {Detected framework} |
| Styling | {CSS / Tailwind / etc.} |
| Tested Viewports | Desktop, Mobile |
| Issues Detected | {N} |
| Issues Fixed | {M} |

## Detected Issues

### [P1] {Issue Title}

- **Page**: {Page path}
- **Element**: {Selector or description}
- **Issue**: {Detailed description of the issue}
- **Fixed File**: `{File path}`
- **Fix Details**: {Description of changes}
- **Screenshot**: Before/After

### [P2] {Issue Title}
...

## Unfixed Issues (if any)

### {Issue Title}
- **Reason**: {Why it was not fixed/could not be fixed}
- **Recommended Action**: {Recommendations for user}

## Recommendations

- {Suggestions for future improvements}

必要な機能

機能説明必須
Web ページのナビゲーションURL へのアクセス、ページ遷移✅
スクリーンショットの撮影ページ画像の撮影✅
画像分析視覚的な問題の検出✅
DOM の取得ページ構造の取得推奨
ファイルの読み書きソースコードの読み取りと編集修正に必須
コード検索プロジェクト内のコード検索修正に必須

リファレンス実装

Playwright MCP による実装

このスキルのリファレンス実装として、Playwright MCP を推奨します。

機能Playwright MCP ツール目的
ナビゲーションbrowser_navigateURL へのアクセス
スナップショットbrowser_snapshotDOM 構造の取得
スクリーンショットbrowser_take_screenshot目視確認用の画像
クリックbrowser_clickインタラクティブ要素の操作
リサイズbrowser_resizeレスポンシブテスト
コンソールbrowser_console_messagesJS エラーの検出
設定例(MCP サーバー)
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest", "--caps=vision"]
    }
  }
}
その他の互換性のあるブラウザー自動化ツール
ツール特徴
Selenium幅広いブラウザーと言語をサポート
PuppeteerChrome/Chromium に特化、Node.js
CypressE2E テストとの統合が容易
WebDriver BiDi標準化された次世代プロトコル

これらのツールでも同じワークフローを実装できます。必要な機能(ナビゲーション、スクリーンショット、DOM の取得)が備わっていれば、使用するツールは柔軟に選べます。


ベストプラクティス

DO(推奨)
  • ✅ 修正を行う前に、必ずスクリーンショットを保存します
  • ✅ 一度に 1 つの問題を修正し、それぞれを検証します
  • ✅ プロジェクトの既存のコードスタイルに従います
  • ✅ 大規模な変更を行う前に、ユーザーに確認します
  • ✅ 修正の詳細を十分に記録します
DON'T(非推奨)
  • ❌ 確認を得ずに大規模なリファクタリングを行う
  • ❌ デザインシステムやブランドガイドラインを無視する
  • ❌ パフォーマンスを考慮しない修正を行う
  • ❌ 複数の問題を一度に修正する(検証が困難になります)

トラブルシューティング

問題:スタイルファイルが見つからない
  1. package.json の依存関係を確認します
  2. CSS-in-JS の可能性を検討します
  3. ビルド時に CSS が生成される可能性を検討します
  4. ユーザーにスタイリング方法を確認します
問題:修正が反映されない
  1. 開発サーバーの HMR が動作しているか確認します
  2. ブラウザーのキャッシュを消去します
  3. プロジェクトでビルドが必要な場合は、再ビルドします
  4. CSS の詳細度に関する問題を確認します
問題:ほかの領域にも影響する修正
  1. 変更をロールバックします
  2. より具体的なセレクターを使用します
  3. CSS Modules またはスコープ付きスタイルの使用を検討します
  4. 影響範囲を確認するため、ユーザーに相談します

コメント