소스 정보
- 저장소
- tegnike/ai-agent-game-streamer
- 최근 소스 활동
- 2026년 2월 9일 05:41
- 감지된 SKILL.md 언어
- 일본어
- 스타
- 0
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tegnike/ai-agent-game-streamer --skill play-game명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| 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