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 nokey@localhost.run 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.