agent-browser を使ったスクリーンショット撮影を支援する。セットアップ確認・自動インストール、Webページやローカルサーバーのスクショ、AWSマネジメントコンソールのスクショ(フェデレーションサインイン→撮影)、撮影後の機密情報マスク処理まで対応。「スクショ撮って」「スクリーンショット」「画面キャプチャ」「ブラウザで確認」「マネコンのスクショ」「AWSコンソールを撮影」「画像をマスク」「機密情報を隠して」など、ブラウザ操作やスクリーンショットに関するリクエストで使用する。PoC検証中の画面記録やブログ記事用の画像撮影にも自動的に使用すること。
$ARGUMENTS に応じて適切なアクションを実行するスクリーンショットを撮る前に、必ずセットアップチェックスクリプトを実行する:
uv run .agents/skills/screenshot/scripts/check-agent-browser.py
終了コードで状態を判定する:
| 終了コード | 状態 | 対応 |
|---|---|---|
| 0 | 全て利用可能 | そのまま撮影に進む |
| 1 | コマンド未導入 | ユーザーに agent-browser のインストール許可を求める(下記参照) |
| 2 | スキル未導入 | ユーザーに agent-browser スキルのインストール許可を求める(下記参照) |
| 3 | ブラウザ動作不可 | ユーザーに agent-browser install の実行を案内する |
勝手にインストールせず、必ずユーザーに確認を取ること。
コマンドが未導入の場合(終了コード 1):
ユーザーに「agent-browser をインストールしてよいですか?」と確認し、許可を得てから実行する:
npm install -g agent-browser && agent-browser install
スキルが未導入の場合(終了コード 2):
ユーザーに「agent-browser スキルをプロジェクトにインストールしてよいですか?」と確認し、許可を得てから実行する:
npx skills add vercel-labs/agent-browser --skill agent-browser --agent claude-code cursor --yes
インストール後、チェックスクリプトを再実行して全て通ることを確認する。
スクリーンショットを撮る前に、必ずユーザーに以下を確認する:
この合意なしに撮影しない。目的が曖昧なスクリーンショットはノイズになる。
例:
ユーザーへの確認: 「Lambda 関数の一覧画面のスクショを撮ります。
デプロイした関数が一覧に表示されていることが確認できれば OK です。
ブログ記事の『デプロイ確認』セクションで使います。よろしいですか?」
agent-browser open "https://example.com"
agent-browser screenshot /tmp/<説明的な名前>.png
agent-browser close
撮影したら Read ツールで画像を確認し、撮影前に合意した内容が映っているか判定する:
/tmp/ の画像を削除して終了内容確認と同時に、画像に機密情報が含まれていないか必ずチェックする。ユーザーの指示を待たず、撮影のたびに自動で行うこと。ユーザーが機密情報の映り込みに気づいていない可能性があるため、エージェント側で能動的に確認する。
チェック対象:
機密情報が見つかった場合:
ユーザーに具体的に報告し、画像パスを添えてユーザー自身が確認できるようにする。その上でマスクするかどうかを確認する:
この画像に以下の機密情報が映っています:
- AWS アカウント ID(右上ヘッダー)
- メールアドレス(ユーザー名の横)
画像を確認してください: /tmp/aws-lambda-function-list.png
マスク処理しますか?
ユーザーが許可したら、マスク処理を実行する。 詳細は references/mask-sensitive-info.md を参照。
機密情報が見つからなかった場合: そのままステップ 5 に進む。
AGENTS.md の「スクリーンショット画像」セクションに従って、正式な保存先に移動し、NOTES.md に記録する。
移動後、保存先パスをユーザーに伝えて最終確認できるようにする:
スクリーンショットを保存しました: poc/images/aws-lambda-function-list.png
AWS マネコンのスクショは認証が必要なため、フェデレーションサインイン URL を生成してからブラウザで開く。 詳細は references/aws-console-screenshot.md を参照。 撮影後の流れ(ステップ 3〜6)は基本フローと同じ。