Agent skill

Tinyworld Lowpoly World Prompt

by jasonkneen in jasonkneen/tiny-world-builder

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.

AGPL-3.0Auto-check passedGame Development

Install Tinyworld Lowpoly World Prompt

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

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

GitHub CLI
$ gh skill install jasonkneen/tiny-world-builder tinyworld-lowpoly-world-prompt --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-lowpoly-world-prompt .claude/skills/tinyworld-lowpoly-world-prompt && 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-lowpoly-world-prompt
GitHub stars
1.6k
Token cost
~3k tokens
SKILL.md length
1,565 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 Tiny World Builder prompts, model-generated worlds, Auto suggestions, or any model behavior that should create coherent low-poly 3D board scenes.

  • Editing Tiny World Builder prompts
  • Calls npm
  • Model-generated worlds
  • Auto suggestions

What it does

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.

When your agent uses it

  • Editing Tiny World Builder prompts
  • Model-generated worlds
  • Auto suggestions
  • Any model behavior that should create coherent low-poly 3D board scenes

Example prompts

  • “/tinyworld-lowpoly-world-prompt”

What it can do on your machine

Read from SKILL.md and the folder at commit 49e8abd. 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

    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 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.

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

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 49e8abd, republished under its AGPL-3.0 licence (© jasonkneen). 1,565 words, ~3,041 tokens.

Download SKILL.mdSave it as .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.
name
tinyworld-lowpoly-world-prompt
description
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.

Tiny World Low-Poly World Prompting

The built-in model should act like a compact low-poly diorama designer, not a random tile filler.

Prompt principles:

  • Generate should be text-only by default: use OpenAI gpt-5.5 for validated world JSON and do not add an image-generation topology prepass unless the user explicitly asks for images again.
  • Honour the selected generation board size. The Generate dialog can request any HOME_GRID_OPTIONS size, so prompts must include the requested gridSize and coordinate bounds instead of assuming 8x8.
  • Floating chat prompts are additive patches by default. Unless the prompt explicitly asks to replace/reset/rebuild or starts with /clear, preserve the existing board and return only complete final-state cells that should be added or changed.
  • Start from a readable scene concept: village, farm, canal, ridge, market, castle, garden, or mixed landmark.
  • Use strong silhouettes: tall/short contrast, clustered houses, towers, hills, trees, walls, and clear negative space.
  • Make terrain do composition work: paths lead the eye, water creates crossings, dirt groups crops, grass gives breathing room.
  • Treat hills and mountains as elevation/height through terrainFloors, not as a field of rock objects. Rocks are sparse landmarks or boulders only.
  • Use adjacency intentionally: house clusters merge, fences connect, bridges belong on water crossings, crops form fields.
  • Avoid noise: do not fill every board cell; leave open cells and visible paths.
  • Use floors as variation/intensity, including terrain stacking and object detail.
  • Use forced buildingType only when a distinct one-cell variant is wanted; otherwise leave houses as buildingType: null so cluster logic can work.
  • Keep output strictly machine-parseable JSON matching the schema.

Primitive assembly prompting:

  • Tell models they cannot invent new object kinds, meshes, labels, or custom geometry in JSON.
  • Ask them to translate broad environments into available primitives: terrain, raised terrainFloors, houses/building variants, fences/fenceSide, rocks, bridges, crops, tufts, and trees.
  • Treat native primitives as scene components, not the creativity ceiling. If the user asks for a distinct object with no native kind, author it as a customParts voxel-build hero cell instead of reducing it to rocks, houses, or terrain.
  • Include concrete decompositions for non-native requests:
    • skate park = path/dirt plaza + raised terrain ramps + rocks as obstacles + fences as rails/edges + tufts/trees as landscaping.
    • market = path plaza + cottage/manor stalls + fences as queue rails + crops/pumpkins as goods.
    • playground = path/dirt base + rocks as play forms + fences as boundary + trees/tufts for park context.
    • quarry = raised dirt/grass terraces + rocks of varied floors + path access road + sparse tufts.
  • Emphasize legibility from the default isometric camera: 3–5 clear assembled features beats many scattered cells.

