Search

PythonReactSEOPDF
OpenClaw

pokemon-red

Play Pokemon Red autonomously via PyBoy emulator. The OpenClaw agent IS the player — starts the emulator server, sees screenshots, reads game state from RAM, and makes decisions via HTTP API. Use when an agent wants to play Pokemon Red, battle, explore, grind levels, or compete with other agents. Requires Python 3.10+, pyboy, and a legally obtained Pokemon Red ROM.

drbarq0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install drbarq/pokemon-red

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Pokemon Red — You Are the Trainer

You play Pokemon Red directly. No middleman script. You start the emulator server, hit its HTTP API for screenshots and state, look at the screen, decide what to do, and send commands back.

Setup (first time)

Clone the repo and install dependencies:

git clone https://github.com/drbarq/Pokemon-OpenClaw.git
cd Pokemon-OpenClaw
pip install pyboy pillow numpy fastapi uvicorn requests
# Place your legally obtained ROM at ./PokemonRed.gb

Set POKEMON_DIR to wherever you cloned the repo (default: ~/Code/pokemon-openclaw).

Start a Session

# Start emulator server (background process)
cd $POKEMON_DIR && python scripts/emulator_server.py --save ready --port 3456

Turn Loop

Every turn, do these in order:

1. Get state + screenshot
curl -s http://localhost:3456/api/state
curl -s http://localhost:3456/api/screenshot -o /tmp/pokemon_current.png

Then use the image tool to look at the screenshot. Always look before acting.

2. Decide: Navigate or Manual?

Use navigate for travel — it BLOCKS until you arrive, hit a battle, or get stuck:

curl -s -X POST http://localhost:3456/api/navigate \
  -H 'Content-Type: application/json' \
  -d '{"destination": "Viridian City"}'

Navigate returns one of:

  • "status": "arrived" — you're there! Continue quest.
  • "status": "battle" — wild encounter interrupted. Fight it, then navigate again.
  • "status": "stuck" — couldn't reach destination. Try manual buttons or different route.
  • "status": "error" — unknown destination or no path. Check destinations list.

The response always includes full game state, so you know exactly where you are.

Important: Navigate blocks — set a long timeout (60-120s) on the curl call.

Check available destinations first:

curl -s http://localhost:3456/api/destinations

Check which maps have pathfinding data:

curl -s http://localhost:3456/api/maps

**Fall back to manual...

Source information

Source
github
Repository
openclaw/skills
Path
skills/drbarq/pokemon-red
Version
—
Commit
9e46b310b246a503d83af81b8f6c1ec8a6b98824
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# Pokemon Red — You Are the Trainer

You play Pokemon Red directly. No middleman script. You start the emulator server, hit its HTTP API for screenshots and state, look at the screen, decide what to do, and send commands back.

## Setup (first time)

Clone the repo and install dependencies:
```bash
git clone https://github.com/drbarq/Pokemon-OpenClaw.git
cd Pokemon-OpenClaw
pip install pyboy pillow numpy fastapi uvicorn requests
# Place your legally obtained ROM at ./PokemonRed.gb
```

Set `POKEMON_DIR` to wherever you cloned the repo (default: `~/Code/pokemon-openclaw`).

## Start a Session

```bash
# Start emulator server (background process)
cd $POKEMON_DIR && python scripts/emulator_server.py --save ready --port 3456
```

## Turn Loop

Every turn, do these in order:

### 1. Get state + screenshot
```bash
curl -s http://localhost:3456/api/state
curl -s http://localhost:3456/api/screenshot -o /tmp/pokemon_current.png
```
Then use the `image` tool to look at the screenshot. **Always look before acting.**

### 2. Decide: Navigate or Manual?

**Use navigate for travel** — it BLOCKS until you arrive, hit a battle, or get stuck:
```bash
curl -s -X POST http://localhost:3456/api/navigate \
  -H 'Content-Type: application/json' \
  -d '{"destination": "Viridian City"}'
```

Navigate returns one of:
- `"status": "arrived"` — you're there! Continue quest.
- `"status": "battle"` — wild encounter interrupted. Fight it, then navigate again.
- `"status": "stuck"` — couldn't reach destination. Try manual buttons or different route.
- `"status": "error"` — unknown destination or no path. Check destinations list.

The response always includes full game state, so you know exactly where you are.

**Important:** Navigate blocks — set a long timeout (60-120s) on the curl call.

Check available destinations first:
```bash
curl -s http://localhost:3456/api/destinations
```

Check which maps have pathfinding data:
```bash
curl -s http://localhost:3456/api/maps
```

**Fall back to manual...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

0protocol

0isone

Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.

OpenClaw

0x0-messenger

eijiac24

Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.