Agent skill

Tinyworld Webxr

by jasonkneen in jasonkneen/tiny-world-builder

A skill your agent uses when adding or modifying WebXR, AR placement, VR immersion, headset controller input, or XR rendering modes in Tiny World Builder.

AGPL-3.0Auto-check passedGame Development

Install Tinyworld Webxr

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

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

GitHub CLI
$ gh skill install jasonkneen/tiny-world-builder tinyworld-webxr --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-webxr .claude/skills/tinyworld-webxr && 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-webxr
GitHub stars
1.6k
Token cost
~808 tokens
SKILL.md length
417 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses when adding or modifying WebXR, AR placement, VR immersion, headset controller input, or XR rendering modes in Tiny World Builder.

  • Modifying WebXR
  • Calls npm and node
  • Headset controller input
  • XR rendering modes in Tiny World Builder

What it does

Tinyworld Webxr is an agent skill from jasonkneen/tiny-world-builder. Use when adding or modifying WebXR, AR placement, VR immersion, headset controller input, or XR rendering modes in Tiny World Builder.

Its SKILL.md is about 810 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development. It works with iOS. The licence is AGPL-3.0.

When your agent uses it

  • Modifying WebXR
  • Headset controller input
  • XR rendering modes in Tiny World Builder

Example prompts

  • “/tinyworld-webxr”

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
    • 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 Webxr loads about 808 tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 417 words of instructions outside code blocks.

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

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). 417 words, ~808 tokens.

