Agent skill

Threejs 3D Generator

by valkor-ai in valkor-ai/loom

Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API.

Apache-2.0Auto-check passedGame Development

Install Threejs 3D Generator

skills CLI
$ npx skills add valkor-ai/loom --skill threejs-3d-generator -a claude-code

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

GitHub CLI
$ gh skill install valkor-ai/loom threejs-3d-generator --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/valkor-ai/loom.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/shared/loom/skills/threejs/threejs-3d-generator .claude/skills/threejs-3d-generator && 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-3d-generator
GitHub stars
1.2k
Used in
1 other repo
Token cost
~2.6k tokens
SKILL.md length
1,022 words
Files
6 (incl. scripts, references)
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API.

  • Game-ready GLB/FBX
  • SKILL.md covers References, API key, Commands and Resuming and Recovery, plus 2 more sections
  • Runs Python scripts from its folder; calls python3; needs TRIPO_API_KEY
  • Animation retargeting

What it does

Threejs 3D Generator is an agent skill from valkor-ai/loom. Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API. Use for text-to-3D, image-to-3D, game-ready GLB/FBX, characters, creatures, buildings, props, weapons, terrain, auto-rigging, animation retargeting, model texturing, voxel/LEGO stylization, and low-poly conversion. Pair with threejs-image-generator for concept and texture references first.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/api-notes.md` and `references/image-generator-workflows.md`).

It sits in Game Development, covering 3D graphics and WebGL and Game assets and audio. It works with Three.js. The repository describes itself as: Loop engineering for agentic software delivery. The licence is Apache-2.0.

When your agent uses it

  • Game-ready GLB/FBX
  • Animation retargeting
  • Model texturing
  • Voxel/LEGO stylization

Example prompts

  • “/threejs-3d-generator”

Requirements

  • Python 3
  • A credential in TRIPO_API_KEY

What it can do on your machine

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

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    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 these keys or tokens, usually read from environment variables:

    • TRIPO_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Threejs 3D Generator loads about 2.6k tokens when it runs, and up to ~8.7k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 1,022 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from valkor-ai/loom at commit a30a7e6, republished under its Apache-2.0 licence (© valkor-ai). 1,022 words, ~2,589 tokens.

Download SKILL.mdSave it as .claude/skills/threejs-3d-generator/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
threejs-3d-generator
description
Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API. Use for text-to-3D, image-to-3D, game-ready GLB/FBX, characters, creatures, buildings, props, weapons, terrain, auto-rigging, animation retargeting, model texturing, voxel/LEGO stylization, and low-poly conversion. Pair with threejs-image-generator for concept and texture references first.

Three.js 3D Generator

Production 3D assets for browser games, prepared for Three.js. Provider: Tripo.

Resolve <this-skill-dir> from the actual loaded skill file. Resolve sibling skills beside it first, then use the runner's discovered paths. Do not mix installed versions or assume a particular home directory.

References

FileRead it when
references/api-notes.mdendpoint and task decisions, model versions, polling, postprocess, conversion, rigging, animation, downloads
references/threejs-integration.mdimporting outputs into a browser game, GLB/FBX loading, root motion, animation wiring
references/image-generator-workflows.mdpairing threejs-image-generator for concepts, textures, UI art, or image-to-3D inputs

API key

The script reads --api-key or TRIPO_API_KEY. Keys never go in skill files, game code, or reports.

bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py probe   # TRIPO_API_KEY=SET|MISSING

Keys defined only in a shell profile can be absent from the process env. If the plain probe unexpectedly prints MISSING, use threejs-game-director/scripts/probe_asset_credentials.sh, which sources the profile and probes all three providers at once.

Download URLs expire quickly — download immediately after a task succeeds.

Commands

bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py --help

Text to 3D, the default for a premium hero model:

bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py text \
  --prompt "game-ready sci-fi hover bike, sleek armored panels, strong readable silhouette, layered hard-surface detail, PBR materials, clean topology, centered pivot, front facing, no text" \
  --model-version v3.1-20260211 --texture-quality detailed --geometry-quality detailed \
  --checkpoint artifacts/hover-bike-job.json \
  --wait --download --out-dir assets/models/hover-bike

Image to 3D from a generated concept:

bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py image \
  --image assets/concepts/hover-bike-front.png --model-version v3.1-20260211 \
  --enable-image-autofix --texture-alignment original_image --texture-quality detailed \
  --wait --download --out-dir assets/models/hover-bike

Status, download, and postprocess (texture_model, animate_prerigcheck, animate_rig, animate_retarget, conversion, stylize_model):

bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py status TASK_ID
python3 <this-skill-dir>/scripts/threejs_3d_asset.py download TASK_ID --out-dir assets/models
python3 <this-skill-dir>/scripts/threejs_3d_asset.py postprocess --type conversion \
  --original-task-id TASK_ID --format GLTF --face-limit 20000 --wait --download --out-dir assets/models/gltf

Animated character pipeline: generation, prerigcheck, validated rig with bounded retries, retargets, and downloads, routed by body plan. Use checkpoints and stop between stages to inspect before spending on dependent work:

bash
python3 <this-skill-dir>/scripts/threejs_3d_asset.py character-pipeline \
  --prompt "stylized cyber runner character, T-pose, full body, game-ready outfit, readable silhouette" \
  --animations preset:idle,preset:walk,preset:run,preset:jump \
  --checkpoint artifacts/cyber-runner-job.json --stop-after model \
  --out-dir assets/models/cyber-runner

# After inspecting the downloaded model/preview:
python3 <this-skill-dir>/scripts/threejs_3d_asset.py resume artifacts/cyber-runner-job.json --stop-after rig
# After inspecting the validated rig:
python3 <this-skill-dir>/scripts/threejs_3d_asset.py resume artifacts/cyber-runner-job.json --stop-after animations

python3 <this-skill-dir>/scripts/threejs_3d_asset.py character-pipeline \
  --prompt "stylized wolf, quadrupedal stance, all four legs planted and separated, full body" \
  --rig-type quadruped --animations preset:quadruped:walk \
  --checkpoint artifacts/wolf-job.json --stop-after model --out-dir assets/models/wolf

Resuming and Recovery

--checkpoint PATH is optional on text, image, postprocess, and character-pipeline. It records accepted task IDs immediately, stage status, and downloaded file fingerprints; no API keys or signed output URLs go in the checkpoint. Use a separate checkpoint per job. Existing checkpoints must be resumed, not overwritten, and concurrent use is locked.

For background single-task generation omit --wait, retain the printed task ID/checkpoint, and run resume CHECKPOINT later. Single-task resume waits/downloads that task only; it does not add rigging. Character resume reuses completed stages and continues through animations unless --stop-after model|rig|animations limits this invocation. Credentials still come from the current environment. The checkpoint records absolute local paths, so keep its referenced files in place.

The helper retries safe status/download reads with bounded backoff, never paid task submissions. Missing credentials, exhausted credits, invalid input, transient errors, and uncertain submissions are reported distinctly. On interruption, resume the existing job rather than starting over. If a POST may have succeeded but no task ID was received, find it in provider history and use resume CHECKPOINT --task-id RECOVERED_ID; do not invent an ID or submit a replacement blindly. Without a recoverable ID, report the uncertainty before any potentially duplicate charge.

For coordinated games follow the director's references/asset-recovery.md; continue independent implementation while generation runs. Explicitly procedural or no-external-service requests override generated-asset defaults. Record pending jobs and user corrections in the project note, preserving completed assets instead of repeating generation.

Rigging and animation

These rules prevent nearly every expensive failure. Full parameter tables and the measurements behind them are in references/api-notes.md.

  • Generate characters as one fused mesh: keep --quad and --generate-parts off (generate_parts disables texturing, quad forces FBX output).
  • Require full-body T-pose or A-pose, arms away from the body, symmetric, no props fused to the silhouette. Check the rendered preview really is in that pose before rigging; regenerate if not.
  • Run animate_prerigcheck first (it takes no model version, costs nothing) and use the detected rig_type. riggable=false means regenerate with a clearer pose, not force a rig.
  • Rig version is routed by body plan. Humanoids use v1.0-20240301 — the anatomical skeleton with twist bones and the large preset:biped:* library. The v2.x limb-chain rigger went 0/16 on humanoid meshes, armored or not, always producing asymmetric chains. Creatures use v2.5-20260210. character-pipeline routes this automatically.
  • riggable=true does not guarantee a usable rig. Validate the skeleton before retargeting — validate-rig rig-model.glb --rig-type biped — checking both bone presence and chain depth, since a 1-bone leg warps every clip. A missing or malformed rig GLB is a failure, including with --force-rig. Auto-rigging is nondeterministic: on failure retry the rig task (~25 credits) within the chosen budget before regenerating the model. Armored hard-surface characters need the most retries.
  • animate_retarget takes the rig task ID, not the generation task ID. Non-biped rigs batch up to 5 presets per task; batched clips come back as NlaTrack, NlaTrack.001, … in request order, so map by index and rename after import.
  • Retarget v1.0 rigs with --model-version default — the enum rejects an explicit v1.0-20240301 with HTTP 400 code 2017, but the server default handles them.
  • v1.0 retargets must use --out-format fbx (the script enforces it): Tripo's GLB bake on this path writes twist-bone transforms in the wrong space and limbs collapse into the torso. v2.5 creature retargets are fine as GLB.
  • Never pass --animate-in-place. It corrupts the bake — mirrored and crossed limbs on v1.0, exploded skinning on v2.5. Keep root motion baked and strip it at import instead; the engine snippet is in references/threejs-integration.md.
  • Creatures get one locomotion preset each, and there is no preset:attack (use preset:slash or preset:shoot). A creature's mesh stance drives how a preset reads — a quadruped walk on an upright dragon looks like a person walking, so generate creatures in the stance the animation expects.
  • Multi-mode creatures (a dragon that crawls and flies) need the same model rigged twice: the ground rig type for locomotion, avian for wing chains.
  • Use --spec tripo (default) when Tripo presets will be retargeted; --spec mixamo rigs cannot be retargeted by Tripo and are for external pipelines only.
  • After download, run validate-animation clip.glb (flags scale tracks, limb-stretching translation, extreme rotations, per-clip duration and channel coverage), then check gltf.animations names and counts before wiring the AnimationMixer.
Show full SKILL.md (121 more words)Show less

Quality

Improve the user's prompt with material, silhouette, camera readability, scale, and game-use constraints. Request GLB/PBR with face limits and texture quality matched to the performance budget; for mobile, favor smart_low_poly, face_limit, or a later low-poly postprocess. Use generated 3D as hero content and build the surrounding prop kit procedurally.

Inspect unpaused in-game motion after integration: clip transitions, deformation, root motion, foot sliding, and attack/contact timing. Use the QA motion pass for animated work; a successful download or skeleton check is not proof of good animation.

Report task IDs, checkpoint/output paths, model version, texture and geometry settings, animations, conversion settings, Three.js import notes, observed motion, and anything that failed. Put detailed evidence in the project artifact for the lead's consolidated report.

© valkor-ai, Apache-2.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 5 other files (scripts, references) in plugins/shared/loom/skills/threejs/threejs-3d-generator of valkor-ai/loom.

  • SKILL.md
  • agents/openai.yaml
  • references/api-notes.md
  • references/image-generator-workflows.md
  • references/threejs-integration.md
  • scripts/threejs_3d_asset.py

Open the folder on GitHubat commit a30a7e6

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in valkor-ai/loom, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Threejs 3D Generator 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 3D Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Threejs 3D Generator this skillvalkor-ai/loom1.2k1 repos~2.6kAutomated safety check: PassApache-2.0
Threejs 3D Generatorcorosolto/client257—~3.4kAutomated safety check: PassAGPL-3.0
Living BackdropTheOrcDev/skills106—~2.3kAutomated safety check: PassNone
Blender Web Export Pipelinefreshtechbro/claudedesignskills1k—~4.2kAutomated safety check: PassMIT
Pneuma Lucidpandazki/pneuma-skills161—~4.6kAutomated safety check: WarnMIT
Vtj Resource ManagementhexianWeb/Third-Person-MC195—~1.6kAutomated safety check: PassMIT

Similar skills

  • Threejs 3D Generator

    corosolto/client

    Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games using the Tripo API.

    257 GitHub stars~3.4k tokensUpdated today
    Game DevelopmentAuto-check passed
  • Living Backdrop

    TheOrcDev/skills

    Turn one still image into a living web backdrop - depth parallax that follows the pointer, a subject that breathes, and ambient wind, cloud drift, light and dust, in a single WebGL shader with a…

    106 GitHub stars~2.3k tokensUpdated 11 days ago
    Game DevelopmentAuto-check passed
  • Blender Web Export Pipeline

    freshtechbro/claudedesignskills

    Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.

    1k GitHub stars~4.2k tokensUpdated 10 mo ago
    Game DevelopmentAuto-check passed
  • Pneuma Lucid

    pandazki/pneuma-skills

    Pneuma Lucid Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.

    161 GitHub stars~4.6k tokensUpdated today
    Game DevelopmentAuto-check: warnings
  • Vtj Resource Management

    hexianWeb/Third-Person-MC

    Loads and manages 3D assets via the Resources system. An agent skill from hexianWeb/Third-Person-MC.

    195 GitHub stars~1.6k tokensUpdated 2 mo ago
    Game DevelopmentAuto-check passed
  • Game 3D Assets

    corosolto/client

    3D asset engineer that finds, downloads, and integrates GLB/GLTF models into Three.js browser games.

    257 GitHub stars~5.4k tokensUpdated today
    Game DevelopmentAuto-check: notes

More from valkor-ai/loom

All 17 skills in this repo
  • 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
    Auto-check passed
  • Generate and edit 2D image assets for Three.js games with Google's Gemini image API: concept sheets, image-to-3D inputs, texture and material references, sky and background plates, decals, logos…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Threejs Game Director

    valkor-ai/loom

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

    1.2k GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Generate, convert, clean, and integrate audio for Three.js browser games with ElevenLabs: sound effects, looping ambience, UI sounds, impact/weapon/vehicle audio, creature and boss stingers…

    1.2k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Threejs QA Release

    valkor-ai/loom

    Verify and release Three.js browser games: playtest QA, automated bot playtests, mobile and responsive checks, production builds, static-hosting base paths, debug gating, bundle review, screenshots…

    1.2k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Upgrade Three.js games from prototype visuals to premium browser graphics: art-direction critique, procedural model building, material and texture libraries, world prop kits, shaders, VFX, lighting…

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed

Works with

Questions about Threejs 3D Generator

What does Threejs 3D Generator do?

Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API. Threejs 3D Generator is an agent skill from valkor-ai/loom.js games via the Tripo API.

When should I use Threejs 3D Generator?

Threejs 3D Generator fits situations like: game-ready GLB/FBX; animation retargeting; model texturing; voxel/LEGO stylization.

How do I install Threejs 3D Generator in Claude Code?

Run `npx skills add valkor-ai/loom --skill threejs-3d-generator -a claude-code`. Or copy the skill folder (plugins/shared/loom/skills/threejs/threejs-3d-generator in valkor-ai/loom) into .claude/skills/threejs-3d-generator in your project. Claude Code loads it when a task matches its description.

How do I install Threejs 3D Generator in Codex?

Run `npx skills add valkor-ai/loom --skill threejs-3d-generator -a codex`. Or copy the skill folder (plugins/shared/loom/skills/threejs/threejs-3d-generator in valkor-ai/loom) into .agents/skills/threejs-3d-generator in your project. Codex loads it when a task matches its description.

Can I use Threejs 3D Generator 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 valkor-ai/loom --skill threejs-3d-generator -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-3d-generator, .gemini/skills/threejs-3d-generator, .github/skills/threejs-3d-generator and .opencode/skills/threejs-3d-generator in your project.

What does Threejs 3D Generator need to run?

Going by SKILL.md and its folder, Threejs 3D Generator needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named TRIPO_API_KEY. Our summary lists: Python 3; A credential in TRIPO_API_KEY.

Does Threejs 3D Generator 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 3D Generator 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Threejs 3D Generator use?

Threejs 3D Generator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Threejs 3D Generator use?

About 2.6k tokens (SKILL.md is roughly 10k 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 6.1k tokens, read only when the agent opens those files.

What are the alternatives to Threejs 3D Generator?

Skills that share tags, products or a category with Threejs 3D Generator: Threejs 3D Generator (corosolto/client, 257 stars), Living Backdrop (TheOrcDev/skills, 106 stars), Blender Web Export Pipeline (freshtechbro/claudedesignskills, 1k stars) and Pneuma Lucid (pandazki/pneuma-skills, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Threejs 3D Generator?

valkor-ai (a GitHub organization) maintains it in valkor-ai/loom, which has 1,211 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 6, 2026.

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