← ClaudeAtlas

qa-uilisted

実装完了後の UI を検証したいとき、または「UI を確認して」「QA して」「画面の動作確認」と頼まれたときに使用。ChromeDevTools MCP を使い、独立コンテキストの QA エージェントが画面を操作して AC 単位で pass/fail を判定する。
YasuakiOmokawa/skills · ★ 1 · Web & Frontend · score 75
Install: claude install-skill YasuakiOmokawa/skills
# UI QA Loop ChromeDevTools MCPを使い、独立コンテキストのQAエージェントでUI検証を行う。 Generator-Evaluator分離: 実装した自分自身ではなく、別エージェントが画面を見て判定する。 ## Arguments - `$ARGUMENTS`: 確認したい画面やURL(省略可) - 指定あり: 指定された画面を優先的に検証 - 指定なし: ACファイルまたはgit diffから自動特定 ## ワークフロー ### Step 1: ChromeDevTools MCP接続確認 `mcp__chrome-devtools-direct__list_pages` を呼び出す。 - 成功 → Step 2 へ - 失敗 → 以下を表示して**停止**: 「ChromeDevTools MCPに接続できません。Chromeが起動しているか確認してください。」 ### Step 2: 検証対象 URL の決定 + 開発サーバー確認 + ログイン 1. **検証対象 URL の決定**(URL のハードコード禁止): - `$ARGUMENTS` に完全な URL が含まれる → そのまま採用 - `$ARGUMENTS` がパスの��(`/teams/123/foo` 等) → ベース URL をユーザーに尋ねて結合 - `$ARGUMENTS` が空 → 以下を表示して**停止し、ユーザーの返答を待つ**: 「検証対象のベース URL を教えてください(例: `http://localhost:3000` / staging URL 等)。」 2. `mcp__chrome-devtools-direct__navigate_page` で決定した URL にアクセス 3. `mcp__chrome-devtools-direct__take_snapshot` で画面状態を確認 4. 判定: - ログイン済み(「でログイン中」の文字列がある) → そのまま進行 - ログイン画面が表示された → 以下を表示して**停止し、ユーザーの返答を待つ**: 「ブラウザで対象環境にログインしてから「ログインしました」と返答してください。検証はその後に再開します。」 ユーザーから合図を受けたら `take_snapshot` で再確認し、ログイン済みなら進行。 - 接続失敗(`net::ERR_CONNECTION_RESET` 等) → 以下を表示して**停止**: 「対象サーバーに接続できません({URL})。サーバーが起動しているか、URL が正しいか確認してください。」 - DB未起動(`ActiveRecord::ConnectionNotEstablished`) → 以下を表示して**停止**: 「PostgreSQLが起動していません。DBを起動してから再実行してください。」 - Pending Migration画面(`ActiveRecord::PendingMigrationError`) → 「Run pending migrations」ボタンを `click` して待機後にリロードして再確認 ⚠️ **URL・認証情報のハードコード禁止**。検証対象 URL は `$ARGUMENTS` またはユーザーへの質問で動的決定する。ログイン操作とテストユーザー選択はユーザー