Threejs World Generation
calesthio/OpenMontage
Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.
Build, edit, validate or render a NodeTool 3D model: glTF objects, transforms, lights, materials, and headless Blender renders.
$ npx skills add nodetool-ai/nodetool --skill nodetool-3d-scene -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-3d-scene --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/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/system-skills/nodetool-3d-scene .claude/skills/nodetool-3d-scene && 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 "nodetool-3d-scene" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-3d-scene into .claude/skills/nodetool-3d-scene/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-3d-scene", 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/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-3d-sceneType 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 nodetool-ai/nodetool --skill nodetool-3d-scene -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-3d-scene --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/system-skills/nodetool-3d-scene .agents/skills/nodetool-3d-scene && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nodetool-3d-scene" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-3d-scene into .agents/skills/nodetool-3d-scene/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-3d-scene", 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 nodetool-ai/nodetool --skill nodetool-3d-scene -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-3d-scene --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/system-skills/nodetool-3d-scene .cursor/skills/nodetool-3d-scene && 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 "nodetool-3d-scene" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-3d-scene into .cursor/skills/nodetool-3d-scene/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-3d-scene", 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/nodetool-ai/nodetool.git --path packages/system-skills/nodetool-3d-scene--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 nodetool-ai/nodetool --skill nodetool-3d-scene -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-3d-scene --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/system-skills/nodetool-3d-scene .gemini/skills/nodetool-3d-scene && 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 "nodetool-3d-scene" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-3d-scene into .gemini/skills/nodetool-3d-scene/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-3d-scene", 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 nodetool-ai/nodetool nodetool-3d-sceneInstalls 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 nodetool-ai/nodetool --skill nodetool-3d-scene -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/system-skills/nodetool-3d-scene .github/skills/nodetool-3d-scene && 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 "nodetool-3d-scene" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-3d-scene into .github/skills/nodetool-3d-scene/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-3d-scene", 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 nodetool-ai/nodetool --skill nodetool-3d-scene -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-3d-scene --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/system-skills/nodetool-3d-scene .opencode/skills/nodetool-3d-scene && 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 "nodetool-3d-scene" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-3d-scene into .opencode/skills/nodetool-3d-scene/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-3d-scene", 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.
nodetool-3d-sceneBuild, edit, validate or render a NodeTool 3D model: glTF objects, transforms, lights, materials, and headless Blender renders.
Nodetool 3D Scene is an agent skill from nodetool-ai/nodetool. Build, edit, validate or render a NodeTool 3D model: glTF objects, transforms, lights, materials, and headless Blender renders.
Its SKILL.md is about 1.1k 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, covering 3D graphics and WebGL. It works with Blender. The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 339f069. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Nodetool 3D Scene loads about 1.1k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 621 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 nodetool-ai/nodetool at commit 339f069, republished under its AGPL-3.0 licence (© nodetool-ai). 621 words, ~1,091 tokens.
.claude/skills/nodetool-3d-scene/SKILL.md (or your agent's skills folder).A 3D model is a .glb or .gltf asset, addressed by its asset id. The
capabilities edit the stored glTF in place and save it back over the same asset,
so the id stays valid and an open editor reloads it.
For a 2D game, use native-game. The built-in game engine will add 3D scene
support later. For a 3D clip inside a cut, build the model here and place it
on a timeline.
list_model3ds returns asset id, name, content type and size.
Nothing to start from: create_model3d {name, ops?} makes an empty glTF
scene and can apply the whole scene in the same call.get_model3d {model_id} lists every object with its uuid, name,
type, visibility, transform and material color, plus the scene's world-space
bounds. Call this before editing, for the uuids.edit_model3d {model_id, ops: [...]}. Operations run in order.
Anything they do not name — meshes, textures, skins, animations — is kept, so
an imported model survives an edit.validate_model3d {model_id | document}.render_model3d goes through
headless Blender (EEVEE or Cycles), honors scene cameras and lights, and
stores a PNG asset. It needs Blender on the server.edit_model3d ops| Op | Fields |
|---|---|
add_object | kind: box, sphere, plane, cylinder, torus, directionalLight, pointLight. Optional name |
delete_object | target |
set_transform | position, rotation (Euler degrees), scale, each [x, y, z] |
set_visibility | visible |
rename_object | target, name |
set_material_color | color as a CSS hex string, meshes only |
select_object | target, or null to clear |
target is a uuid or a name. Object ids are stamped into
node.extras.nodetool_id, because glTF addresses nodes by array index and a
delete renumbers them. Duplicate names make addressing ambiguous, which
validate_model3d warns about.
delete_object keeps the file valid: an animation left with no channels is
removed, and so is a skin that lost a joint, which leaves its mesh in the bind
pose. set_material_color recolors only the named object, copying a material
or mesh it shares with another object first.
These are the ui_3d_* verbs with no editor open. The operations, the units and
the addressing live in @nodetool-ai/model3d, shared with the browser editor, so
a model built headlessly opens there unchanged.
ui_3d_frame_scene and ui_3d_capture_view need a WebGL context. Without one,
get_model3d's world-space bounds are what answer "how big is this and where is
it". Use render_model3d when an actual picture is required.
validate_model3d catchesThe glTF version, references that resolve to nothing (node, mesh, accessor, material, buffer, skin, camera, skin joint, animation target and sampler), a node with two parents, a cycle in the node hierarchy, a node carrying both a matrix and TRS fields, an accessor with an unknown type or reading past its buffer view, a buffer view reading past its buffer, an undeclared light, and an extension this build cannot honor. It warns on an empty scene, geometry with no light, and duplicate names. It only reads the document, and it handles hierarchies of any depth.
A model3d layer is the one kind preview_timeline_frame cannot draw on its
own canvas. The preview pass collects every 3D layer across the requested
instants, groups them by glTF plus the options that fix a renderer, and hands
each group to one headless Chromium page. Two fields on the layer's report say
what the pixels do not: camera (the pose it was drawn with, authored camera
folded with the animated channels) and animation_time_sec (the glTF
animation's own clock, not timeline time). With no Chrome on the host the group
is left out and reported as a model3d_unavailable degradation.
In a NodeTool checkout, these repository sources go further:
docs/harnesses.md § 3D scene toolsdocs/harnesses.md § 3D clips in preview_timeline_frame© nodetool-ai, 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
Just SKILL.md in packages/system-skills/nodetool-3d-scene of nodetool-ai/nodetool.
Open the folder on GitHubat commit 339f069
Nodetool 3D Scene 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 |
|---|---|---|---|---|---|---|
| Nodetool 3D Scene this skillnodetool-ai/nodetool | 560 | — | ~1.1k | Automated safety check: Pass | AGPL-3.0 | |
| Threejs World Generationcalesthio/OpenMontage | 66k | — | ~2k | Automated safety check: Pass | AGPL-3.0 | |
| 3Dviz Pro Max Scene Builderviettranx/3dviz-pro-max | 709 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Asset Pipelinerehan-remade/universal-modder | 6.1k | — | ~2k | Automated safety check: Pass | MIT | |
| Blender Image To 3Dmajidmanzarpour/blender-game-skills | 135 | — | ~5.7k | Automated safety check: Pass | MIT | |
| Text To 3D AssetLaurentiuGabriel/unreal-game-assets-creation-skill | 148 | — | ~2.1k | Automated safety check: Pass | None |
calesthio/OpenMontage
Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.
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.
rehan-remade/universal-modder
Turn generated or hand-made art into exactly what a game engine loads.
majidmanzarpour/blender-game-skills
Build a game-ready 3D asset in Blender from reference images (concept art, photos, turnarounds, sketches, screenshots) for any category, including characters, creatures, architecture, vehicles…
LaurentiuGabriel/unreal-game-assets-creation-skill
Generate a game-ready 3D asset by running the local AI pipeline sequentially: Fooocus (SDXL text-to-image) - Hunyuan3D-2 (image-to-textured-GLB) - optional Blender FBX convert + Unreal import.
lukapiskorec/craftbot
Turns a finished CraftBot building model into cut lists, stick orders and full-scale printable sheets for building a physical scale model by hand.
nodetool-ai/nodetool
Cut a NodeTool timeline to music and shape its pacing — detect the beat grid, place cuts on phrases, pick a cut type, build speed ramps with time remap, and give the piece an arc.
nodetool-ai/nodetool
Add and animate a consistent text layer on an existing NodeTool timeline.
nodetool-ai/nodetool
Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.
nodetool-ai/nodetool
Write a shootable, precisely timed commercial beat sheet and store it as a NodeTool storyboard, with a consistent entity roster behind every shot.
nodetool-ai/nodetool
Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…
nodetool-ai/nodetool
Stage the frame on a NodeTool timeline — grids, focal placement, safe areas per aspect ratio, depth layers and parallax, camera moves, and where elements enter and leave.
Works with
Categories
Build, edit, validate or render a NodeTool 3D model: glTF objects, transforms, lights, materials, and headless Blender renders. Nodetool 3D Scene is an agent skill from nodetool-ai/nodetool. Build, edit, validate or render a NodeTool 3D model: glTF objects, transforms, lights, materials, and headless Blender renders.
Nodetool 3D Scene fits situations like: tasks that involve 3D graphics and WebGL.
Run `npx skills add nodetool-ai/nodetool --skill nodetool-3d-scene -a claude-code`. Or copy the skill folder (packages/system-skills/nodetool-3d-scene in nodetool-ai/nodetool) into .claude/skills/nodetool-3d-scene in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nodetool-ai/nodetool --skill nodetool-3d-scene -a codex`. Or copy the skill folder (packages/system-skills/nodetool-3d-scene in nodetool-ai/nodetool) into .agents/skills/nodetool-3d-scene 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 nodetool-ai/nodetool --skill nodetool-3d-scene -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nodetool-3d-scene, .gemini/skills/nodetool-3d-scene, .github/skills/nodetool-3d-scene and .opencode/skills/nodetool-3d-scene in your project.
SKILL.md names no scripts, command-line tools or credentials: Nodetool 3D Scene is instructions for the agent only.
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.
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.
Nodetool 3D Scene 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 1.1k tokens (SKILL.md is roughly 4.4k 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 Nodetool 3D Scene: Threejs World Generation (calesthio/OpenMontage, 66k stars), 3Dviz Pro Max Scene Builder (viettranx/3dviz-pro-max, 709 stars), Asset Pipeline (rehan-remade/universal-modder, 6.1k stars) and Blender Image To 3D (majidmanzarpour/blender-game-skills, 135 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nodetool-ai (a GitHub organization) maintains it in nodetool-ai/nodetool, which has 560 GitHub stars. The repository holds 127 skills in this directory. The repository was last updated on October 10, 2026.
Source: nodetool-ai/nodetool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.