con un clic
play-game
// ブラウザゲームを自動プレイするスキル。agent-browserを使ってローカルまたはオンラインのHTML/JSゲームをプレイします。倉庫番、オセロ、五目並べなど。
// ブラウザゲームを自動プレイするスキル。agent-browserを使ってローカルまたはオンラインのHTML/JSゲームをプレイします。倉庫番、オセロ、五目並べなど。
Creates browser-based board games (Othello, Gomoku, Chess, etc.) with HTML/CSS/JS. Use when the user wants to create a new board game, implement game logic, or add AI opponents.
背景透過された画像を生成する。Gemini APIで画像生成後、WaveSpeed AI (Bria) で背景を自動透過。透過PNG、切り抜き画像、背景なし画像の生成に使用。
ゲームを実際にプレイしてクリアできるか検証し、詰まった場合は原因を特定・修正するスキル。
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Gemini APIを使用して画像を生成します。テキストプロンプトからの画像生成が可能です。
| name | play-game |
| description | ブラウザゲームを自動プレイするスキル。agent-browserを使ってローカルまたはオンラインのHTML/JSゲームをプレイします。倉庫番、オセロ、五目並べなど。 |
| allowed-tools | Bash(agent-browser:*), Bash(npm install -g agent-browser*), Bash(chmod +x*), Bash(python3 -m http.server*), Bash(lsof -i:*), Bash(kill *), Bash(mkdir -p logs*) |
ブラウザゲームを自動プレイするためのスキルです。
ゲーム情報の確認方法について:
README.md からのみ確認できますREADME.md 以外のファイル(script.js、style.css、index.html など)は読むことが禁止されていますREADME.md に記載された情報と、実際にゲームを動かして得られる情報のみを使用してください# 1. インストール確認
agent-browser --version 2>&1 || npm install -g agent-browser
# 2. バイナリに実行権限を付与(重要!)
chmod +x $(npm root -g)/agent-browser/bin/agent-browser-darwin-* 2>/dev/null
# 3. Chromiumインストール
agent-browser install 2>&1 | tail -5
npm install -g agent-browser && chmod +x $(npm root -g)/agent-browser/bin/agent-browser-darwin-* && agent-browser install
# ゲームディレクトリでサーバー起動(バックグラウンド)
cd /path/to/game && python3 -m http.server 8888 &
# --headed オプションでブラウザウィンドウを表示(ゲームの様子が見える)
agent-browser --headed open http://127.0.0.1:8888/index.html
!!!! 最重要 !!!! 絶対に
--headedオプションを付けてください。--headedを付けないとヘッドレスモード(画面非表示)で動作し、ゲームの様子が視聴者に見えません。 ヘッドレスモードでのプレイは厳禁です。必ずagent-browser --headed open ...の形式で起動してください。
mkdir -p logs
agent-browser screenshot "logs/$(date +%Y%m%d-%H%M%S)_game.png"
スクリーンショットの保存ルール:
- すべてのスクリーンショットは
logs/ディレクトリに保存してください- ファイル名は必ず
YYYYMMDD-HHMMSS_名前.png形式にしてください- 例:
logs/20260202-143025_initial.png,logs/20260202-143130_result.png- シェルでの生成:
agent-browser screenshot "logs/$(date +%Y%m%d-%H%M%S)_名前.png"- プロジェクトルートや
/tmp/に保存しないでください
# ゲームのグローバル変数を探す
agent-browser eval "typeof game"
agent-browser eval "Object.keys(game).join(', ')"
# 例: 倉庫番の場合
agent-browser eval "game.move('right')"
agent-browser eval "game.move('up')"
# 例: オセロの場合
agent-browser eval "game.handleCellClick(3, 4)"
# ゲーム状態確認
agent-browser eval "JSON.stringify({player: game.playerPos, stage: game.currentStage})"
# 移動(方向: 'up', 'down', 'left', 'right')
agent-browser eval "game.move('right')"
# ステージクリア確認
agent-browser eval "game.isCleared()"
パズルの解き方のコツ:
# 有効な手を取得
agent-browser eval "JSON.stringify(game.getValidMoves(game.currentPlayer))"
# 石を置く
agent-browser eval "game.handleCellClick(row, col)"
# ゲーム終了確認
agent-browser eval "game.gameOver"
# 石を置く
agent-browser eval "game.handleCellClick(row, col)"
# 勝者確認
agent-browser eval "game.winner"
重要: ゲーム操作の前に必ず音声読み上げの完了を待ってから次の操作を行ってください。同期XHRでTTS完了を待機します。
# ❌ 悪い例:音声を待たずに全部実行
agent-browser eval "['right', 'right', 'down', 'left'].forEach(d => game.move(d))"
# ✅ 良い例:音声完了を待ってから実行
for dir in right right down left; do
agent-browser eval "var x=new XMLHttpRequest();x.open('GET','http://localhost:3000/api/tts/wait',false);try{x.send()}catch(e){}"
agent-browser eval "game.move('$dir')"
done
# 移動配列を定義してループで実行(音声同期あり)
moves="right right down left up"
for dir in $moves; do
agent-browser eval "var x=new XMLHttpRequest();x.open('GET','http://localhost:3000/api/tts/wait',false);try{x.send()}catch(e){}"
agent-browser eval "game.move('$dir')"
done
agent-browser eval "JSON.stringify(game)" --json
| 問題 | 解決策 |
|---|---|
game が undefined | agent-browser eval "Object.keys(window).filter(k => !k.startsWith('webkit'))" でグローバル変数を確認 |
| キー操作が効かない | eval でJavaScript直接操作を使用 |
| サーバーが起動しない | lsof -i:8888 でポート使用状況を確認、kill で終了 |
| スクリーンショットが真っ白 | agent-browser wait 2000 で待機してから撮影 |
# ポート8888を使用中のプロセスを確認
lsof -i:8888
# プロセスを終了
kill $(lsof -t -i:8888)
agent-browser close