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

parakeet-stt

carlulsoe

Local speech-to-text with NVIDIA Parakeet TDT 0.6B v3 (ONNX on CPU). 30x faster than Whisper, 25 languages, auto-detection, OpenAI-compatible API. Use when transcribing audio files, converting speech to text, o...

OpenClaw

feishu-process-feedback

carlzhao007

飞书消息自动处理与进度反馈技能。安装后后台运行,监听飞书任务消息并自动创建独立进程处理。 在处理前后发送实时进度反馈(任务确认、进度百分比、完成通知)。 支持任务类型识别、智能解析、错误重试、并发控制、状态持久化...