| name | agent-browser |
| user-invocable | false |
| description | Agent Browser(Headlessブラウザ自動化CLI)を使ったUI検証・E2Eテスト・スクリーンショット取得の判断軸。アクセシビリティツリーベースの要素選択を優先し、壊れにくいテスト設計を目指す。 |
Agent Browser Skill
参照(公式)
- GitHub
- インストール:
npm install -g agent-browser && agent-browser install
発火条件
doc/input/rdd.md に Agent Browser や E2Eテスト UI検証 が記載されている場合、このSkillの方針をデフォルト採用する。
- 記載がなくても、ユーザーの依頼がブラウザ自動化/UI確認/スクリーンショット比較/E2Eテストに該当するなら適用する。
このSkillの基本方針
- 基本方針: AIエージェント向けHeadlessブラウザCLI。UI検証・E2Eテスト・視覚的確認に使う。
- 要素選択: アクセシビリティツリー(
@e1 等)やセマンティックロケータ(role/label)を優先。CSSセレクタは最終手段。
- テスト設計: 壊れにくいテストを書く。実装詳細(class名/id)に依存しない。
- パフォーマンス: グローバルインストール(
npm i -g)を推奨。npx 経由はNode.jsフォールバックで遅い。
思想(判断ルール)
- アクセシビリティファースト: 要素はrole/label/textで特定する。CSSセレクタ依存はリファクタに弱い。
- 最小スコープ: テストはユーザー操作単位で小さく。ページ全体の網羅より重要フローの確認を優先。
- スクリーンショットは証拠: 視覚的な確認が必要な場面では積極的に撮る。差分検証でリグレッションを防ぐ。
- 待機は明示的に: 暗黙の
sleep を避け、要素の出現/状態変化を待つ。
主要コマンド(よく使うもの)
ページ操作
agent-browser open <url>
agent-browser goto <url>
agent-browser screenshot [file]
agent-browser pdf [file]
要素操作
agent-browser click <selector>
agent-browser fill <selector> <text>
agent-browser press <key>
agent-browser scroll <direction>
要素選択の優先順位
agent-browser click "role=button[name='Submit']"
agent-browser fill "role=textbox[name='Email']" "test@example.com"
agent-browser click @e1
agent-browser click "text=ログイン"
agent-browser click "#submit-btn"
情報取得
agent-browser text [selector]
agent-browser title
agent-browser url
agent-browser count <selector>
デバイス・環境設定
agent-browser --viewport 375x812
agent-browser --device "iPhone 15"
agent-browser --color-scheme dark
出力フォーマット(必ずこの順)
- 推奨方針(1〜3行)
- 理由(テスト安定性 / 保守性 / ユーザー視点)
- 設計案(テスト対象フロー / 要素選択戦略 / スクリーンショット計画 / 環境設定)
- チェックリスト(実装前に確認)
- 落とし穴(避けるべき)
- 次アクション(小さく試す順)
チェックリスト
よくある落とし穴
npx agent-browser で毎回起動すると遅い(グローバルインストール推奨)
- CSSクラス名に依存したセレクタがリファクタで全壊する
sleep(3000) のような固定待機はCI環境で不安定になる
- スクリーンショット差分がフォントレンダリングの差で誤検知する(閾値設定が必要)
- Headless環境でのビューポートサイズ未指定でレイアウトが実機と異なる