Cesium Quickstart
gaopengbin/cesium-mcp
Guide users through their first interaction with the Cesium 3D globe via MCP tools
Auto-rig a static 3D GLB model into an animation-ready one. An agent skill from nirholas/three.ws.
$ npx skills add nirholas/three.ws --skill rig-a-model -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nirholas/three.ws rig-a-model --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/nirholas/three.ws.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/rig-a-model .claude/skills/rig-a-model && 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 "rig-a-model" agent skill from https://github.com/nirholas/three.ws/tree/main/.agents/skills/rig-a-model into .claude/skills/rig-a-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rig-a-model", 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/nirholas/three.ws/tree/main/.agents/skills/rig-a-modelType 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 nirholas/three.ws --skill rig-a-model -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nirholas/three.ws rig-a-model --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/rig-a-model .agents/skills/rig-a-model && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rig-a-model" agent skill from https://github.com/nirholas/three.ws/tree/main/.agents/skills/rig-a-model into .agents/skills/rig-a-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rig-a-model", 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 nirholas/three.ws --skill rig-a-model -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nirholas/three.ws rig-a-model --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/rig-a-model .cursor/skills/rig-a-model && 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 "rig-a-model" agent skill from https://github.com/nirholas/three.ws/tree/main/.agents/skills/rig-a-model into .cursor/skills/rig-a-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rig-a-model", 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/nirholas/three.ws.git --path .agents/skills/rig-a-model--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 nirholas/three.ws --skill rig-a-model -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nirholas/three.ws rig-a-model --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/rig-a-model .gemini/skills/rig-a-model && 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 "rig-a-model" agent skill from https://github.com/nirholas/three.ws/tree/main/.agents/skills/rig-a-model into .gemini/skills/rig-a-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rig-a-model", 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 nirholas/three.ws rig-a-modelInstalls 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 nirholas/three.ws --skill rig-a-model -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/rig-a-model .github/skills/rig-a-model && 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 "rig-a-model" agent skill from https://github.com/nirholas/three.ws/tree/main/.agents/skills/rig-a-model into .github/skills/rig-a-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rig-a-model", 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 nirholas/three.ws --skill rig-a-model -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nirholas/three.ws rig-a-model --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nirholas/three.ws.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/rig-a-model .opencode/skills/rig-a-model && 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 "rig-a-model" agent skill from https://github.com/nirholas/three.ws/tree/main/.agents/skills/rig-a-model into .opencode/skills/rig-a-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rig-a-model", 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.
rig-a-modelAuto-rig a static 3D GLB model into an animation-ready one. An agent skill from nirholas/three.ws.
Rig A Model is an agent skill from nirholas/three.ws. Auto-rig a static 3D GLB model into an animation-ready one. Use when you or the user have an existing GLB and want to rig it, add a skeleton, add bones, make it posable, or make it animatable — "rig this model", "add a skeleton to my GLB", "make this character animation-ready". Takes a GLB URL, adds a humanoid skeleton plus skin weights, and returns the rigged GLB URL and a pose-studio link.
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 Agent Workflows, covering MCP servers and 3D graphics and WebGL. The repository describes itself as: Open-source platform for 3D AI agents. Turn text or a photo into a rigged, animated GLB avatar, give it an LLM brain, memory and a wallet, and embed it anywhere with one web… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 238ef60. 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.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
three.wsFrom 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.
Rig A Model loads about 1.1k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 351 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 nirholas/three.ws at commit 238ef60, republished under its MIT licence (© nirholas). 351 words, ~1,072 tokens.
.claude/skills/rig-a-model/SKILL.md (or your agent's skills folder).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.
| 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.
If the three.ws MCP server is connected, call the rig tool directly:
rig_mesh{ "glb_url": "<https URL to the static GLB>" }glbUrl from generate-3d-model, a CDN
link, or a model you host yourself.riggedGlbUrl, sourceGlbUrl, poseStudioUrl, jobId,
creationId, durationMs.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
}The MCP tool is a thin client over the public rig endpoint. Submit, then poll:
# 1. Start the rig job
curl -s -X POST "https://three.ws/api/forge?action=rig" \
-H 'content-type: application/json' \
-d '{ "glb_url": "https://three.ws/avatars/cesium-man.glb" }'
# → { "job_id": "r9k2m7x4", ... }
# 2. Poll until done (every ~3s, budget ~180s)
curl -s "https://three.ws/api/forge?job=r9k2m7x4" -H 'accept: application/json'
# → { "status": "done", "glb_url": "https://.../rigged.glb" } (or "failed" / still "running")Build the pose-studio link yourself from any rigged GLB URL:
https://three.ws/pose?src=<URL-encoded riggedGlbUrl>.
riggedGlbUrl for download / import; it carries a humanoid
skeleton and skin weights, so animation clips retarget onto it.sourceGlbUrl stays valid.rate_limited / 429 — the rigger is busy; honor retryAfter and retry.not_configured / 503 — auto-rigging momentarily unavailable; retry shortly.rig_failed — the model couldn't be rigged (usually not humanoid enough).
Tell the user why and suggest create-3d-avatar to generate a riggable figure.timeout — the job outlived the poll budget; the response includes a
resumeUrl — keep polling it rather than restarting the job.Never report a dead or empty link as success — only return a riggedGlbUrl the
job actually produced.
© nirholas, MIT. 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 .agents/skills/rig-a-model of nirholas/three.ws.
Open the folder on GitHubat commit 238ef60
Rig A Model 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 |
|---|---|---|---|---|---|---|
| Rig A Model this skillnirholas/three.ws | 226 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Cesium Quickstartgaopengbin/cesium-mcp | 140 | — | ~354 | Automated safety check: Pass | MIT | |
| Furniture Fit Checkpascalorg/editor | 25k | — | ~5.1k | Automated safety check: Pass | MIT | |
| Cesium Mapgaopengbin/cesium-mcp | 140 | — | ~964 | Automated safety check: Pass | MIT | |
| Unreal Scene Buildingflopperam/unreal-engine-mcp | 1.1k | — | ~1.4k | Automated safety check: Pass | None | |
| Fal Assetsrehan-remade/universal-modder | 4.7k | — | ~2k | Automated safety check: Notes | MIT |
gaopengbin/cesium-mcp
Guide users through their first interaction with the Cesium 3D globe via MCP tools
pascalorg/editor
Checks whether a sofa, table, bed or appliance fits in a measured Pascal room and reports only what the evidence supports, or asks for the missing measurements.
gaopengbin/cesium-mcp
Open and operate the Cesium MCP 3D map, create map objects and GeoJSON layers, or inspect the selected object in the connected map.
flopperam/unreal-engine-mcp
Guides scene and world building in Unreal Engine through the Flopperam MCP: placing actors, sculpting landscapes, scattering foliage, editing materials and verifying the level.
rehan-remade/universal-modder
Generate game assets with fal (fal.ai) through the fal MCP server, the um fal CLI (REST) or fal api.
jaccen/Awesome-Gaussian-Skills
MCP protocol integration with 3DGS rendering pipeline: Agent-controlled Three.js/WebGPU rendering, voice-driven scene reconstruction, real-time parameter manipulation, light tracing backend.
nirholas/three.ws
Add the Shaders WebGPU mouse effect used for the Tidal Commons hero: a white twinkling halftone cursor trail driven by ChromaFlow, masked through a DotGrid, finished with chromatic ripples and film…
nirholas/three.ws
Package a finished local project into an intentional GitHub repository, create a strong README and visual preview, push it safely, configure a public GitHub Pages URL when the project is compatible…
nirholas/three.ws
Audit a website or digital experience against its supplied source references for originality and plagiarism risk.
nirholas/three.ws
Turn a completed daily UI inspiration capture into exactly five original landing-page builds, one per separate Codex task, using Sites.
nirholas/three.ws
Write, rewrite, review, or continuously refine X/Twitter posts in Meng To's current voice using his deduplicated authored-post corpus, personal and product context, shared resources, and Content…
nirholas/three.ws
Create polished 60 fps 4:3 4K browser screen-recording style videos from Codex in-app browser captures, with browser-only crop, natural macOS cursor styling, deliberate click choreography…
Categories
Auto-rig a static 3D GLB model into an animation-ready one. An agent skill from nirholas/three.ws. ws. Auto-rig a static 3D GLB model into an animation-ready one.
Rig A Model fits situations like: the user have an existing GLB and want to rig it; make it posable; make it animatable — rig this model; add a skeleton to my GLB.
Run `npx skills add nirholas/three.ws --skill rig-a-model -a claude-code`. Or copy the skill folder (.agents/skills/rig-a-model in nirholas/three.ws) into .claude/skills/rig-a-model in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nirholas/three.ws --skill rig-a-model -a codex`. Or copy the skill folder (.agents/skills/rig-a-model in nirholas/three.ws) into .agents/skills/rig-a-model 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 nirholas/three.ws --skill rig-a-model -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rig-a-model, .gemini/skills/rig-a-model, .github/skills/rig-a-model and .opencode/skills/rig-a-model in your project.
Going by SKILL.md and its folder, Rig A Model needs the command-line tools its instructions call (curl).
SKILL.md names 1 domain. In commands or code: three.ws; the agent is likely to contact it when it follows the instructions. 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.
Rig A Model is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.3k 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 Rig A Model: Cesium Quickstart (gaopengbin/cesium-mcp, 140 stars), Furniture Fit Check (pascalorg/editor, 25k stars), Cesium Map (gaopengbin/cesium-mcp, 140 stars) and Unreal Scene Building (flopperam/unreal-engine-mcp, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nirholas (a GitHub user) maintains it in nirholas/three.ws, which has 226 GitHub stars. The repository holds 165 skills in this directory. The repository was last updated on October 7, 2026.
Source: nirholas/three.ws on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.