Level Lab adds a level generator and an in-browser level editor to a single-file HTML5
game. It writes an ordered, difficulty-ramped level set, lets you edit and re-export any
level by hand, and inlines all of it into the same .html file — no server,
no extra assets.
npx @krackzzz/level-lab@latest
Two overlays and a runtime, inlined straight into your game file.
A 30-level set by default on an Easy/Easy/Medium/Easy/Hard repeating curve, difficulty rising to a target by the last level. Every level is checked for validity before it ships.
Open any level number, edit the board by hand, get a live validity check, then save, export, or revert.
Choose which levels introduce each obstacle type. The engine paces re-appearances so difficulty ramps instead of spiking.
Pull a single level or the whole set out as JSON/ZIP, edit outside the game, and bring it back in as the new persistent set.
A small adapter declares one game's difficulty levers (board size, colors, blockers, move budget…). Two ship out of the box; new games just need a new adapter.
Everything — engine, UI, adapters — gets inlined into the target .html. State persists to localStorage, same as the rest of the game.
Install the skill with one command — it registers itself with Claude Code, Cursor, and/or GitHub Copilot CLI.
Point it at a game — "add a level generator and editor to coil-merge.html" — or write an adapter first if the game is new to Level Lab.
It inlines the runtime into the game file and generates the default level set from the adapter's difficulty levers.
It verifies headlessly — a driver script checks curve, blocker pacing, and level validity without needing a browser.
Under the hood:
Node.js 16+. Python 3 is optional, only needed for a local browser preview.