Agent skill

Threejs World Generation

by calesthio in calesthio/OpenMontage

Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.

AGPL-3.0Auto-check passedGame Development

Install Threejs World Generation

skills CLI
$ npx skills add calesthio/OpenMontage --skill threejs-world-generation -a claude-code

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

GitHub CLI
$ gh skill install calesthio/OpenMontage threejs-world-generation --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/calesthio/OpenMontage.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/threejs-world-generation .claude/skills/threejs-world-generation && 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
threejs-world-generation
GitHub stars
66k
Token cost
~2k tokens
SKILL.md length
921 words
Files
4 (incl. references)
Skills in repo
41
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.

  • Works in 6 steps: Separate intent from completion → Plan globally → Build the terrain foundation → …
  • Cinematic 3D terrain
  • SKILL.md covers Choose the fidelity tier…, Read first, Route the request and Workflow, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Threejs World Generation is an agent skill from calesthio/OpenMontage. Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs. Use for cinematic 3D terrain, semantic regions, procedural biomes, explicit landmarks, environmental scattering, camera fly-throughs, world diagnostics, or requests for a real 3D environment rather than generated 2D footage. Integrates OpenMontage's threejsworld tool with HyperFrames; do not use for a single isolated 3D object or a flat parallax scene.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/world-spec.md` and `references/worldclaw-principles.md`).

It sits in Game Development, covering 3D graphics and WebGL and Motion graphics. It works with Three.js, HeyGen and Blender. The repository describes itself as: World's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant… The licence is AGPL-3.0.

When your agent uses it

  • Cinematic 3D terrain
  • Semantic regions
  • Procedural biomes
  • Explicit landmarks

Example prompts

  • “/threejs-world-generation”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Separate intent from completion
  2. Plan globally
  3. Build the terrain foundation
  4. Inspect regionally
  5. Refine with bounded loops
  6. Compose without overwriting

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

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

  • Network

    No URLs in SKILL.md.

    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

Threejs World Generation loads about 2k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 921 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~119
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

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 calesthio/OpenMontage at commit 9327439, republished under its AGPL-3.0 licence (© calesthio). 921 words, ~2,046 tokens.

Download SKILL.mdSave it as .claude/skills/threejs-world-generation/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
threejs-world-generation
description
Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs. Use for cinematic 3D terrain, semantic regions, procedural biomes, explicit landmarks, environmental scattering, camera fly-throughs, world diagnostics, or requests for a real 3D environment rather than generated 2D footage. Integrates OpenMontage's threejs_world tool with HyperFrames; do not use for a single isolated 3D object or a flat parallax scene.

Three.js World Generation

For production meshes and Blender assembly, also read 3d-asset-generation. Three.js remains the semantic interactive/blockout renderer; Blender is the production renderer when the brief calls for dense reference-grade scenery.

The production handoff must include target dimensions for imported assets, semantic scatter exclusion zones, terrain-following water/path geometry, landmark visibility policy, camera clearance, and global/regional/walk review frames. These are world-spec contracts, not manual Blender cleanup notes.

Create a persistent scene graph, not a sequence of unrelated 2D shots. Preserve the user's explicit constraints, infer missing construction details separately, establish the global terrain first, and refine selected regions without disturbing the world-wide spatial contract.

Choose the fidelity tier explicitly

  • blockout: procedural primitives, vertex colors, semantic/layout validation, fast iteration. Never call this production-quality, reference-grade, or visually equivalent to WorldClaw.
  • production: licensed local GLTF/GLB catalogs, a minimum eight-model palette across four semantic categories, three PBR terrain layers, asset provenance, walk-level repetition review, and no primitive landmark fallback.

For a hero video or any reference showing populated textured environments, use production. If its catalog/material/provider requirements cannot be met, stop at preflight or the asset gate. Do not render a blockout as the final deliverable.

