by levy-street
Pokémon Red, rebuilt from raw pixels by Claude Opus 5.5. Every sprite, tile, battle effect and song is code: zero image files. Plays in the browser.
# Add to your Claude Code skills
git clone https://github.com/levy-street/pokemon-claude-redGuides for using ai agents skills like pokemon-claude-red.
See how pokemon-claude-red compares with popular alternatives.
pokemon-claude-red is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by levy-street. Pokémon Red, rebuilt from raw pixels by Claude Opus 5.5. Every sprite, tile, battle effect and song is code: zero image files. Plays in the browser. It has 53 GitHub stars.
pokemon-claude-red's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/levy-street/pokemon-claude-red" and add it to your Claude Code skills directory (see the Installation section above).
pokemon-claude-red is primarily written in JavaScript. It is open-source under levy-street on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh pokemon-claude-red against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
The whole project started from one message typed into Claude Code:
using only pixels directly remake a beautiful pokemon red remake but with better graphics, environments and vfx. visualise everything perfectly as pixel art using raw pixels. absolute pixel art perfection. keep the story exactly as pokemon red (research on web for all dialogue etc)
Everything in this repository grew from that sentence, followed by a few days of playing it and asking for fixes.
Screenshots are rendered by the game itself and live on the media branch, so main stays 100% code.
Play it in your browser at claudered.dev, on a computer or a phone.
To run it yourself, there's no install and no build step. Clone the repo and open index.html in a browser.
git clone https://github.com/levy-street/pokemon-claude-red.git
cd pokemon-claude-red
open index.html # or double-click it
To run the full site (email sign-up, accounts with cloud saves, the hit counter), serve it with the bundled server. It needs only Python 3:
node tools/build_dist.js # bundles index.html + src/ into dist/
python3 tools/serve.py # http://localhost:8784
| Keyboard | Touch | Gamepad | |
|---|---|---|---|
| Move / navigate | Arrow keys or WASD | D-pad, or tap a tile to walk there | D-pad / left stick |
| A: talk, confirm | Z, J or Space | A, or tap a person, sign or menu item | A |
| B: cancel, hold to run | X, K, Backspace or Esc | B | B |
| START: menu | Enter | START | Start |
| SELECT | Shift or C | SELECT | Select |
On a computer, the mouse also works: click to walk or pick menu entries, right-click for B or the START menu, and scroll lists with the wheel. Progress saves to the browser. An optional free account keeps a copy on the server, so the game survives in-app browsers that wipe storage and can move between devices.
Uint32Array), then scales it up with crisp nearest-neighbour pixels.A live link battle runs in both players' browsers at once. Each game shows its own team at the bottom and sends only
its picks (a move, a switch, a replacement) through the server. Both games roll from the same random seed, so they
work out identical turns. Each turn the host also sends a checksum and a snapshot of the battle, and if the other game
ever drifts it takes the host's numbers. node tools/pvpfuzz.js battles two copies of the game against each other
to check they stay in step.
The old man's catching demo in Viridian City backs your name up into the memory that holds the area's wild Pokémon list. Only maps that have grass encounters overwrite that list. The shore squares just east of Cinnabar Island take their encounter rate from the water, but their Pokémon list from that leftover memory.
The letters of your name, read as level/species bytes, decide what appears: MISSINGNO., 'M, and sometimes a Lv 132 Mewtwo. Meeting MissingNo. adds 128 to the sixth item in your bag.
index.html the page: canvas, phone controller, account box, script list
src/core/ framebuffer + drawing primitives, pixel font, input, main loop, audio synth + GB sequencer
src/art/ procedural renderers: terrain, buildings, interiors, characters, Pokémon, battle scenes, VFX
src/data/ maps, species, moves, trainers, music (converted from pokered), dialogue, Pokémon shape files
src/game/ overworld, battles, menus, PC, bag, Pokédex, Social Zone, sharing, cloud saves, glitches
src/scripts/ the story, map by map, following Red's event scripts
tools/ data converters, headless runner, fuzzers, map/sprite/VFX sheet renderers, the site server
docs/ how maps, sprites, dialogue and story scripts are authored
It's plain JavaScript loaded with classic <script> tags. There are no frameworks and no bundler, and it runs from file://.
Map layouts, collision, warps, trainers, wild encounters, species, moves and the music's note data are converted from the [pret/pokered](h