Voxel stamp prompting:

  • For new text/image-to-voxel stamps, prefer semantic customParts first instead of raw voxel clouds. This preserves editable object structure and avoids low-quality broad blocks.
  • Include the allowed material list, selected/source object intent, source parts when available, image reference when present, allowedBounds, and a quality target that calls out connected layered detail.
  • For bespoke requests such as glass greenhouse, dome, vehicle, robot, or airship, require semantic colored parts and at least several material families. Native houses/fences/rocks are allowed only when they are actual components or surroundings, not substitutes for the requested model.
  • Use 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.
  • Use 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.
  • Keep first-pass generated custom models to sane board scale. Use 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.
  • Explicitly tell models not to default 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.
  • Use raw {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.
  • Do not let a reference image or prior Japanese stamp bias unrelated objects into pagodas, gardens, torii, sakura, or shrine motifs unless explicitly requested.

For Auto suggestions:

  • Return candidate actions, not coordinates.
  • Suggestions should be reusable across several placements.
  • Include a varied ranked batch: one structural option, one terrain/path option, one nature/detail option, and one intensify/repeat option when useful.

Offline random island generation:

  • generateProceduralWorld() is the public entry point used by the Generate panel and command palette, but it delegates to generateRandomIslandWorld().
  • The random island generator ports the 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.
  • The current random-island terrain/object catalog, archetype weights, resource buckets, output mapping, motif ownership, and live-economy alignment notes are versioned in the canonical repository docs/random-island-generation-assets.md. Any change to those source blocks must update that manifest and its source digest in the same patch.
  • Keep emitted cells complete v4 object cells: x, z, terrain, kind, floors, terrainFloors, buildingType, and fenceSide.
  • Offline random islands currently emit a flat terrain surface: 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.
  • Map lab-only tokens explicitly to real renderer support. Examples: watchtower/castle -> 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.
  • Generated random islands suppress props that have no generation economy effect before save output. spotlight is explicitly generation-suppressed even though legacy mapping/scoring still understands it for compatibility.
  • Generated random islands may keep lamp-post as Commerce/Charm punctuation, but final output is capped at two lamps and lamps must not be adjacent.
  • Generated placed objects should set appearance.objectStyle = "voxel" so the in-app test exercises the existing voxel asset factories instead of the standalone lab's flat preview tokens.
  • Archetypes are authored through a deterministic feature-grammar pass before residual scatter. Preserve that meaning layer: pastoral = enclosed fields and pasture, forest = grove/trail, quarry = connected stone/ore seam, river = crossing plus irrigated bank, village = plaza/roads/house block, fortress = keep/wall/gate, ruins = relic cluster, harbor = shore/dock/inland path. Do not regress this to pure weighted random placement.
  • Resource placement now starts with a pre-archetype economy viability pass: every generated island visits Food / Materials / Commerce / Defense / Charm with archetype-weighted min/max bands, so even low-food quarry/fortress-style islands still get a small food floor near habitation. Archetype resource polish runs after the identity grammar, and final validation repairs any displaced floors. Residual scatter is for small accents only, not the primary source of meaningful resources.
  • Food areas should read as deliberate farm plots, not random sprinkles: generated crops prefer a compact square-ish region and avoid the immediate one-cell ring around main house / manor habitation when space allows. Tower houses are landmarks and do not count as the main-house food buffer.
  • Towers are owned by the corner landmark pass, not by archetype scatter: generated 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.
  • Terrain is also composed through motifs before paths and object placement: broad land terrain comes from deterministic smooth noise fields, then water gets one protected composition motif (edge inlet, lake, or river) plus a small edge-water bias instead of a moat-like fill. Stone gets ridge/seam walks, dirt/prairie get field/meadow patches, and sand grows from shoreline adjacency. Keep this motif layer ahead of archetype object grammar so terrain meaning supports the later props.
  • Water bridges are a late validation layer, not a water decoration. Put rivers or lakes down first, carve/extend path roads next, then place 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.
  • Keep generated large building variants spaced out. Lab tokens that map to forced TinyWorld house variants (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.
  • The world menu's 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.
  • Economy reveal profile data comes from 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.
  • Random-island statistical profiles should be produced with 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.
  • Random-island visual/aesthetic samples should be produced with 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

Files

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

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 49e8abd

Compare with similar skills

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.

Tinyworld Lowpoly World Prompt compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tinyworld Lowpoly World Prompt this skilljasonkneen/tiny-world-builder1.6k—~3kAutomated safety check: PassAGPL-3.0
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.5k—~2.2kAutomated safety check: PassMIT
Game Asset Generatorhtdt/godogen7.1k—~2.8kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • 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.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.5k GitHub stars~2.2k tokensUpdated 13 days ago
    Game DevelopmentAuto-check passed
  • Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.

    7.1k GitHub stars~2.8k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • 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…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Uloop Execute Dynamic Code

    CyberAgentGameEntertainment/NovaShader

    Execute C with Unity APIs when existing uloop tools cannot inspect or edit enough.

    1.6k GitHub starsUsed in 1 repo~1.9k tokens
    Game DevelopmentAuto-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 today
    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 today
    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 today
    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 today
    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 today
    Auto-check passed

Questions about Tinyworld Lowpoly World Prompt

What does Tinyworld Lowpoly World Prompt do?

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.

When should I use Tinyworld Lowpoly World Prompt?

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.

How do I install Tinyworld Lowpoly World Prompt in Claude Code?

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.

How do I install Tinyworld Lowpoly World Prompt in Codex?

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.

Can I use Tinyworld Lowpoly World Prompt 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-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.

What does Tinyworld Lowpoly World Prompt need to run?

Going by SKILL.md and its folder, Tinyworld Lowpoly World Prompt needs the command-line tools its instructions call (npm).

Does Tinyworld Lowpoly World Prompt 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 Lowpoly World Prompt 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 Lowpoly World Prompt use?

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.

How many tokens does Tinyworld Lowpoly World Prompt use?

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.

What are the alternatives to Tinyworld Lowpoly World Prompt?

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.

Who maintains Tinyworld Lowpoly World Prompt?

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.