Download SKILL.mdSave it as .claude/skills/tinyworld-webxr/SKILL.md (or your agent's skills folder).
name
tinyworld-webxr
description
Use when adding or modifying WebXR, AR placement, VR immersion, headset controller input, or XR rendering modes in Tiny World Builder.

Tiny World WebXR

Tiny World uses a pinned global THREE r185 compatibility bundle (vendor/three/tinyworld-three.r185.min.js), not runtime module imports or ARButton/VRButton addons. Keep WebXR integration vanilla and single-file inside tiny-world-builder.html.

Platform split — WebXR covers "Google" AR (Android Chrome / Quest, via immersive-ar + hit-test), but Apple devices have no WebXR. iOS/iPadOS web AR is AR Quick Look only: an <a rel="ar"> pointing at a .usdz opens the system viewer, which finds a surface, places the model, and lets the user walk around it. So both paths must exist for full coverage.

Patterns:

  • For Apple AR, export the live world to USDZ on demand with THREE.USDZExporter from the r185 global bundle. USDZExporter only understands MeshStandardMaterial, so snapshot worldGroup into a fresh group, convert each Lambert/Basic/Shader material to a Standard equivalent (preserving colour/emissive/map), recentre on the origin with the base at y=0, and scale to a tabletop size. Wrap the resulting Uint8Array in a model/vnd.usdz+zip Blob → object URL, and launch via an <a rel="ar"> that contains a single <img> child (Safari's requirement) clicked programmatically.

  • Gate the Apple AR button on document.createElement('a').relList.supports('ar'); gate the WebXR buttons on navigator.xr support. Show the XR panel if either is available so iOS users see just the Apple AR button.

  • Enable WebXR with renderer.xr.enabled = true and drive the main loop with renderer.setAnimationLoop(animate) so desktop and headset frames share one path.

  • Keep headset transforms on xrWorldRoot, a scene-level parent for board/runtime meshes. Do not scale/move worldGroup alone; hover, selection, clouds, weather, smoke, crop duster, and previews must stay in the same local world space.

  • Keep controllers/reticles in scene, not xrWorldRoot; they are physical XR-space objects.

  • For AR desk mode, request immersive-ar with required hit-test, optional anchors, and a domOverlay root. Use the reticle pose to set xrWorldRoot and use anchors when available, but gracefully fall back to the last hit-test pose.

  • For floating mode, prefer immersive-ar, then fall back to immersive-vr; place the mini board in front of the current XR camera.

  • For inside mode, use immersive-vr with local-floor and leave xrWorldRoot at meter scale (scale = 1) so one tile is walkable room scale.

  • When picking tiles from controllers, raycast against worldGroup.children, then convert h.point through xrWorldRoot.worldToLocal() before deriving tile-local offsets. Desktop pointer picking can keep using screen-space raycasts.

  • Restore scene.background, xrWorldRoot transform/visibility, reticle state, and UI state on XR session end or failure.

Show full SKILL.md (34 more words)Show less

Validation:

  • npm test and the inline script node --check must pass.
  • Real AR hit-test/VR entry requires HTTPS plus a headset/browser with WebXR support; browser smoke tests can only verify non-XR fallback UI and syntax.

© 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

Just SKILL.md in .codex/skills/tinyworld-webxr of jasonkneen/tiny-world-builder.

Open the folder on GitHubat commit 49e8abd

Compare with similar skills

Tinyworld Webxr 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 Webxr compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tinyworld Webxr this skilljasonkneen/tiny-world-builder1.6k—~808Automated safety check: PassAGPL-3.0
Sokol Netelix22/Sokol.NET154—~2.8kAutomated safety check: PassMIT
Ue Buildgetsentry/sentry-unreal173—~1kAutomated safety check: PassMIT
Godot Admob Mediationpoingstudios/godot-admob-plugin632—~364Automated safety check: PassMIT
Scenario Godot Performance Exportscenario-labs/skills946—~5.1kAutomated safety check: NotesMIT
Makepad Platformsickn33/agentic-awesome-skills47k2 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Sokol Net

    elix22/Sokol.NET

    Sokol.NET framework development — use for ANY work in this repo: creating or debugging examples, building/running for desktop/Android/iOS/Web, writing or compiling shaders, adding a new C/C++…

    154 GitHub stars~2.8k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Ue Build

    getsentry/sentry-unreal

    Official

    Build the SentryPlayground sample project for a target platform

    173 GitHub stars~1k tokensUpdated today
    Game DevelopmentAuto-check passed
  • Godot Admob Mediation

    poingstudios/godot-admob-plugin

    Provides instructions to configure, integrate, and verify third-party mediation networks (AppLovin, Meta Audience Network, Unity Ads, etc.) in GDScript and C.

    632 GitHub stars~364 tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • A skill your agent uses when a Godot game stutters, drops frames, hitches when entering new areas, overheats a phone, or must ship: profiling and Performance monitors, CPU or GPU bound, draw calls…

    946 GitHub stars~5.1k tokensUpdated today
    Game DevelopmentAuto-check: notes
  • Makepad Platform

    sickn33/agentic-awesome-skills

    CRITICAL: Use for Makepad cross-platform support. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~1.2k tokens
    Game DevelopmentAuto-check passed
  • Optimize 3D Scene

    textura-agency/next16-claude-starter

    Optimise a three.js or raw WebGL scene for phones, 120 Hz panels and low-end devices — device tiering, prewarm-everything-under-the-loader so nothing compiles mid-scroll, in-view-only render loops…

    133 GitHub stars~9.5k tokensUpdated 3 days ago
    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

Works with

Questions about Tinyworld Webxr

What does Tinyworld Webxr do?

A skill your agent uses when adding or modifying WebXR, AR placement, VR immersion, headset controller input, or XR rendering modes in Tiny World Builder. Tinyworld Webxr is an agent skill from jasonkneen/tiny-world-builder. Use when adding or modifying WebXR, AR placement, VR immersion, headset controller input, or XR rendering modes in Tiny World Builder.

When should I use Tinyworld Webxr?

Tinyworld Webxr fits situations like: modifying WebXR; headset controller input; XR rendering modes in Tiny World Builder.

How do I install Tinyworld Webxr in Claude Code?

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

How do I install Tinyworld Webxr in Codex?

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

Can I use Tinyworld Webxr 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-webxr -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-webxr, .gemini/skills/tinyworld-webxr, .github/skills/tinyworld-webxr and .opencode/skills/tinyworld-webxr in your project.

What does Tinyworld Webxr need to run?

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

Does Tinyworld Webxr 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 Webxr 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 Webxr use?

Tinyworld Webxr 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 Webxr use?

About 808 tokens (SKILL.md is roughly 3.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 Webxr?

Skills that share tags, products or a category with Tinyworld Webxr: Sokol Net (elix22/Sokol.NET, 154 stars), Ue Build (getsentry/sentry-unreal, 173 stars), Godot Admob Mediation (poingstudios/godot-admob-plugin, 632 stars) and Scenario Godot Performance Export (scenario-labs/skills, 946 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tinyworld Webxr?

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.