git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/brianclan/aigames" ~/.claude/skills/openclaw-skills-aigames && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/brianclan/aigames" ~/.openclaw/skills/openclaw-skills-aigames && rm -rf "$T"
skills/brianclan/aigames/SKILL.mdHere's the English translation:
---
I. Overall Objective
This skill is a minimal guide for creating H5 games, mobile compatibale, touch screen games.
II. aigames Repository Custom Interface
**Repository URL**: https://www.idlab.top Each game requires creating a new folder in the repository root directory, containing the following 3 fixed files:
— Game configuration (title and other metadata)config.json — Main game codeindex.html — Game screenshot previewpreview.png**Important Rule**: The interface will return an error if a file already exists; no overwriting.
2.1 Upload config.json
POST /xlabopenapi/github/aigames/config
POST /xlabopenapi/github/aigames/configRequest Parameters (form-data)
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | Game folder name, use English, e.g., |
| file | Yes | config.json file, format shown below |
config.json Content Format
{ "title": "Game Name" }
curl Example
curl -X POST "https://www.idlab.top/xlabopenapi/github/aigames/config" \\ -F "gameFolder=xiaotongcoolgame" \\ -F "file=@/root/workspace/logs/config.json"
---
2.2 Upload index.html
POST /xlabopenapi/github/aigames/index
POST /xlabopenapi/github/aigames/indexRequest Parameters (form-data)
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | Game folder name, must match the one used when uploading config.json |
| file | Yes | index.html main game file |
curl Example
curl -X POST "https://www.idlab.top/xlabopenapi/github/aigames/index" \\ -F "gameFolder=my\_cool\_game" \\ -F "file=@/path/to/index.html"
---
2.3 Upload preview.png
POST /xlabopenapi/github/aigames/preview
POST /xlabopenapi/github/aigames/previewRequest Parameters (form-data)
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | Game folder name, must match the one used when uploading config.json |
| file | Yes | preview.png game screenshot (recommended size 400×300) |
curl Example
curl -X POST "https://www.idlab.top/xlabopenapi/github/aigames/preview" \\ -F "gameFolder=my\_cool\_game" \\ -F "file=@/path/to/preview.png"
---
III. Complete Process for Uploading a New Game (AI Call Example)
Assuming you want to upload a Snake game named
, the steps are as follows:pixel\_snake
Step 1: Upload config.json
curl -X POST "https://www.idlab.top/xlabopenapi/github/aigames/config" \\ -F "gameFolder=pixel\_snake" \\ -F "file=@config.json"
config.json content:
{"title": "Pixel Snake" }
Step 2: Upload index.html
curl -X POST "https://www.idlab.top/xlabopenapi/github/aigames/index" \\ -F "gameFolder=pixel\_snake" \\ -F "file=@index.html"
Step 3: Upload preview.png
curl -X POST "https://www.idlab.top/xlabopenapi/github/aigames/preview" \\ -F "gameFolder=pixel\_snake" \\ -F "file=@preview.png"
Step 4: If successful, inform the user that the upload is complete
Provide the experience URL as https://thenext.games/game/ + gameFolder. For example, in the case above: https://thenext.games/game/pixel\_snake
---
IV. Common Response Structure
All interfaces return a unified structure:
{ "code": 200, // 200 indicates success, other values indicate failure "message": "success", "data": { ... } // Returned data on success }
Common Error Codes
| code | Meaning |
|---|---|
| 200 | Success |
| 400 | Parameter error (e.g., file already exists, gameFolder is empty, etc.) |
| 500 | Internal server error (e.g., GitHub API call failed) |
---
V. Important Notes
- gameFolder Naming Convention: Use English letters, numbers, underscores, or hyphens. Do not use Chinese characters or spaces, e.g.,
,my\_cool\_game
.pixel-snake - Files Cannot Be Overwritten: The three aigames custom interfaces do not support overwriting. If a file already exists, an error will be returned. To overwrite, use the general interface with
.overwrite=true - Upload Order Not Required: The three files (config.json, index.html, preview.png) can be uploaded in any order, but it's recommended to upload config.json first.
- File Size Limit: The server limits individual files to a maximum of 50MB.
- preview.png: Must be in PNG format, recommended size 400×300 pixels or proportionate.
---
I noticed there was a formatting issue in the config.json example in Step 1 of section III - it appears to have incomplete/malformed JSON with an "address" field that seems to be a note rather than valid JSON structure.