Read first

  • Read references/worldclaw-principles.md when planning or explaining the coarse-to-fine method.
  • Read references/world-spec.md before authoring a world_spec or calling threejs_world.
  • Read hyperframes-core, hyperframes-animation, and hyperframes-animation/adapters/three.md before editing the emitted workspace.
  • Read threejs-loaders, threejs-materials, threejs-textures, threejs-lighting, and threejs-postprocessing for production-tier work.

Route the request

  • Use the animation pipeline for design-led, explanatory, abstract, or music-led world films.
  • Use the cinematic pipeline for trailer-like mood, dramatic reveals, or source-plus-world edits.
  • Choose HyperFrames when the deliverable is the code-native Three.js world. Choose Blender for reference-grade hero rendering and FFmpeg only to package Blender's numbered frames and approved audio. Record that choice at proposal; do not silently switch after approval.
  • Keep this as a capability inside existing pipelines. Do not create a new pipeline merely because a scene is 3D.

Workflow

1. Separate intent from completion

Record two lists before planning:

  • explicit_constraints: only facts the user supplied.
  • inferred_details: scale, region coverage, terrain operators, densities, palette refinements, and camera details added to make the world executable.

Never smuggle an inferred landmark, biome, or story beat into the explicit list.

2. Plan globally

Author one shared world_spec containing:

  • world scale, terrain resolution, elevation range, and seed;
  • semantic regions with normalized centers, radii, landform operators, palette, and scatter recipes;
  • atmosphere and lighting shared across all regions;
  • explicit landmarks with stable IDs and world-space placement;
  • a complete camera path with time, position, target, and field of view.

Prefer 3-7 regions. Each region must contribute a distinct silhouette, surface read, or functional role.

3. Build the terrain foundation

For production, first call threejs_asset_catalog to install rights-safe catalogs under projects/<id>/assets/3d/catalogs/<catalog-id>/. Record source, license, archive hash, model inventory, and every selected model in the asset manifest. Then call threejs_world with quality_tier: "production" and the installed catalog paths.

python
from tools.graphics.threejs_world import ThreeJSWorld

result = ThreeJSWorld().execute({
    "operation": "build",
    "world_spec": world_spec,
    "output_path": "projects/<id>/hyperframes",
    "duration_seconds": 60,
    "render_mode": "cinematic",
    "quality_tier": "production",
    "asset_catalog_paths": ["projects/<id>/assets/3d/catalogs/kenney-nature-kit"],
})

Treat world.json, world-spec.js, world-runtime.js, and world-report.json as editable assets. Do not flatten them into a video until the assets gate is approved.

4. Inspect regionally

Build a second pass with render_mode: "semantic" or "wireframe" when spatial problems are hard to see in the cinematic material pass. Inspect snapshots from global, regional, and walk-level viewpoints.

Maintain an issue queue with stable subjects:

  • terrain transition or silhouette;
  • landmark scale, pose, or contact;
  • scatter density, slope rejection, or repetition;
  • material contrast and atmosphere;
  • camera clearance, clipping, or weak framing.

Fix only the affected region or object when possible. Preserve the seed, region IDs, camera times, and unrelated parameters.

Show full SKILL.md (341 more words)Show less
5. Refine with bounded loops

Run at most three render-guided refinement rounds:

  1. build the workspace;
  2. run the unified HyperFrames check gate and snapshot representative times;
  3. inspect frames and update the issue queue;
  4. change the narrowest relevant spec fields;
  5. rebuild with the same seed and compare.

Stop when no substantial issue remains or the iteration budget is reached. Report residual limitations rather than disguising them with overlays.

6. Compose without overwriting

For browser-native delivery, set render_runtime: "hyperframes" and composition_mode: "atelier"; video_compose must preserve the authored workspace. For reference-grade video, render a Blender PNG sequence with resume: true, then set render_runtime: "ffmpeg" for packaging. Preserve the world spec and .blend as the editable source of truth.

