A tiny platformer with a double jump, in three prompts
We asked Claude Code for a browser platformer, then a double jump. It measured its own jumps, and fixed the one we said felt too strong. Play the result.
This is the real result. Click it and play. Open full screen
What we asked“Add a double jump. Keep the numbers easy to tune, and check it works.”
What happened
- Used the game-feel skill
- Wrote index.html
- Ran the game: no errors
- Took a screenshot
- Measured a held jump and a tapped jump
- Raised the jump strength
- Ran the game again: no errors
- Edited index.html
- Measured single, double and triple jumps
- Ran the game: no errors
- Took a screenshot
- Tried the second press at many timings: best 215px
- Lowered AIR_JUMP_VELOCITY
- Tried to skip the first platform 18 ways
- Took a screenshot
We started with an empty folder and one small skill file, then asked Claude Code for a platformer in plain words. It wrote the whole game as one web page, opened it in a hidden browser, took a screenshot, and measured how high the square could jump. The jump was barely high enough to reach the first platform, so it made the jump a little stronger on its own and told us which number it changed.
The double jump took one more sentence. Claude added two numbers at the top of the file: how many extra jumps you get, and how strong they are. Then it tested a single jump, a double jump and a triple jump, to check that the third press did nothing. When we played it ourselves, the second jump was too strong. From the ground you could jump straight past the first platform onto the second one.
We recorded one of Claude's skip-test jumps in the real game, shown at half speed. It starts on the ground beside the second platform, and the second press comes at 0.4 seconds. Only the second-jump strength changes. Heights and the 18 tries are from Claude's own tests.
We told Claude exactly that. It worked out the highest a double jump could go, lowered the second jump from 520 to 320, and tried to skip the first platform 18 different ways. It also admitted that its first version of that test was broken. The square hit its head on the platform and never landed, even with the old, too-strong number, so it fixed the test before trusting it. For this page we made one change of our own: we added a “click to play” screen and loaded Phaser from the site instead of the internet. The game itself is exactly what Claude wrote.
The skill that made it work
It makes Claude open the game and look at it after every change, instead of only writing code, and tell you which numbers it changed.
- Keep every tuning number (speed, gravity, jump strength, and so on) as a named constant at the top of the game file.
- After each change, open the game in a headless browser with Playwright (installed globally; `require('playwright')` works) and take a screenshot to check it runs without console errors.
- Tell me which numbers you changed and why.
Save it as .claude/skills/game-feel/SKILL.md in your project.

