pokemon-player

Plays Pokemon games via headless PyBoy emulation with RAM state reads and screenshot verification.

1|Updated Jun 19, 2026
One-click install
npx skills add https://github.com/Lento47/arcana-community --skill pokemon-player-lento47
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pokemon-player
Source: https://github.com/Lento47/arcana-community/tree/main/skills/gaming/pokemon-player
Command: npx skills add https://github.com/Lento47/arcana-community --skill pokemon-player-lento47

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pokemon-agent, pyboy.

What problem does it solve? Playing a Game Boy Pokemon game autonomously requires reading emulator memory, interpreting the screen, and issuing controller inputs reliably. This Skill provides a complete operational playbook for running a headless Pokemon agent, navigating the game world, battling, and saving progress without getting lost or stuck. ## Core Features & Use Cases - Headless Game Server: Starts the pokemon-agent server with a user-provided ROM, exposing REST endpoints for state, screenshots, actions, and save states. - Observe-Decide-Act Loop: Combines RAM state reads with vision-based screenshot analysis to navigate maps, handle dialog, and fight battles with short verified action sequences. - Save State Management: Saves progress before risky encounters and resumes sessions via named save states. - Use Case: A user says "play pokemon" and the agent boots Pokemon Red, shares a live dashboard URL via a localhost.run tunnel, and autonomously progresses through gyms while recording milestones to memory. ## Quick Start Say "play pokemon" and provide your own Game Boy ROM file so the agent can start the emulator server and share a live dashboard link.

Frequently Asked Questions about pokemon-player

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make an AI play Pokemon with an emulator?▼

Use the pokemon-agent package, which wraps PyBoy in a headless server exposing REST endpoints for game state, screenshots, and controller actions. Start it with a ROM file, then loop through observing state, deciding actions, and verifying movement with screenshots.

How to set up pokemon-agent with PyBoy?▼

Clone the NousResearch/pokemon-agent repository, create a Python 3.10+ virtual environment with uv or venv, and install the package in editable mode with the pyboy extra. Then run pokemon-agent serve with --rom pointing to your ROM and --port 9876.

Can I use any Pokemon ROM with the emulator?▼

The agent supports Game Boy ROMs such as Pokemon Red, Blue, and Yellow in .gb, .gbc, or .gba formats. You must supply your own legally obtained ROM file; the Skill never downloads or provides ROMs.

Why does the AI get lost while navigating in Pokemon?▼

RAM state only reports position and HP, not surrounding obstacles like ledges, doors, or NPCs. Without frequent screenshot verification every 2-4 steps, movement sequences overshoot or loop, so vision checks after each short action batch are required.

How do save states work in pokemon-agent?▼

POST to the /save endpoint with a descriptive name to snapshot the game, and POST to /load to restore it. You can also pass --load-state at server startup to resume directly, and GET /saves lists all available states.