Agent skill

Rig A Model

by nirholas in nirholas/three.ws

Auto-rig a static 3D GLB model into an animation-ready one. An agent skill from nirholas/three.ws.

MITAuto-check passedAgent Workflows

Install Rig A Model

skills CLI
$ npx skills add nirholas/three.ws --skill rig-a-model -a claude-code

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

GitHub CLI
$ gh skill install nirholas/three.ws rig-a-model --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/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-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
rig-a-model
GitHub stars
226
Token cost
~1.1k tokens
SKILL.md length
351 words
Files
1
Skills in repo
165
Repo updated
First seen
Licence
MIT

At a glance

Auto-rig a static 3D GLB model into an animation-ready one. An agent skill from nirholas/three.ws.

  • Works in 3 steps: Give the user the pose-studio link —… → Give the riggedGlbUrl for download /… → The original mesh is never modified —…
  • The user have an existing GLB and want to rig it
  • SKILL.md covers When to use which tool, Fastest path — the MCP tool, Portable path — the hosted… and Raw REST pipeline, plus 2 more sections
  • Calls curl; reaches three.ws

What it does

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.

When your agent uses it

  • 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

Example prompts

  • “rig this model”
  • “add a skeleton to my GLB”
  • “make this character animation-ready”
  • “/rig-a-model”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Give the user the pose-studio link — pose and preview in the browser.
  2. Give the riggedGlbUrl for download / import; it carries a humanoid
  3. The original mesh is never modified — sourceGlbUrl stays valid.

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • curl

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • three.ws

    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

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.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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 nirholas/three.ws at commit 238ef60, republished under its MIT licence (© nirholas). 351 words, ~1,072 tokens.

Download SKILL.mdSave it as .claude/skills/rig-a-model/SKILL.md (or your agent's skills folder).
name
rig-a-model
description
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.
when_to_use
User already has a GLB (a URL) and wants it rigged. To generate a new model from text, use generate-3d-model; to generate an already-rigged character in one…
license
MIT
metadata.category
3d/creative
metadata.cross-platform-safe
true
metadata.pack
three-ws-skills

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

GoalUse
Add a skeleton to a GLB you already havethis skill
A new static object / prop from textgenerate-3d-model
A new rigged character from text/image in one callcreate-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 glbUrl from generate-3d-model, a CDN link, or a model you host yourself.
  • 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):

bash
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:

json
{
  "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

The MCP tool is a thin client over the public rig endpoint. Submit, then poll:

bash
# 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>.

Show full SKILL.md (127 more words)Show less

What to do with the result

  1. Give the user the pose-studio link — pose and preview in the browser.
  2. Give the riggedGlbUrl for download / import; it carries a humanoid skeleton and skin weights, so animation clips retarget onto it.
  3. The original mesh is never modified — sourceGlbUrl stays valid.

Errors

  • 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

Files

Just SKILL.md in .agents/skills/rig-a-model of nirholas/three.ws.

Open the folder on GitHubat commit 238ef60

Compare with similar skills

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.

Rig A Model compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rig A Model this skillnirholas/three.ws226—~1.1kAutomated safety check: PassMIT
Cesium Quickstartgaopengbin/cesium-mcp140—~354Automated safety check: PassMIT
Furniture Fit Checkpascalorg/editor25k—~5.1kAutomated safety check: PassMIT
Cesium Mapgaopengbin/cesium-mcp140—~964Automated safety check: PassMIT
Unreal Scene Buildingflopperam/unreal-engine-mcp1.1k—~1.4kAutomated safety check: PassNone
Fal Assetsrehan-remade/universal-modder4.7k—~2kAutomated safety check: NotesMIT

Similar skills

  • Cesium Quickstart

    gaopengbin/cesium-mcp

    Guide users through their first interaction with the Cesium 3D globe via MCP tools

    140 GitHub stars~354 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Furniture Fit Check

    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.

    25k GitHub stars~5.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Cesium Map

    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.

    140 GitHub stars~964 tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Unreal Scene Building

    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.

    1.1k GitHub stars~1.4k tokensUpdated 3 mo ago
    Game DevelopmentAuto-check passed
  • Fal Assets

    rehan-remade/universal-modder

    Generate game assets with fal (fal.ai) through the fal MCP server, the um fal CLI (REST) or fal api.

    4.7k GitHub stars~2k tokensUpdated today
    Game DevelopmentAuto-check: notes
  • 3dgs MCP Renderer

    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.

    161 GitHub stars~6.9k tokensUpdated today
    Game DevelopmentAuto-check passed

More from nirholas/three.ws

All 165 skills in this repo
  • Add Shader Cursor Trail

    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…

    226 GitHub starsUsed in 1 repo~760 tokens
    Auto-check passed
  • Publish Project To GitHub

    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…

    226 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check: notes
  • Audit a website or digital experience against its supplied source references for originality and plagiarism risk.

    226 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Turn a completed daily UI inspiration capture into exactly five original landing-page builds, one per separate Codex task, using Sites.

    226 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Write Like Meng On X

    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…

    226 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Browser Video Recording

    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…

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

Questions about Rig A Model

What does Rig A Model do?

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.

When should I use Rig A Model?

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.

How do I install Rig A Model in Claude Code?

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.

How do I install Rig A Model in Codex?

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.

Can I use Rig A Model 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 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.

What does Rig A Model need to run?

Going by SKILL.md and its folder, Rig A Model needs the command-line tools its instructions call (curl).

Does Rig A Model access the network?

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.

Is Rig A Model 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 Rig A Model use?

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.

How many tokens does Rig A Model use?

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.

What are the alternatives to Rig A Model?

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.

Who maintains Rig A Model?

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.