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 skills add dcc-mcp/dcc-mcp-houdini --skill houdini-animationgit clone --depth 1 https://github.com/dcc-mcp/dcc-mcp-houdiniWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dcc-mcp/dcc-mcp-houdini/houdini-animation)<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-houdini/houdini-animation"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-houdini/houdini-animation/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-houdini/houdini-animation"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-houdini/houdini-animation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00066 | $0.01148 |
| Opus 5 | $0.00033 | $0.00574 |
| Sonnet 5 | $0.00013 | $0.00230 |
| Haiku 4.5 | $0.00007 | $0.00115 |
Grade A, and why
houdini-animation scanned grade A with 0 findings 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 11d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
houdini-animation
Typed animation tools for agents. All tools are affinity: main.
Tool groups
timeline:get_timeline,set_timeline— the canonical timeline query/setter. For interactive timeline edits preferset_timelineoverhoudini_automation__set_frame_range(which remains for file-based batch flows).keyframes:set_keyframe,get_keyframes,delete_keyframes(destructive).channels:list_animated_parms,get_channel_info,export_channels,import_channels(JSON round-trip).validation:validate_loop_contract— bounded, read-only OBJ world- transform continuity checks with driver summaries. It never inspects or cooks geometry and restores the original frame infinally.bake:bake_channels(async per-frame sample → constant keys, hard frame cap),cache_simulation(launch an isolated filecache/DOP/geometry ROP job by default, or reportwritten_files+elapsed_secsin explicit foreground mode).
Tracer-bullet flow
set_timeline(frame_range=[1,48], fps=24)set_keyframe(node_path="/obj/geo1", parm_name="tx", frame=1, value=0)set_keyframe(node_path="/obj/geo1", parm_name="tx", frame=48, value=10)get_keyframes("/obj/geo1", "tx")→ verify two keysvalidate_loop_contract(["/obj/geo1"], 1, 48)→ verify the periodic seamexport_channels("/obj/geo1", ["tx"], "/tmp/tx.json")→import_channelsto retargetbake_channels("/obj/geo1", ["tx"], frame_range=[1,48])to flatten expressions
For numeric keys, set_keyframe accepts optional interpolation: bezier,
linear, or constant. It controls the segment starting at that key; omit it
to preserve Houdini's default. Use constant for discrete one-frame switches.
Loop range contract
validate_loop_contract treats [start_frame, end_frame] as N unique
playback samples. For the default step of one frame it temporarily samples
start, start+1, start+2, end-1, end, and the virtual continuation
end+1.
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/_anim_common.py 2.1 KB runs code
- scripts/bake_channels.py 3.0 KB runs code
- scripts/cache_simulation.py 4.1 KB runs code
- scripts/delete_keyframes.py 1.9 KB runs code
- scripts/export_channels.py 1.8 KB runs code
- scripts/get_channel_info.py 1.9 KB runs code
- scripts/get_keyframes.py 1.1 KB runs code
- scripts/get_timeline.py 1.4 KB runs code
- scripts/import_channels.py 2.5 KB runs code
- scripts/list_animated_parms.py 1.4 KB runs code
- scripts/set_keyframe.py 2.9 KB runs code
- scripts/set_timeline.py 2.0 KB runs code
- scripts/validate_loop_contract.py 26 KB runs code
- tools.yaml 10 KB
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.
- 11d ago First seen · 92 lines · 66 tokens per session scan A 8e1e8b74f158
houdini-animation is a skill published in the GitHub repository dcc-mcp/dcc-mcp-houdini (12 stars, last pushed today), licensed MIT. It adds 66 tokens to every session and 1,148 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
maya-render
Pipeline stage — render globals, final-frame rendering, and viewport capture: configure render settings, query them, render frames, capture playblasts. Use for producing final or preview imagery. Not for modeling (maya-mesh-ops), animation editing (maya-animation), generic file import/export (maya-geometry), or render…
maya-scripting
Bootstrap stage — escape hatch for Maya work that has no packaged skill yet. Agents should prefer searchskills / dcccapabilitymanifest → loadskill → typed tools (inputSchema + annotations) from domain skills; use executepython or executemel only when no skill matches, for bulk in-process loops, or for API…
dcc-mcp-core
Foundation library for the DCC Model Context Protocol (MCP) ecosystem. Provides Rust-powered action management, skills system, IPC transport, MCP Streamable HTTP server (2025-03-26 spec, with 2025-06-18 and 2025-11-25 awareness), sandbox security, shared memory, screen capture, USD scene support, and telemetry for…
dcc-mcp-maya-setup
Set up dcc-mcp-maya for an agent or operator: install Maya Python dependencies with mayapy, generate MCP host configuration, guide the user through loading the Maya plugin, and run a first live-tool smoke prompt.
maya-asset-source
Pipeline stage — asset discovery and resolution. Search local asset libraries, resolve paths to structured AssetDescriptor records, and surface candidate assets for downstream import. Use before maya-import-to-scene to locate what to import.
maya-pipeline
Domain skill — Maya asset pipeline orchestration: set up project directory structures, export scenes to USD, and coordinate multi-step DCC workflows. Use when initialising a Maya project or exporting assets for a downstream pipeline. Not for raw geometry editing — use maya-geometry for that. Not for low-level USD file…