Image to Three.js Model
img2threejs/img2threejs
Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.
A skill your agent uses when editing Tiny World Builder prompts, model-generated worlds, Auto suggestions, or any model behavior that should create coherent low-poly 3D board scenes.
$ npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jasonkneen/tiny-world-builder tinyworld-lowpoly-world-prompt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-lowpoly-world-prompt .claude/skills/tinyworld-lowpoly-world-prompt && rm -rf skills-srcUse ~/.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/
Install the "tinyworld-lowpoly-world-prompt" agent skill from https://github.com/jasonkneen/tiny-world-builder/tree/main/.codex/skills/tinyworld-lowpoly-world-prompt into .claude/skills/tinyworld-lowpoly-world-prompt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinyworld-lowpoly-world-prompt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jasonkneen/tiny-world-builder/tree/main/.codex/skills/tinyworld-lowpoly-world-promptType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jasonkneen/tiny-world-builder tinyworld-lowpoly-world-prompt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jasonkneen/tiny-world-builder.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/tinyworld-lowpoly-world-prompt .agents/skills/tinyworld-lowpoly-world-prompt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tinyworld-lowpoly-world-prompt" agent skill from https://github.com/jasonkneen/tiny-world-builder/tree/main/.codex/skills/tinyworld-lowpoly-world-prompt into .agents/skills/tinyworld-lowpoly-world-prompt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinyworld-lowpoly-world-prompt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jasonkneen/tiny-world-builder tinyworld-lowpoly-world-prompt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jasonkneen/tiny-world-builder.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/tinyworld-lowpoly-world-prompt .cursor/skills/tinyworld-lowpoly-world-prompt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tinyworld-lowpoly-world-prompt" agent skill from https://github.com/jasonkneen/tiny-world-builder/tree/main/.codex/skills/tinyworld-lowpoly-world-prompt into .cursor/skills/tinyworld-lowpoly-world-prompt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinyworld-lowpoly-world-prompt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jasonkneen/tiny-world-builder.git --path .codex/skills/tinyworld-lowpoly-world-prompt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jasonkneen/tiny-world-builder tinyworld-lowpoly-world-prompt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jasonkneen/tiny-world-builder.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/tinyworld-lowpoly-world-prompt .gemini/skills/tinyworld-lowpoly-world-prompt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tinyworld-lowpoly-world-prompt" agent skill from https://github.com/jasonkneen/tiny-world-builder/tree/main/.codex/skills/tinyworld-lowpoly-world-prompt into .gemini/skills/tinyworld-lowpoly-world-prompt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinyworld-lowpoly-world-prompt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jasonkneen/tiny-world-builder tinyworld-lowpoly-world-promptInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jasonkneen/tiny-world-builder.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/tinyworld-lowpoly-world-prompt .github/skills/tinyworld-lowpoly-world-prompt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tinyworld-lowpoly-world-prompt" agent skill from https://github.com/jasonkneen/tiny-world-builder/tree/main/.codex/skills/tinyworld-lowpoly-world-prompt into .github/skills/tinyworld-lowpoly-world-prompt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinyworld-lowpoly-world-prompt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jasonkneen/tiny-world-builder tinyworld-lowpoly-world-prompt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jasonkneen/tiny-world-builder.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/tinyworld-lowpoly-world-prompt .opencode/skills/tinyworld-lowpoly-world-prompt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tinyworld-lowpoly-world-prompt" agent skill from https://github.com/jasonkneen/tiny-world-builder/tree/main/.codex/skills/tinyworld-lowpoly-world-prompt into .opencode/skills/tinyworld-lowpoly-world-prompt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tinyworld-lowpoly-world-prompt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tinyworld-lowpoly-world-promptA skill your agent uses when editing Tiny World Builder prompts, model-generated worlds, Auto suggestions, or any model behavior that should create coherent low-poly 3D board scenes.
Tinyworld Lowpoly World Prompt is an agent skill from jasonkneen/tiny-world-builder. Use when editing Tiny World Builder prompts, model-generated worlds, Auto suggestions, or any model behavior that should create coherent low-poly 3D board scenes.
Its SKILL.md is about 3k 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. The licence is AGPL-3.0.
Read from SKILL.md and the folder at commit 49e8abd. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tinyworld Lowpoly World Prompt loads about 3k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 1,565 words of instructions outside code blocks.
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.
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.
The full file from jasonkneen/tiny-world-builder at commit 49e8abd, republished under its AGPL-3.0 licence (© jasonkneen). 1,565 words, ~3,041 tokens.
.claude/skills/tinyworld-lowpoly-world-prompt/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.The built-in model should act like a compact low-poly diorama designer, not a random tile filler.
Prompt principles:
gpt-5.5 for validated
world JSON and do not add an image-generation topology prepass unless the
user explicitly asks for images again.HOME_GRID_OPTIONS size, so prompts must include the requested
gridSize and coordinate bounds instead of assuming 8x8./clear, preserve the
existing board and return only complete final-state cells that should be
added or changed.terrainFloors, not
as a field of rock objects. Rocks are sparse landmarks or boulders only.floors as variation/intensity, including terrain stacking and object detail.buildingType only when a distinct one-cell variant is wanted; otherwise leave houses as buildingType: null so cluster logic can work.Primitive assembly prompting:
customParts voxel-build hero cell instead of reducing it to rocks, houses, or terrain.Voxel stamp prompting:
customParts first instead
of raw voxel clouds. This preserves editable object structure and avoids
low-quality broad blocks.allowedBounds, and a
quality target that calls out connected layered detail.customParts kind: "cable" for ropes, balloon basket lines, tethers,
rigging, and mooring-style connections. Cable parts need from/to
endpoints, radius, sag, and the usual compatibility size/pos/scale.sphere/ellipsoid custom parts for rounded envelopes, domes, tanks,
and canopies. A hot-air balloon should have a rounded ellipsoid/sphere
envelope with colored fabric panel bands, not a box body. Use
phiStart/phiLength ellipsoid slices for curved balloon panels instead of
flat rectangular plates.customFootprint around 1.1-1.3 for compact props, bridges, decks, and
docks; reserve 1.5-1.8 for clear hero objects such as balloons, airships,
domes, and greenhouses. For bridges/decks that need to sit into water or
terrain, prefer a small negative transform.offsetY instead of making the
geometry oversized.customParts to stone/rock unless the
requested object is stone. Prefer TinyWorld material names such as wood,
brass, copper, metal, steel, glass, glassGreen, fabric,
canvas, rope, cable, and accent colors.{x,y,z,color} voxels after a seed exists and the user asks to
reinterpret/upscale/refine density; keep returned voxels bounded and omit
hidden interior fill.For Auto suggestions:
Offline random island generation:
generateProceduralWorld() is the public entry point used by the Generate
panel and command palette, but it delegates to generateRandomIslandWorld().tiny-markov/island-lab flow into
TinyWorld schema cells: connected island mask, archetype terrain/object
weights, water/bridge/path passes, then a deliberate token-to-native mapping.docs/random-island-generation-assets.md. Any change to those source blocks
must update that manifest and its source digest in the same patch.x, z, terrain, kind,
floors, terrainFloors, buildingType, and fenceSide.terrainFloors: 1 for every generated cell. Keep island identity in terrain
material, roads, water composition, object grouping, traits, and economy
profile rather than generated height variation.kind:"house" with buildingType:"tower",
manor -> kind:"house" with buildingType:"manor", lamp -> lamp-post,
berries -> bush, ore -> crystal, water-bridge -> bridge on water.
Do not invent unsupported kind values just because the lab catalogue has
a matching label.spotlight is explicitly generation-suppressed
even though legacy mapping/scoring still understands it for compatibility.lamp-post as Commerce/Charm punctuation,
but final output is capped at two lamps and lamps must not be adjacent.appearance.objectStyle = "voxel" so
the in-app test exercises the existing voxel asset factories instead of the
standalone lab's flat preview tokens.house / manor habitation when space allows.
Tower houses are landmarks and do not count as the main-house food buffer.watchtower/castle tokens should resolve to corner-adjacent
kind:"house", buildingType:"tower" cells with the count profile
0/1/2/3/4 = 6.25%/50%/25%/12.5%/6.25%. Tower doors are on local +z, so
generated towers must emit a transform.rotationY that faces the door inward
toward the island center/core.water-bridge
only when the water cell has path on opposite banks horizontally or
vertically and water continues under the bridge on the perpendicular axis.
A harbor edge/dock should use waterfront path/shore composition unless it is
a true road crossing over a visible water channel.manor, watchtower/castle -> tower-like
houses) need a buffer from ordinary house clusters because their rendered
meshes can occupy more visual footprint than one logical cell.New world action is the in-app Tinyverse-style test path
for the offline generator: it chooses a random archetype/seed, applies the
generated TinyWorld state, saves it as a named local world slot, then opens
the cinematic economy reveal. Keep economy scoring derived from the loaded
TinyWorld cells, not from pre-mapping lab tokens, so the stats describe the
real rendered assets.buildRandomIslandEconomyProfile().
It mirrors island-lab's Food / Materials / Commerce / Defense / Charm,
gold/day, rarity, traits, synergies, and feature highlight groups, but it is
presentation/runtime data rather than part of the saved world schema.
Rarity is archetype-relative after normalized scoring so a strong forest or
ruins island can be rare without needing village-level absolute commerce.npm run stats:random-island -- --samples=10000. Each run writes a
timestamped JSON artifact under ignored stats-runs/random-island/ and
refreshes stats-runs/random-island/latest.json.npm run sample:random-island -- --count=16. Each run writes seeds, terrain
glyph maps, water components, economy profile data, and full world JSON under
ignored random-island-runs/.© 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
SKILL.md and 1 other file in .codex/skills/tinyworld-lowpoly-world-prompt of jasonkneen/tiny-world-builder.
Open the folder on GitHubat commit 49e8abd
Tinyworld Lowpoly World Prompt 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tinyworld Lowpoly World Prompt this skilljasonkneen/tiny-world-builder | 1.6k | — | ~3k | Automated safety check: Pass | AGPL-3.0 | |
| Image to Three.js Modelimg2threejs/img2threejs | 18k | 1 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | |
| Web CloneJane-xiaoer/claude-skill-web-clone | 1k | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Threejs Game Directormajidmanzarpour/threejs-game-skills | 2.5k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Game Asset Generatorhtdt/godogen | 7.1k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Threejs Gameplay Systemsvalkor-ai/loom | 1.2k | 1 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 |
img2threejs/img2threejs
Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.
Jane-xiaoer/claude-skill-web-clone
网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…
majidmanzarpour/threejs-game-skills
Entrypoint for building, upgrading, and finishing Three.js browser games.
htdt/godogen
Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.
valkor-ai/loom
Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…
CyberAgentGameEntertainment/NovaShader
Execute C with Unity APIs when existing uloop tools cannot inspect or edit enough.
jasonkneen/tiny-world-builder
Lightweight 3D effects for decorative elements and micro-interactions using Zdog, Vanta.js, and Vanilla-Tilt.js.
jasonkneen/tiny-world-builder
create robust, browser-runnable three.js primitive reconstructions from static low-poly, voxel, isometric, or stylized game-art reference images.
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.
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.
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…
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…
Categories
A skill your agent uses when editing Tiny World Builder prompts, model-generated worlds, Auto suggestions, or any model behavior that should create coherent low-poly 3D board scenes. Tinyworld Lowpoly World Prompt is an agent skill from jasonkneen/tiny-world-builder. Use when editing Tiny World Builder prompts, model-generated worlds, Auto suggestions, or any model behavior that should create coherent low-poly 3D board scenes.
Tinyworld Lowpoly World Prompt fits situations like: editing Tiny World Builder prompts; model-generated worlds; auto suggestions; any model behavior that should create coherent low-poly 3D board scenes.
Run `npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a claude-code`. Or copy the skill folder (.codex/skills/tinyworld-lowpoly-world-prompt in jasonkneen/tiny-world-builder) into .claude/skills/tinyworld-lowpoly-world-prompt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jasonkneen/tiny-world-builder --skill tinyworld-lowpoly-world-prompt -a codex`. Or copy the skill folder (.codex/skills/tinyworld-lowpoly-world-prompt in jasonkneen/tiny-world-builder) into .agents/skills/tinyworld-lowpoly-world-prompt in your project. Codex loads it when a task matches its description.
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-lowpoly-world-prompt -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-lowpoly-world-prompt, .gemini/skills/tinyworld-lowpoly-world-prompt, .github/skills/tinyworld-lowpoly-world-prompt and .opencode/skills/tinyworld-lowpoly-world-prompt in your project.
Going by SKILL.md and its folder, Tinyworld Lowpoly World Prompt needs the command-line tools its instructions call (npm).
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.
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.
Tinyworld Lowpoly World Prompt 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.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Tinyworld Lowpoly World Prompt: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.5k stars) and Game Asset Generator (htdt/godogen, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jasonkneen (a GitHub user) maintains it in jasonkneen/tiny-world-builder, which has 1,592 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 10, 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.