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-lookdevgit 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-lookdev)<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-houdini/houdini-lookdev"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-houdini/houdini-lookdev/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-lookdev"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-houdini/houdini-lookdev.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.00064 | $0.00939 |
| Opus 5.5 | $0.00026 | $0.00376 |
| Sonnet 5.5 | $0.00013 | $0.00188 |
| Haiku 4.5 | $0.00006 | $0.00094 |
Grade A, and why
houdini-lookdev 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 yesterday.
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 — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
houdini-lookdev
Typed lookdev tools that complement houdini-materials (which creates and
assigns materials). Most tools are affinity: main; the filesystem-only preset
tools list_presets / delete_preset are affinity: any.
Tool groups
lookdev-query(read-only):list_materials,list_assignments,get_material_parms,get_shader_connections.lookdev-edit:set_material_parms,connect_shader,disconnect_shader(destructive),reset_material(destructive).presets:save_preset,list_presets,load_preset,delete_preset— JSON files under~/.dcc-mcp/houdini/material_presets/(override withDCC_MCP_HOUDINI_MATERIAL_PRESET_DIR).
Context limitations
- Karma / MaterialX: MaterialX subnets live under a
matnet/matlibrary; pass the exactmaterial_path(the surface output node). Parameter names differ fromprincipledshader, so preferget_material_parmsto discover names beforeset_material_parms. - VOP networks:
connect_shader/disconnect_shaderoperate on node input slots; useget_shader_connectionsto readinputNames()first. - Presets store evaluated parameter values only (not node graphs); loading
onto a different
material_typeis allowed but reported as a warning.
Parameter application: errors is a real list
set_material_parms and load_preset apply overrides with this package's
set_parameters, which probes each name against the node and returns
(applied, errors). Names the node does not expose are reported in errors
with a reason.
A null (None) value is never a valid parameter value: it is rejected into
errors rather than coerced (coercion would otherwise write the literal
"None" to a string parm or False to a toggle). Valid sibling overrides in
the same call still apply, and load_preset fails instead of reporting success
when every preset parameter is invalid.
Do not "clean up" errors. It is populated, not a constant empty list. A
parameter field is only dead when the tool routes overrides through a helper
that returns an empty second list unconditionally while the underlying
parameter_edit fails the call. houdini-gsplat-relighting reports the same
genuine second list as unsupported_parameters. Neither package may be swept
into a dead-field removal.
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/_lookdev_common.py 3.5 KB runs code
- scripts/connect_shader.py 1.8 KB runs code
- scripts/delete_preset.py 1.1 KB runs code
- scripts/disconnect_shader.py 1.4 KB runs code
- scripts/get_material_parms.py 1.5 KB runs code
- scripts/get_shader_connections.py 1.6 KB runs code
- scripts/list_assignments.py 1.7 KB runs code
- scripts/list_materials.py 1.5 KB runs code
- scripts/list_presets.py 1.4 KB runs code
- scripts/load_preset.py 2.3 KB runs code
- scripts/reset_material.py 1.6 KB runs code
- scripts/save_preset.py 2.1 KB runs code
- scripts/set_material_parms.py 1.4 KB runs code
- tools.yaml 6.7 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.
- yesterday Changed · +6 lines c7506fb9a503
- 1mo ago Changed · +14 lines 123f77fba60b
- 1mo ago First seen · 57 lines · 64 tokens per session scan A 3aa5c6888dd6
houdini-lookdev is a skill published in the GitHub repository dcc-mcp/dcc-mcp-houdini (18 stars, last pushed today), licensed MIT. It adds 64 tokens to every session and 939 once invoked, about $0.0003 per session on Opus 5.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
dcc-cua
A routing guide for controlling application interfaces through the project’s DCC-CUA system. DCC applications are digital-content tools such as Maya, Blender, and Houdini.
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…
marketplace-publish-extension
Infrastructure skill — publish (register/update) an extension package to a marketplace catalog. Reads the extension's SKILL.md frontmatter, constructs a CatalogEntry, and upserts it into the target marketplace.json. Optionally commits and pushes when the catalog source is a git repository. Use after scaffolding an…
mesh-ops
Cross-adapter polygon modeling recipe pack for the shared cross-DCC modeling vocabulary. Structured RECIPES.yaml entries for primitive creation, hard-surface edits, topology cleanup, UV generation, radial arraying, and material assignment. Reusable by every DCC adapter's mesh-ops skill (maya, blender, houdini, 3dsmax…
maya-import-to-scene
Pipeline stage — structured asset import. Consume an AssetDescriptor produced by maya-asset-source and import the asset (FBX, OBJ, USD) into the current Maya scene via cmds.file(). Handles axis/unit conversion, MaterialMode, PlacementHint, and optional target collection grouping. Returns an ImportToSceneResult with…
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.