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-substance3d-designer --skill designer-lightinggit clone --depth 1 https://github.com/dcc-mcp/dcc-mcp-substance3d-designerWrote 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-substance3d-designer/designer-lighting)<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-substance3d-designer/designer-lighting"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-substance3d-designer/designer-lighting/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-substance3d-designer/designer-lighting"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-substance3d-designer/designer-lighting.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.00038 | $0.00628 |
| Opus 5.5 | $0.00015 | $0.00251 |
| Sonnet 5.5 | $0.00008 | $0.00126 |
| Haiku 4.5 | $0.00004 | $0.00063 |
Grade A, and why
designer-lighting 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 1mo 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 — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Designer Lighting
Honest capability boundary
Substance 3D Designer is a procedural texture authoring host. It has no lights, no scene graph, and no light transport. Nothing here places a light, sets an intensity, or renders a lit preview.
What Designer does provide are converter nodes that derive lighting-response maps from a height or mask field. Those maps encode surface response that a downstream renderer (Blender, Unreal, Maya, Houdini) consumes when it performs the actual lighting. Use this skill to author those maps, not to light a scene.
This skill is experimental: recipe availability is a runtime property, not a
documented guarantee. The 6 lighting recipes resolve against the live
node-definition inventory at call time, so treat the available flag reported
by list_light_recipes as the only source of truth for whether a recipe exists
in the running Designer build. Never assume a recipe name implies a node type.
Recipes resolve against the live inventory
Node type URLs vary between Designer builds. Run list_light_recipes first: it
reports each recipe with the type_url it resolved to and an available flag.
A recipe that resolves to nothing fails closed with RECIPE_UNAVAILABLE and
lists the candidates it tried, without creating any node.
Tool notes
bake_lighting_mapsresolves every requested map before creating any node. If a step fails, the nodes that call created are removed.- Each derived node is connected from the single
source_node.source_propertyyou provide, then exported through the adapter's header-verified native map export, so every returned file is proven fresh and dimension-checked. - Input and output ports are resolved by discovery, not assumption: texture-typed ports win, then conventionally named ports, then the first available port.
- The typical height-driven lighting chain is
normal_from_height+ambient_occlusion+curvature.
designer-effects shares the same recipe-resolution mechanism for blur, warp,
levels, sharpen, edge detect, blend, and mask recipes.
What ships with it
3 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.
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.
- 1mo ago Changed 196b0cc2aeb5
- 1mo ago Changed · +6 lines d89ab1aa111a
- 1mo ago First seen · 54 lines · 38 tokens per session scan A a8083683b825
designer-lighting is a skill published in the GitHub repository dcc-mcp/dcc-mcp-substance3d-designer (3 stars, last pushed yesterday), licensed MIT. It adds 38 tokens to every session and 628 once invoked, about $0.0002 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-09-20.
Other skills, from other repositories
painter-project
Host skill - inspect and author the current Substance 3D Painter project. Use when creating or checking projects, building uniform or texture-driven PBR layers, masks and generators, baking mesh maps, importing resources, or exporting. Not for arbitrary JavaScript execution.
painter-lighting
Inspect and control Substance 3D Painter scene lighting. Painter has no light objects, so lighting is the environment map and its exposure and rotation. Use when setting up an HDRI, matching a look-dev environment, or reading the current lighting configuration. Not for lamps, shadows, or light rigs.
painter-material
Inspect and author the channel-level material surface of a Substance 3D Painter layer stack. Use when reading which channels a stack carries, enabling or disabling the channels a layer contributes, or setting uniform channel values. Not for creating layers, importing textures, or painting strokes.
painter-compositing
Inspect and control how a Substance 3D Painter layer composites with the layers beneath it - visibility, opacity, blending mode, and mask state. Use when stacking layers non-destructively or tuning how one layer combines with another. Not for creating or deleting layers, and not for painting strokes.
painter-diagnostics
Read-only readiness diagnostics for a running Substance 3D Painter adapter.
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…