Quality gates

  • Terrain is continuous and region boundaries blend without obvious seams.
  • Every landmark touches its support surface and remains inside world bounds.
  • Scatter respects region affinity, slope limits, and deterministic seed behavior.
  • Global, regional, and walk-level frames all read as the same continuous world.
  • Camera paths remain above terrain, avoid clipping, and provide at least one scale-establishing reveal.
  • World source remains editable after render: regions, landmarks, camera keys, and palette have stable IDs or fields.
  • HyperFrames check and post-render review pass before delivery. Use the legacy validate or inspect operations only when supporting an older runtime.
  • Production beauty frames contain textured assets at foreground, midground, and background depths; no dominant object may read as an untextured box, cone, octahedron, or dodecahedron.
  • Production requires at least four semantic asset categories, eight distinct models, three PBR terrain layers, one regional composition review per camera-critical region, and explicit repetition/contact findings.

Boundaries

  • The production catalog path materially improves geometry and surface richness, but it still does not reproduce WorldClaw's GPT-Image-2, SAM3, SAM3D, Hunyuan3D, BlenderMCP, or four-H20 implementation.
  • Do not claim articulated assets, game physics, navigation meshes, or interaction logic unless another tool explicitly adds them.
  • Do not use unseeded randomness, wall-clock animation, remote models, or render-time asset fetches.
  • Do not delete the lower-level threejs-* skills. They are the subsystem references used when extending this runtime.

© calesthio, 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 3 other files (references) in .agents/skills/threejs-world-generation of calesthio/OpenMontage.

  • SKILL.md
  • agents/openai.yaml
  • references/world-spec.md
  • references/worldclaw-principles.md

Open the folder on GitHubat commit 9327439

Compare with similar skills

Threejs World Generation 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.

Threejs World Generation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Threejs World Generation this skillcalesthio/OpenMontage66k—~2kAutomated safety check: PassAGPL-3.0
Threeboraoztunc/skills3972 repos~885Automated safety check: PassApache-2.0
Guizang Product Video Skillop7418/guizang-product-video-skill740—~1.1kAutomated safety check: PassAGPL-3.0
Content To Videoarchitectds/modeldock117—~2.4kAutomated safety check: PassApache-2.0
3D Image Rendererhassancs91/claude-image-generation101—~1.4kAutomated safety check: PassMIT
Scenario Kinetic Music Videoscenario-labs/skills931—~3.5kAutomated safety check: PassMIT

Similar skills

  • Three

    boraoztunc/skills

    Three.js and WebGL adapter patterns for HyperFrames. An agent skill from boraoztunc/skills.

    397 GitHub starsUsed in 2 repos~885 tokens
    Game DevelopmentAuto-check passed
  • Guizang Product Video Skill

    op7418/guizang-product-video-skill

    制作代码驱动的软件产品宣传片和版本更新片(product promo、release notes video、changelog promo)。从真实功能和产品设计出发定方向,用真实组件、GSAP/Three.js 动效、原创配乐和动作音效完成影片,每支片子的视觉手法都从产品本身推导,不套模板。

    740 GitHub stars~1.1k tokensUpdated 8 days ago
    DevelopmentAuto-check passed
  • Content To Video

    architectds/modeldock

    Turn arbitrary source content (README, article, story, slides, deck, data/report, product description, tutorial text, audio/transcript, or a bare topic) into a finished, high-quality MP4 video.

    117 GitHub stars~2.4k tokensUpdated 4 days ago
    Media & CreativeAuto-check passed
  • 3D Image Renderer

    hassancs91/claude-image-generation

    Generate PNG images by building a real Three.js 3D scene and capturing one frame headlessly — no image model involved.

    101 GitHub stars~1.4k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Scenario Kinetic Music Video

    scenario-labs/skills

    A skill your agent uses when turning a song into a kinetic-typography or motion-design music video, lyric video, visualizer or K-pop style MV with Scenario: a generated subject sheet, style frames…

    931 GitHub stars~3.5k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • 3Dviz Pro Max Scene Builder

    viettranx/3dviz-pro-max

    Guides building an expressive 3D scene in Three.js or Blender by reasoning through intent, object construction and scientific grounding before using a catalog of recipes and kits.

    697 GitHub stars~2.8k tokensUpdated 29 days ago
    Game DevelopmentAuto-check passed

