pokemon-player

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

Updated Jul 3, 2026
One-click install
npx skills add https://github.com/CHENHUI-X/toolbox --skill pokemon-player-chenhui-x
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pokemon-player
Source: https://github.com/CHENHUI-X/toolbox/tree/main/custom-skills/gaming/pokemon-player
Command: npx skills add https://github.com/CHENHUI-X/toolbox --skill pokemon-player-chenhui-x

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pokemon-agent, pyboy.

What problem does it solve? Playing Pokemon autonomously requires coordinating emulator control, game state reading, visual navigation, and battle strategy, which is difficult to manage manually through trial and error. ## Core Features & Use Cases - Headless Emulation Control: Runs Pokemon games through the pokemon-agent server built on PyBoy, exposing HTTP endpoints for state, screenshots, actions, and saves. - Vision-Guided Navigation: Combines RAM state reads with screenshot analysis to handle ledges, warps, building exits, and dialog that RAM data alone cannot detect. - Battle and Progression Strategy: Provides Gen 1 type matchups, run/fight decision trees, save/load discipline, and memory conventions for tracking objectives and team status. - Use Case: A user says "play pokemon" and the AI starts the emulator server, opens a live dashboard tunnel, then plays through Pokemon Red—navigating routes, battling trainers, and saving before gym fights. ## Quick Start Ask the AI to play pokemon with your ROM file and it will start the emulator server and begin playing.

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 built on PyBoy to run a headless emulator server, then send actions through its HTTP API. Read game state via GET /state, take screenshots for spatial awareness, and POST short action sequences like walk_up or press_a.

How to automate Pokemon gameplay with PyBoy?

PyBoy exposes RAM reads and button inputs that pokemon-agent wraps into a REST server on port 9876. Start it with pokemon-agent serve --rom your_rom.gb --port 9876, then loop through observe, decide, act, and verify steps using the /state, /screenshot, and /action endpoints.

Can I use my own Pokemon ROM with this setup?

Yes, you must supply your own legally obtained ROM file (.gb, .gbc, or .gba). The skill never downloads or provides ROM files, so you point the server at your local ROM path with the --rom flag.

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

RAM state reports position and HP but not surrounding obstacles like ledges, fences, or doors. Take a screenshot every 2-4 movement steps and use vision analysis to verify position, and add wait actions after door or stair warps.

How do I save and resume progress in an emulated Pokemon game?

POST to /save with a descriptive name like before_brock to store the emulator state, and POST to /load or use the --load-state flag at server startup to resume. Save every 15-20 turns and always before gym battles or risky encounters.