Claude Code, Cursor & GitHub Copilot CLI skill

Turn any H5 game into one with real levels.

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

What it adds

Two overlays and a runtime, inlined straight into your game file.

01

Level generator

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.

02

Level editor

Open any level number, edit the board by hand, get a live validity check, then save, export, or revert.

03

Blocker introduction

Choose which levels introduce each obstacle type. The engine paces re-appearances so difficulty ramps instead of spiking.

04

Import / export

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.

05

Adapter-based, not game-specific

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.

06

No build step

Everything — engine, UI, adapters — gets inlined into the target .html. State persists to localStorage, same as the rest of the game.

How it works

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 scripts/inject.mjs your-game.html --game liquidout --inplace --count 30 node scripts/drive.mjs --game liquidout --count 30 # headless verification

Requirements

Node.js 16+. Python 3 is optional, only needed for a local browser preview.