Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/nirholas/three.ws/rig-a-modelnpx skills add nirholas/three.ws --skill rig-a-modelgit clone --depth 1 https://github.com/nirholas/three.wsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00107 | $0.01269 |
| Opus 5 | $0.00053 | $0.00634 |
| Sonnet 5 | $0.00021 | $0.00254 |
| Haiku 4.5 | $0.00011 | $0.00127 |
Grade A, and why
rig-a-model scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -X POST https://three.ws/api/mcp-studio \ How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Rig a 3D model
Turn a static GLB into an animation-ready one. The three.ws auto-rig pipeline (Make-It-Animatable) adds a humanoid skeleton and per-vertex skin weights, so the model can be posed and play animation clips.
The result is a riggedGlbUrl plus a pose-studio link that opens the
rigged model in the browser, ready to pose.
When to use which tool
| Goal | Use |
|---|---|
| Add a skeleton to a GLB you already have | this skill |
| A new static object / prop from text | generate-3d-model |
| A new rigged character from text/image in one call | create-3d-avatar |
Rigging assumes a roughly humanoid figure (head, torso, two arms, two legs, standing). Props, furniture, and vehicles won't rig meaningfully.
Fastest path — the MCP tool
If the three.ws MCP server is connected, call the rig tool directly:
- Tool:
rig_mesh - Input:
{ "glb_url": "<https URL to the static GLB>" }- Any reachable GLB URL works — a
glbUrlfromgenerate-3d-model, a CDN link, or a model you host yourself.
- Any reachable GLB URL works — a
- Returns:
riggedGlbUrl,sourceGlbUrl,poseStudioUrl,jobId,creationId,durationMs.
Portable path — the hosted HTTP endpoint
No MCP client needed. rig_mesh is exposed free on the hosted studio JSON-RPC
endpoint at https://three.ws/api/mcp-studio (no key, no account):
curl -s -X POST https://three.ws/api/mcp-studio \
-H 'content-type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "rig_mesh",
"arguments": { "glb_url": "https://three.ws/avatars/cesium-man.glb" }
}
}'
structuredContent returns the rigged model:
{
"ok": true,
"riggedGlbUrl": "https://three.ws/cdn/creations/def456/rigged.glb",
"sourceGlbUrl": "https://three.ws/avatars/cesium-man.glb",
"poseStudioUrl": "https://three.ws/pose?src=https%3A%2F%2Fthree.ws%2F...",
"jobId": "r9k2m7x4",
"durationMs": 48000
}
Raw REST pipeline
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 112 lines · 107 tokens per session scan A 4814f903b6e0
rig-a-model is a skill published in the GitHub repository nirholas/three.ws (107 stars, last pushed 3d ago), licensed Apache-2.0. It adds 107 tokens to every session and 1,269 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
supersplat
Use when editing 3D Gaussian Splatting (3DGS) .ply models in browser — cleanup noise/floaters, crop, transform, color-adjust, animate camera, publish online. SuperSplat: open-source browser-based 3DGS editor by PlayCanvas with PLY/compressed PLY/Splat/KSplat/SOG export.
blender-mcp
Drive Blender via the catalog blender MCP, with bpy recipes.
blender-mcp
Control Blender directly from Gauss via socket connection to the blender-mcp addon. Create 3D objects, materials, animations, and run arbitrary Blender Python (bpy) code. Use when user wants to create or modify anything in Blender.
optimize
Improve interface performance across loading speed, rendering, animations, images, and bundle size. Makes experiences faster and smoother.
motion-graphics
Build frame-exact motion graphics — animated logos, kinetic typography, brand videos, animated titles and social clips — as a single HTML file driven by a paused Web Animations timeline, then export them to MP4 in 1:1, 4:5 and 9:16. Use this whenever someone wants to animate a wordmark or logo, make a video from text…
threejs-core-renderer
Use when initializing a Three.js renderer, setting up the render loop, handling window resize, configuring tone mapping, or managing color spaces. Prevents the common mistake of not capping pixel ratio, using wrong color space, or forgetting to enable shadow maps. Covers WebGLRenderer, render targets, tone mapping…