pokemon-player

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

Updated Jul 10, 2026
One-click install
npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill pokemon-player-avatar-arts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pokemon-player
Source: https://github.com/AvaTar-ArTs/.Agent-skills/tree/main/skills/gaming/pokemon-player
Command: npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill pokemon-player-avatar-arts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pokemon-agent, pyboy.

What problem does it solve? Playing a Game Boy Pokemon game autonomously requires coordinating an emulator, reading game state, making navigation decisions, and recovering from mistakes. This Skill provides a complete operational playbook for running the pokemon-agent headless emulator server, observing game state through both RAM reads and screenshots, and progressing through the game reliably. ## Core Features & Use Cases - Headless Emulation Server: Starts the pokemon-agent server with a user-provided ROM, exposes REST endpoints for state, screenshots, actions, and save/load management. - Structured Gameplay Loop: Defines an observe-orient-decide-act-verify cycle combining RAM state data with vision-based screenshot analysis to avoid getting lost. - Battle and Progression Strategy: Includes Gen 1 type matchups, battle decision trees, save/load conventions, and gym-by-gym progression milestones. - Live Dashboard Sharing: Sets up an SSH reverse tunnel via localhost.run so the user can watch gameplay in a browser. - Use Case: A user says "play pokemon" and provides a Pokemon Red ROM; the Skill boots the emulator, shares a live dashboard URL, and plays through the game while saving progress before risky encounters. ## Quick Start Ask the assistant to play pokemon with your ROM file, for example by saying "play pokemon with my pokemon_red.gb ROM and show me the live dashboard".

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 runs a headless PyBoy emulator behind a REST server. Start it with pokemon-agent serve --rom your_rom.gb --port 9876, then drive gameplay through GET /state, GET /screenshot, and POST /action endpoints.

How do I let someone watch the AI play Pokemon in a browser?

Create an SSH reverse tunnel with ssh to [email protected] forwarding local port 9876 to remote port 80. The tunnel log prints a .lhr.life URL; append /dashboard/ and share it so the user can watch live gameplay.

Can I use pokemon-agent without providing my own ROM?

No. The Skill explicitly never downloads or provides ROM files; you must supply your own .gb, .gbc, or .gba ROM. The server is started with the --rom flag pointing at your file.

Why does the AI get lost or stuck while navigating in the game?

RAM state only reports position and HP, not surroundings like ledges, doors, or NPCs. The Skill requires taking a screenshot every 2-4 movement steps and verifying with vision analysis, plus waiting after warp transitions and sidestepping after exiting buildings.

How do I save and resume progress in a headless Pokemon session?

POST /save with a descriptive name like before_brock to snapshot the state, and POST /load or use the --load-state startup flag to resume. GET /saves lists all saved states, and saving is recommended every 15-20 turns and before risky battles.