claude-player
An AI-powered Game Boy emulator agent that uses Claude's vision and reasoning to autonomously play Game Boy games.
Best use case
claude-player is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
An AI-powered Game Boy emulator agent that uses Claude's vision and reasoning to autonomously play Game Boy games.
Teams using claude-player should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/claude-player/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How claude-player Compares
| Feature / Agent | claude-player | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
An AI-powered Game Boy emulator agent that uses Claude's vision and reasoning to autonomously play Game Boy games.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# ClaudePlayer An AI agent that plays Game Boy games autonomously using Claude's vision capabilities and the PyBoy emulator. ## Overview ClaudePlayer connects Claude to a Game Boy emulator. Each turn, Claude receives a screenshot of the current game frame, reasons about what to do, and sends button inputs back to the emulator. It maintains a structured memory system to track game progress (items, NPCs, locations, quests, stats). ## Prerequisites - Python 3.10+ - Pipenv - An Anthropic API key - A Game Boy ROM file (`.gb`) ## Setup ```bash # Install dependencies pipenv install # Create .env with your API key echo "ANTHROPIC_API_KEY=your_key_here" > .env # Place a Game Boy ROM in the project directory ``` ## Configuration Edit `config.json`: | Key | Description | Default | |-----|-------------|---------| | `ROM_PATH` | Path to Game Boy ROM | Required | | `STATE_PATH` | Saved emulator state file | `null` | | `EMULATION_MODE` | `"turn_based"` or `"continuous"` | `"turn_based"` | | `MODEL_DEFAULTS.MODEL` | Claude model to use | `"claude-sonnet-4-5-20250929"` | | `MODEL_DEFAULTS.THINKING` | Enable extended thinking | `true` | | `RATE_LIMITS.RPM_THRESHOLD` | Requests per minute limit | Configured in file | | `RATE_LIMITS.TPM_THRESHOLD` | Tokens per minute limit | Configured in file | | `REDIS_LOGS` | Optional Redis logging config | `null` | ## Running ```bash pipenv shell # Default config python play.py # Custom config python play.py --config my_config.json # Create a saved emulator state python emu_setup.py ``` ## Project Structure | Path | Purpose | |------|---------| | `play.py` | Launcher script | | `claude_player/main.py` | CLI entry point with arg parsing | | `claude_player/agent/game_agent.py` | Main orchestrator: emulator init, game loop, coordination | | `claude_player/interface/claude_interface.py` | Claude API communication and rate limiting | | `claude_player/state/game_state.py` | Game state tracking (memory, goals, history) | | `claude_player/tools/tool_setup.py` | Tool definitions (send_inputs, memory ops, etc.) | | `claude_player/tools/tool_registry.py` | Tool registry system | | `claude_player/config/config_loader.py` | Config file parsing | | `claude_player/config/config_class.py` | Configuration data class | | `claude_player/utils/game_utils.py` | Button input parsing, screenshot capture | | `claude_player/utils/memory_reader.py` | Game memory/stats reader | | `claude_player/agent/summary_generator.py` | Periodic game progress summarization | | `config.json` | Runtime configuration | ## Available Tools (for the agent during gameplay) | Tool | Description | |------|-------------| | `send_inputs` | Send button sequences to the emulator | | `set_game` | Identify the current game | | `set_current_goal` | Update the gameplay objective | | `add_to_memory` | Store items, NPCs, locations, quests, mechanics, stats | | `remove_from_memory` | Remove a memory entry | | `update_memory_item` | Update an existing memory entry | | `toggle_thinking` | Toggle extended thinking mode on/off | ## How It Works 1. PyBoy emulator loads the ROM and renders a frame 2. The frame is captured as a screenshot and sent to Claude 3. Claude analyzes the screen, reasons about the game state, and calls tools 4. `send_inputs` presses buttons on the emulator (A, B, Up, Down, Left, Right, Start, Select) 5. In turn-based mode, the emulator only advances when the agent acts 6. The agent maintains structured memory to track long-term game progress 7. Periodic summaries compress the conversation history to stay within context limits
Related Skills
claude-opus-4-5-migration
Migrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5. Use when the user wants to update their codebase, prompts, or API calls to use Opus 4.5. Handles model string updates and prompt adjustments for known Opus 4.5 behavioral differences. Does NOT migrate Haiku 4.5.
claude-config-management
Claude Code設定(リポジトリルート)の構成管理ガイド。ファイルレベルsymlinkによる設定管理、管理対象の追加・削除、Taskfileタスクの実行方法を提供する。「設定ファイルを追加して」「新しいスキルを追加して」「symlinkの状態を確認して」「Claude設定を変更して」のようにClaude Code設定の構成変更を行うときに使用する。
varlock-claude-skill
Secure environment variable management ensuring secrets are never exposed in Claude sessions, terminals, logs, or git commits
templar-miner-claude-skill
This skill should be used when setting up, optimizing, or managing Templar AI miners on Bittensor Subnet 3 (netuid 3). Use it for tasks involving miner configuration, performance optimization, troubleshooting gradient scoring issues, managing Bittensor wallets with btcli, monitoring miner metrics, renting GPUs via Basilica for mining operations, or strategizing to achieve top miner ranking in the Templar decentralized training network. Integrates seamlessly with the basilica-cli-helper skill for GPU rentals.
programmatic-claude
Run Claude Code programmatically via CLI (-p flag), Python SDK, or TypeScript SDK. For automation, CI/CD, session chaining, headless execution, and orchestrating multiple Claude instances. Triggers: programmatic, headless, CLI automation, session chaining, -p flag, Python SDK, orchestrate Claude, CI/CD Claude, run Claude automatically.
linear-claude-skill
Manage Linear issues, projects, and teams
claude-cli
Use claude CLI for interactive AI sessions, scripting with print mode, MCP server management, and plugin configuration. Master session management, tool control, and automation workflows.
playerhoods-database
Authoritative database governance, schema, and RPC invariant model for playerhoods.com (docs v1.4 aligned). Enforces club identity system and RPC-only write posture.
verify-claude-setup
Verify .claude directory configuration is complete and correct. Use when checking if agents, hooks, rules, and memory are properly set up, or after making changes to .claude configuration.
utils:find-claude-plugin-root
This skill should be used when the user needs to locate a plugin's installation path, when ${CLAUDE_PLUGIN_ROOT} doesn't expand in markdown files, or when invoked via /utils:find-claude-plugin-root. Generates a CPR resolver script at /tmp/cpr.py.
moai-foundation-claude
Canonical Claude Code skill authoring kit covering agent Skills, sub-agent templates, custom slash commands, orchestration patterns, hooks, memory, settings, and IAM permission rules aligned with official documentation.
ffuf-claude-skill
Web fuzzing with ffuf