operator-gotchas

operator-gotchas is a skill for Claude Code from dylanroscover/Embody. It costs 74 tokens per session (3,403 once invoked), scanned A, original, MIT.

A reference for common TouchDesigner operator mistakes, including real parameter names, defaults, menu values, input order, and safe ways to reference parts of a visual network. TouchDesigner operators are the components that process images, data, or control signals.

In plain words
What is it for?
Use it before wiring unfamiliar image, channel, material, data, lighting, camera, or instancing components in a TouchDesigner project.
Why use it?
It reduces trial and error when using an unfamiliar component and helps avoid silent failures caused by guessed settings, wrong menu tokens, or renamed references.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

Good fit Use it before wiring unfamiliar image, channel, material, data, lighting, camera, or instancing components in a TouchDesigner project.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dylanroscover/embody/operator-gotchas
Install

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.

Any agent
npx skills add dylanroscover/Embody --skill operator-gotchas
Clone the repo
git clone --depth 1 https://github.com/dylanroscover/Embody

Made for: Claude Code.

Wrote 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.

agentmods badge for operator-gotchas

README.md
[![agentmods](https://agentmods.dev/badge/skills/dylanroscover/embody/operator-gotchas/github.svg)](https://agentmods.dev/skills/dylanroscover/embody/operator-gotchas)
Your own site
<a href="https://agentmods.dev/skills/dylanroscover/embody/operator-gotchas"><img src="https://agentmods.dev/badge/skills/dylanroscover/embody/operator-gotchas/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.

agentmods 80×15 button for operator-gotchas

Your own site · 80×15
<a href="https://agentmods.dev/skills/dylanroscover/embody/operator-gotchas"><img src="https://agentmods.dev/badge/skills/dylanroscover/embody/operator-gotchas.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 74 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,403 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00074 $0.03403
Opus 5.5 $0.00030 $0.01361
Sonnet 5.5 $0.00015 $0.00681
Haiku 4.5 $0.00007 $0.00340

Measured 14d ago against content hash d4e38aca1140, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

operator-gotchas 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 14d 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.

.claude/skills/operator-gotchas/SKILL.md · 82 lines

How it starts

The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Operator Gotchas

Per-operator traps, verified live on TD 2025.33230 (2026-09-25) unless marked as a field note. Before touching an unfamiliar operator, describe_op_type(op_type, pattern=...) returns its real parameter names, creation defaults and menu values, and set_parameter rejects a bad menu value and names the valid ones. A guessed name costs a round trip; a wrong guess that happens to exist costs a show.

Universal

  • Reference nulls, not live ops. An expression or OP parameter that names a Null survives inserting or deleting the ops before it; one that names the working op breaks the moment a filter goes in front. End every chain in a Null and point everything at that.
  • OP-reference parameters hold a path string and do not follow a rename of their target (a Select TOP pointed at a renamed Constant TOP read None). After any rename, sweep par.val, par.expr and par.bindExpr for the old name (td-python.md).
  • Menu values are the lowercase token, never the label: ortho not orthographic, deg not degrees, aa8 not aa8high, chanpercol not Channel per Column.
  • Par.default can disagree with what a fresh operator actually holds (a Text DAT's language declares input but a new one reads text); describe_op_type reports the creation value and flags the divergence.
  • Time-dependent operators cook only when something demands their output: a viewer, a Render or Out TOP, a Null with its viewer on, a CHOP Execute DAT. A silent chain is usually undemanded, not broken (td-python.md, Cook Model).

TOPs

  • compositeTOP: operand defaults to multiply. With over, input 0 is the FOREGROUND (on top) and later inputs sit underneath, the reverse of a layer stack.
  • constantTOP is white with alpha 1 by default; set colorr/g/b=0 and alpha=0 for an empty seed. It exposes type=texture3d but has no customdepth, so it cannot seed a real volume; use a small glslTOP (/glsl-shaders).
  • feedbackTOP: top names the Null that closes the loop, resetpulse resets. Keep format identical through the loop (rgba16float or rgba32float for anything outside 0-1) and pin outputresolution=custom inside it. Field note (TDMCPSkills): on reset it takes the input's resolution, afterwards the target's, so a mismatch changes resolution after the first frame.
  • selectTOP: top is a path string (see Universal: a rename breaks it).
  • depthTOP: pixelformat=rgba16float + depthspace=reranged gives usable 0-1 depth.
  • moviefileinTOP: paths resolve relative to the .toe; a file change or reloadpulse lands only across a real frame advance (/td-api-reference, Cook Model Gotchas). playmode is locked, specify, sequential or timecodeop; cuepulse + cuepoint jump.
  • renderTOP: camera defaults to cam1, geometry and lights to *; antialias is aa1..aa32; bgcolora 0 keeps the background transparent for compositing; set a float format before bloom or tone-mapping or every value clips at 1.0 (/visual-aesthetics).
  • rgba8fixed, the default output format everywhere, clamps to 0-1. Data textures, feedback, random values and HDR need rgba16float or rgba32float.
  • choptoTOP: dataformat packs channels (r, one channel per row by default; rgba packs four) and needs a float format for data bakes.
  • glslTOP has 3 input connectors; use glslmultiTOP for more (/glsl-shaders).

Read the full file on GitHub · 82 lines

Changes

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.

  1. 14d ago Changed d4e38aca1140
  2. 19d ago First seen · 82 lines · 74 tokens per session scan A e34ae0624af0

Subscribe to this mod's changes

operator-gotchas is a skill published in the GitHub repository dylanroscover/Embody (199 stars, last pushed yesterday), licensed MIT. It adds 74 tokens to every session and 3,403 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-09-27.

Related

Other skills, from other repositories

python-api

This skill should be used when writing, editing, or debugging Python code that runs inside TouchDesigner — scripts, expressions, DAT callbacks, Extensions, or one-off snippets passed to executepythonscript — or whenever there is uncertainty about a td class's methods, members, or module-level API. Trigger phrases…

8beeeaaat/touchdesigner-mcp · 117 tokens

agentcore-investigation

Investigate Bedrock AgentCore runtime sessions via CloudWatch Logs Insights — resolve session/trace IDs, query OTEL spans, filter noise, build timelines. Use when debugging AgentCore agent sessions, tracing tool calls, or analyzing latency.

awslabs/mcp · 52 tokens

idapython

IDA Pro Python scripting for reverse engineering. Use when writing IDAPython scripts, analyzing binaries, working with IDA's API for disassembly, decompilation (Hex-Rays), type systems, cross-references, functions, segments, or any IDA database manipulation. Covers ida modules (50+), idautils iterators, and common…

mrexodia/ida-pro-mcp · 77 tokens

perf

This skill should be used when the user runs /touchdesigner:perf, or asks to measure where frame time is going in a TouchDesigner project — a cook-time profiling pass across the network producing a ranked list of the slowest operators. Trigger phrases include "measure cook times", "profile my TD project", "which…

8beeeaaat/touchdesigner-mcp · 100 tokens

debug

This skill should be used when the user runs /touchdesigner:debug or asks to debug, investigate, or find TouchDesigner node errors — trigger phrases include "debug my TouchDesigner project", "why is this node broken", "find errors in TD", "investigate node errors", "what's wrong with /project1/geo1", or "fix this…

8beeeaaat/touchdesigner-mcp · 79 tokens

setup

This skill should be used when the user runs /touchdesigner:setup or asks to verify, check, fix, or set up the TouchDesigner connection — trigger phrases include "check my TD connection", "is TouchDesigner connected", "set up touchdesigner-mcp", "TD isn't responding", "fix the TouchDesigner connection", or "verify…

8beeeaaat/touchdesigner-mcp · 96 tokens