Skip to content
Agentmart
Submit a tool

game-gen-with-data

Generate a runnable TypeScript game from a game description file, plus data.md and a state injection API for evaluation.

Skill by NetX-lab

IndexedMIT★ 3
Write a review

Chalk Labs

Need help deploying game-gen-with-data?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/netx-lab-game-gen-with-data

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Generate a runnable TypeScript game from a game description file, plus data.md and a state injection API for evaluation. Use when converting `descriptions_example/*.md` into a playable game project under `games/`.

Use cases: backend, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/game-gen-with-data

What's inside

Skill name
game-gen-with-data
Description
Generate a runnable TypeScript game from a game description file, plus data.md and a state injection API for evaluation. Use when converting `descriptions_example/*.md` into a playable game project under `games/`.
License
MIT
Instructions
310 lines in SKILL.md · view on GitHub

Files (3)

  • SKILL.md
  • data_md_example.md · references/
  • state_injection_api_example.md · references/

SKILL.md (first lines)

## Input

**Game description file path from the user request**

**Processing Steps:**
1. Resolve description path in this order:
   - Use the explicit path provided in the request.
   - If missing and there is exactly one candidate under `descriptions_example/**/*.md`, use it.
   - Ask the user only when multiple candidates remain ambiguous.
2. Read the resolved `.md` file content
3. Extract the game name from the file path (removing the .md extension) to use as the game project folder name
4. Create the folder under the `games/` directory (e.g., `games/shooter_game/`)
5. Implement the entire game project within that folder

## Task Overview

You are a professional game development expert. Your task is to generate a complete, runnable game based on the user's description. Additionally, to support automated evaluation, you need to document the game's state parameters and provide an API in the code to modify these parameters.

Contract references:
- Canonical API contract: `docs/inter_skills_structure.md`
- Workflow graph and orchestration semantics: `docs/agentic_workflow_graph_api.md` (non-canonical)

The generated game must be:
1. **Fully functional** - All features described in the game description must work correctly
2. **Runnable** - The game can be launched and played immediately without additional setup
3. **Testable** - State parameters are accessible and modifiable for automated testing

## Architectural Requirement: Pluggable Eval Adapter

The evaluation-facing hooks MUST be implemented as a removable adapter layer instead of being deeply mixed into the core gameplay code.

Required shape:
- Keep gameplay/runtime logic in normal game modules
- Put evaluation-specific globals in a dedicated module such as:
  - `src/eval_adapter.ts`
  - `src/eval_hooks.ts`
  - `src/testing/eval_bridge.ts`
- `src/main.ts` should only mount this adapter from one narrow integration point
- The runtime should still work if the adapter module is removed

The goal is that a developer can later remove evaluation support by deleting the adapter module and one small integration call, without rewriting the game itself.

## CRITICAL: File Creation Rules

You MUST follow these rules when creating game files:
1. **Create files ONE AT A TIME** — never attempt to create multiple files in a single response
2. **Always provide absolute file paths** when creating files (e.g., `games/shooter_game/src/main.ts`)
3. **Always provide complete file content** when creating each file
4. **Follow this creation order:** index.html → package.json → tsconfig.json → vite.config.ts → src/main.ts → other source files → data.md → state_injection_api.md → README.md
5. **Verify each file** was created successfully before moving to the next one
6. **If a Write call fails:** STOP retrying the same call. Re-examine your tool parameters, ensure both `file_path` and `content` are provided, then try again with corrected parameters.

## Process

### 1. Project Structure and Game Code Generation

* **Directory Structure:** Create a folder under the `games/` directory named after the game description file (without the .md extension)
  - Example: `descriptions_example/shooter_game.md` → `games/shooter_game/`
  - All game-related files (code, assets, configuration, etc.) should be placed in this folder

* **Game Implementation:**
  - Develop the game using TypeScript and appropriate frameworks (e.g., Phaser, PixiJS, or vanilla Canvas)
  - Ensure the code is complete, well-structured, and can run directly in a browser or Node.js environment
  - Implement all game mechanics, rules, and features described in the game description
  - Include proper error handling and edge case management

* **Architecture Note:** You do not need to over-engineer the codebase, but you MUST isolate the evaluation-facing APIs from the core gameplay logic. The game's core state parameters (such as score, player coordinates, health, enemy states, level, game status, etc.) should be accessible through a runtime object or state container. The eval adapter should wrap that runtime object rather than scattering test-only globals throughout the gameplay code.

### 2. Extract Game State Parameters Table (`data.md`)

* **Identify State Variables:** Analyze the code you generate and extract all variables that determine the current game "state", including:
  - Player state (position, health, inventory, abilities)
  - Game progress (score, level, time, objectives)
  - Game objects (enemies, items, projectiles)
  - Game status (paused, running, game over, victory)
  - Environment state (map configuration, weather, time of day)

* **Generate data.md:** Create a file named `data.md` within the game project folder (e.g., `games/shooter_game/data.md`) containing:
  1. **Game Metadata** section - Game configuration and constants
  2. **State Parameters** section - Detailed parameter table

* **Game Metadata Section:** Include the following subsections:
  - **Controls** - Keyboard/mouse mappings for game actions
  - **Physics** - Movement speeds, gravity, acceleration constants
  - **Canvas** - Game canvas dimensions
  - **Spatial Definitions** - Semantic distance definitions (nearby, far, close)

* **State Parameters Table Columns:**
  - `Parameter Name` - The exact variable name as it appears in code
  - `Type` - Data type (number, string, boolean, object, array, etc.)
  - `Description` - Clear explanation of what this parameter represents
  - `Value Range/Constraints` - Valid values, min/max bounds, or constraints

* **Purpose:** This file serves as:
  1. Parameter definitions for constructing specific test states
  2. Game configuration reference for test automation
  3. Semantic mapping for natural language test instructions

**Example data.md format:** See `references/data_md_example.md` for the expected format. The file must include Game Metadata (Controls, Physics, Canvas, Spatial Definitions) and a State Parameters table with columns: Parameter Name, Type, Description, Value Range/Constraints.

### 3. Provide State Injection Method (Setter API)

* **Implementation:** Based on the parameters in `data.md`, **add** a State Injection API through a dedicated eval adapter module
  - Function name: `injectGameState(stateData)` or similar
  - Location: Accessible from the global scope or exported as a module function
  - Comment the function clearly for future reference

* **Pluggable Adapter Constraint:**
  - Prefer a structure like:
    - core runtime in `src/runtime.ts` or `src/game.ts`
    - eval adapter in `src/eval_adapter.ts`
    - `src/main.ts` only wires them together
  - `window.injectGameState`, `window.getGameState`, `window.pauseGame`, `window.resumeGame`, `window.isGamePaused`, and `window.gameReady` should be attached inside the adapter module
  - The adapter should expose a single mounting function, for example:

```typescript
mountEvalAdapter(window, runtime);
```

From NetX-lab/GameGen-Verifier, MIT.

Signals

Stars
3
Forks
0
Open issues
0
Last commit (this folder)
Jun 7, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from NetX-lab

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get game-gen-with-data running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying game-gen-with-data?

CallGet help
Cite this page

game-gen-with-data skill. Agent Mart. https://agentmart.dev/skills/netx-lab-game-gen-with-data (last updated 2026-10-24)