More from calesthio/OpenMontage

All 41 skills in this repo
  • Video Understand

    calesthio/OpenMontage

    Understand video content locally using ffmpeg frame extraction and Whisper transcription.

    66k GitHub stars~841 tokensUpdated 6 days ago
    Auto-check passed
  • Avatar Video

    calesthio/OpenMontage

    Create AI avatar videos with precise control over avatars, voices, scripts, scenes, and backgrounds using HeyGen's v2 API.

    66k GitHub stars~1.6k tokensUpdated 6 days ago
    Auto-check passed
  • D3 Viz

    calesthio/OpenMontage

    Creating interactive data visualisations using d3.js. An agent skill from calesthio/OpenMontage.

    66k GitHub starsUsed in 3 repos~5.4k tokens
    Auto-check passed
  • Create Video

    calesthio/OpenMontage

    Create videos from a text prompt using HeyGen's Video Agent.

    66k GitHub stars~1.3k tokensUpdated 6 days ago
    Auto-check passed
  • Video Edit

    calesthio/OpenMontage

    Edit videos locally using ffmpeg. An agent skill from calesthio/OpenMontage.

    66k GitHub stars~855 tokensUpdated 6 days ago
    Auto-check: notes
  • Visual Style

    calesthio/OpenMontage

    Create, extract, and apply portable visual design systems via visual-style.md files.

    66k GitHub stars~1.5k tokensUpdated 6 days ago
    Auto-check passed

Questions about Threejs World Generation

What does Threejs World Generation do?

Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs. Threejs World Generation is an agent skill from calesthio/OpenMontage.js worlds from text or structured briefs.

When should I use Threejs World Generation?

Threejs World Generation fits situations like: cinematic 3D terrain; semantic regions; procedural biomes; explicit landmarks.

How do I install Threejs World Generation in Claude Code?

Run `npx skills add calesthio/OpenMontage --skill threejs-world-generation -a claude-code`. Or copy the skill folder (.agents/skills/threejs-world-generation in calesthio/OpenMontage) into .claude/skills/threejs-world-generation in your project. Claude Code loads it when a task matches its description.

How do I install Threejs World Generation in Codex?

Run `npx skills add calesthio/OpenMontage --skill threejs-world-generation -a codex`. Or copy the skill folder (.agents/skills/threejs-world-generation in calesthio/OpenMontage) into .agents/skills/threejs-world-generation in your project. Codex loads it when a task matches its description.

Can I use Threejs World Generation 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 calesthio/OpenMontage --skill threejs-world-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/threejs-world-generation, .gemini/skills/threejs-world-generation, .github/skills/threejs-world-generation and .opencode/skills/threejs-world-generation in your project.

What does Threejs World Generation need to run?

SKILL.md names no scripts, command-line tools or credentials: Threejs World Generation is instructions for the agent only. Our summary lists: Python 3.

Does Threejs World Generation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Threejs World Generation 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 Threejs World Generation use?

Threejs World Generation 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 Threejs World Generation use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.

What are the alternatives to Threejs World Generation?

Skills that share tags, products or a category with Threejs World Generation: Three (boraoztunc/skills, 397 stars), Guizang Product Video Skill (op7418/guizang-product-video-skill, 740 stars), Content To Video (architectds/modeldock, 117 stars) and 3D Image Renderer (hassancs91/claude-image-generation, 101 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Threejs World Generation?

calesthio (a GitHub user) maintains it in calesthio/OpenMontage, which has 65,614 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on October 3, 2026.

Source: calesthio/OpenMontage on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.