Agent skill

Tinyworld Single File

by jasonkneen in jasonkneen/tiny-world-builder

A skill your agent uses when editing the Tiny World Builder repo, especially tiny-world-builder.html, to preserve the static classic-script Three.js r185 app structure and local edit/reload workflow.

AGPL-3.0Auto-check passedGame Development

Install Tinyworld Single File

skills CLI
$ npx skills add jasonkneen/tiny-world-builder --skill tinyworld-single-file -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jasonkneen/tiny-world-builder tinyworld-single-file --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jasonkneen/tiny-world-builder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/tinyworld-single-file .claude/skills/tinyworld-single-file && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
tinyworld-single-file
GitHub stars
1.6k
Token cost
~1k tokens
SKILL.md length
451 words
Files
2
Skills in repo
29
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses when editing the Tiny World Builder repo, especially tiny-world-builder.html, to preserve the static classic-script Three.js r185 app structure and local edit/reload workflow.

  • Editing the Tiny World Builder repo
  • SKILL.md covers Inline gotcha (has burned us… and Related durable systems
  • Calls npm and node
  • Especially tiny-world-builder.html

What it does

Tinyworld Single File is an agent skill from jasonkneen/tiny-world-builder. Use when editing the Tiny World Builder repo, especially tiny-world-builder.html, to preserve the static classic-script Three.js r185 app structure and local edit/reload workflow.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Game Development, covering 3D graphics and WebGL. It works with Three.js and npm. The licence is AGPL-3.0.

When your agent uses it

  • Editing the Tiny World Builder repo
  • Especially tiny-world-builder.html
  • Preserve the static classic-script Three.js r185 app structure and local edit/reload workflow

Example prompts

  • “/tinyworld-single-file”

What it can do on your machine

Read from SKILL.md and the folder at commit a2a1129. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tinyworld Single File loads about 1k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 451 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jasonkneen/tiny-world-builder at commit a2a1129, republished under its AGPL-3.0 licence (© jasonkneen). 451 words, ~1,045 tokens.

Download SKILL.mdSave it as .claude/skills/tinyworld-single-file/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
tinyworld-single-file
description
Use when editing the Tiny World Builder repo, especially tiny-world-builder.html, to preserve the static classic-script Three.js r185 app structure and local edit/reload workflow.

Tiny World Single-File Workflow

Work mainly in tiny-world-builder.html; also update index.html, vendor/three/, publish.sh, checks, docs, or skills when a change affects those durable contracts.

Core rules:

  • Keep the builder app single-file at runtime: inline CSS, inline JS, no bundler, no npm runtime packages.
  • Root index.html is a static landing page entry point; the builder remains available at /tiny-world-builder and /tiny-world-builder.html.
  • random-island-preview.html is a standalone local-dev control shell for random-island reveal/card iteration. It embeds /tiny-world-builder?randomIslandPreview=1 so the visible island is the real Three.js game renderer, then talks to the app by postMessage to generate, load, and export reveal/game JSON. Production Netlify shares it through the private netlify/functions/random-island-preview.mjs route instead of copying the HTML as a public static file.
  • Do not touch tiny-world-builder BACKUP.html if present.
  • Preserve style: 2-space indent, semicolons, single-quoted strings, section comments like // -------- tools --------.
  • Mutate board state through setCell(x, z, opts), not direct world[x][z] writes outside initialization.
  • Keep Three.js pinned to r185 and self-hosted under vendor/three/; do not reintroduce CDN runtime scripts. The app consumes vendor/three/tinyworld-three.r185.min.js, a generated classic-global bundle made from three@0.185.0; regenerate it with npm run vendor:three after changing three or loader wiring.
  • If browser stack traces point at tiny-world-builder / dist/LandscapeEngine.js line numbers after source edits, run npm run build so dist/index.html, dist/tiny-world-builder.html, and dist/LandscapeEngine.js are regenerated before judging the runtime.
  • Cluso's in-page embed is allowed in LOCAL DEV ONLY, injected at runtime by tools/dev-server.js (never written into the committed HTML or dist/). The assets live under gitignored cluso/ and publish.sh excludes that dir, so tools/check.js / tools/smoke-static.js (which scan the shipped HTML) stay green. Do NOT add cluso/cluso-embed.{js,css} references to tiny-world-builder.html or any committed/shipped HTML — production must never load it. (Owner-approved override of the prior "no Cluso, even local" rule.)
  • Shared materials in M.* must not be mutated per instance; clone first for unique opacity/material behavior and dispose cloned materials in disposeGroup.
Show full SKILL.md (146 more words)Show less

Validation:

  • Run npm test (syntax-checks the inline app script, parses world.schema.json, verifies embedded schema parity, checks local script/link assets, and runs the no-browser smoke guard).
  • For targeted parser checks, run perl -0ne 'print $1 if m#<script>\s*(.*?)\s*</script>#s' tiny-world-builder.html | node --check.
  • Prefer browser validation at http://localhost:3000/tiny-world-builder.
  • Check console errors after visual/UI changes.

Inline <script> gotcha (has burned us twice)

tools/check.js extracts the main app script with this regex:

js
html.match(/<script>([\s\S]*?)<\/script>\s*<\/body>/);

It greedily matches from the first plain <script> through to the last </script></body>. If you add another inline <script> block above the main app (e.g. a defaults bootstrap), it MUST carry an HTML attribute or check.js conflates the two scripts plus the literal </script><script> separator into one parse target and throws Unexpected token '<'.

html
<script id="my-bootstrap">...</script>   <!-- ✓ regex skips this -->
<script>...</script>                     <!-- ✗ becomes part of main app -->

For persisted runtime state (defaults pipeline, audio, camera, panel positions, feature flags) see .codex/skills/tinyworld-runtime-state. For island layout, sponsor banner, plane/crop-duster flight paths see .codex/skills/tinyworld-island-and-planes.

© jasonkneen, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .codex/skills/tinyworld-single-file of jasonkneen/tiny-world-builder.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit a2a1129

Compare with similar skills

Tinyworld Single File next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Tinyworld Single File compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tinyworld Single File this skilljasonkneen/tiny-world-builder1.6k—~1kAutomated safety check: PassAGPL-3.0
Vitexecpmndrs/viverse132—~2.5kAutomated safety check: PassCustom licence
Deploycyanfish-x/tellux207—~1.1kAutomated safety check: NotesMIT
Tresjs Core Skilldskilld-dev/vue-ecosystem-skills181—~2.2kAutomated safety check: PassMIT
Video TalkcraftVincentwei1021/video-talkcraft1.4k—~8.7kAutomated safety check: NotesCustom licence
Releasecyanfish-x/tellux207—~1.3kAutomated safety check: PassMIT

Similar skills

  • Vitexec

    pmndrs/viverse

    A skill your agent uses when an AI agent needs to inspect, verify, debug, or profile a live Vite app by running temporary snippets inside the browser page and reading browser logs or captured…

    132 GitHub stars~2.5k tokensUpdated 7 days ago
    Game DevelopmentAuto-check passed
  • Deploy

    cyanfish-x/tellux

    Deploy tellux examples/docs sites via project scripts — one local command (pnpm run deploy) rclone-syncs to the self-hosted site then Wrangler Direct Uploads to Cloudflare Pages.

    207 GitHub stars~1.1k tokensUpdated 18 days ago
    Game DevelopmentAuto-check: notes
  • Tresjs Core Skilld

    skilld-dev/vue-ecosystem-skills

    Declarative Three.js using Vue components. An agent skill from skilld-dev/vue-ecosystem-skills.

    181 GitHub stars~2.2k tokensUpdated 17 days ago
    Game DevelopmentAuto-check passed
  • Video Talkcraft

    Vincentwei1021/video-talkcraft

    终极口播视频 skill:中文口播稿 + 成品配音 → CPU 字级时间戳 → SHOTBOOK 层矩阵分镜 → Remotion 电影感成片(横屏默认/竖屏)。当用户要"做口播视频"、"解说/科普视频"、"把文案变成视频"、"给配音配画面动效"时使用。默认使用成品配音,可选 Fish Audio 从稿子合成配音与时间戳;数字人生成技术不在本 skill…

    1.4k GitHub stars~8.7k tokensUpdated 8 days ago
    Media & CreativeAuto-check: notes
  • Release

    cyanfish-x/tellux

    Cut and publish a new tellux release — bump version, curate a changelog summary from recent commits, pause for the user to manually pnpm publish (browser 2FA), then push the tag and create the…

    207 GitHub stars~1.3k tokensUpdated 18 days ago
    DevelopmentAuto-check passed
  • Inspira UI

    secondsky/claude-skills

    120+ Vue/Nuxt animated components with TailwindCSS v4, motion-v, GSAP, Three.js.

    227 GitHub stars~2.6k tokensUpdated 11 days ago
    Frontend & DesignAuto-check passed

More from jasonkneen/tiny-world-builder

All 29 skills in this repo
  • Lightweight 3D Effects

    jasonkneen/tiny-world-builder

    Lightweight 3D effects for decorative elements and micro-interactions using Zdog, Vanta.js, and Vanilla-Tilt.js.

    1.6k GitHub starsUsed in 1 repo~5.7k tokens
    Auto-check passed
  • Threejs Primitive Reconstructor

    jasonkneen/tiny-world-builder

    create robust, browser-runnable three.js primitive reconstructions from static low-poly, voxel, isometric, or stylized game-art reference images.

    1.6k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Poly Pizza API

    jasonkneen/tiny-world-builder

    A skill your agent uses whenever an LLM agent needs to search, browse, or download 3D models from Poly Pizza (poly.pizza) using their REST API.

    1.6k GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Tinyworld Block Button Style

    jasonkneen/tiny-world-builder

    A skill your agent uses when styling any tool/block button, palette tile, icon chip, or new clickable square in Tiny World Builder.

    1.6k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Tinyworld Ghost World Gen

    jasonkneen/tiny-world-builder

    A skill your agent uses when changing ghost board generation, path / road / river continuity, deterministic regen, edge connections, or anything that runs inside makeGhostWorld in…

    1.6k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Tinyworld Island And Planes

    jasonkneen/tiny-world-builder

    A skill your agent uses when changing the home island layout, edge dressing, undersides, autoincentive sponsor banner (now a top-left logo-adjacent DOM banner), plane/crop-duster flight paths…

    1.6k GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Tinyworld Single File

What does Tinyworld Single File do?

A skill your agent uses when editing the Tiny World Builder repo, especially tiny-world-builder.html, to preserve the static classic-script Three.js r185 app structure and local edit/reload workflow. Tinyworld Single File is an agent skill from jasonkneen/tiny-world-builder.js r185 app structure and local edit/reload workflow.

When should I use Tinyworld Single File?

Tinyworld Single File fits situations like: editing the Tiny World Builder repo; especially tiny-world-builder.html; preserve the static classic-script Three.js r185 app structure and local edit/reload workflow.

How do I install Tinyworld Single File in Claude Code?

Run `npx skills add jasonkneen/tiny-world-builder --skill tinyworld-single-file -a claude-code`. Or copy the skill folder (.codex/skills/tinyworld-single-file in jasonkneen/tiny-world-builder) into .claude/skills/tinyworld-single-file in your project. Claude Code loads it when a task matches its description.

How do I install Tinyworld Single File in Codex?

Run `npx skills add jasonkneen/tiny-world-builder --skill tinyworld-single-file -a codex`. Or copy the skill folder (.codex/skills/tinyworld-single-file in jasonkneen/tiny-world-builder) into .agents/skills/tinyworld-single-file in your project. Codex loads it when a task matches its description.

Can I use Tinyworld Single File in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jasonkneen/tiny-world-builder --skill tinyworld-single-file -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tinyworld-single-file, .gemini/skills/tinyworld-single-file, .github/skills/tinyworld-single-file and .opencode/skills/tinyworld-single-file in your project.

What does Tinyworld Single File need to run?

Going by SKILL.md and its folder, Tinyworld Single File needs the command-line tools its instructions call (npm and node).

Does Tinyworld Single File access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Tinyworld Single File safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Tinyworld Single File use?

Tinyworld Single File is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tinyworld Single File use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tinyworld Single File?

Skills that share tags, products or a category with Tinyworld Single File: Vitexec (pmndrs/viverse, 132 stars), Deploy (cyanfish-x/tellux, 207 stars), Tresjs Core Skilld (skilld-dev/vue-ecosystem-skills, 181 stars) and Video Talkcraft (Vincentwei1021/video-talkcraft, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tinyworld Single File?

jasonkneen (a GitHub user) maintains it in jasonkneen/tiny-world-builder, which has 1,590 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.

Source: jasonkneen/tiny-world-builder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.