Borrowing it
Nothing to install: this file belongs to 8beeeaaat/touchdesigner-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/8beeeaaat/touchdesigner-mcp/main/.claude/skills/touchdesigner-self-debug/SKILL.mdgit clone --depth 1 https://github.com/8beeeaaat/touchdesigner-mcpWrote 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/8beeeaaat/touchdesigner-mcp/touchdesigner-self-debug)<a href="https://agentmods.dev/skills/8beeeaaat/touchdesigner-mcp/touchdesigner-self-debug"><img src="https://agentmods.dev/badge/skills/8beeeaaat/touchdesigner-mcp/touchdesigner-self-debug/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/8beeeaaat/touchdesigner-mcp/touchdesigner-self-debug"><img src="https://agentmods.dev/badge/skills/8beeeaaat/touchdesigner-mcp/touchdesigner-self-debug.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00134 | $0.02194 |
| Opus 5.5 | $0.00054 | $0.00878 |
| Sonnet 5.5 | $0.00027 | $0.00439 |
| Haiku 4.5 | $0.00013 | $0.00219 |
Grade A, and why
touchdesigner-self-debug 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- touchdesigner-self-debug — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TouchDesigner Startup + Functional Self-Debugging
A general technique for verifying any TD-side Python change (e.g. anything in
td/modules/**) inside real TouchDesigner. Calling functions directly from
the Textport, without standing up the HTTP WebServer, is the shortest path.
This skill is feature-agnostic. The worked example in Steps 4–5 happens to verify node auto-alignment (the PR that produced this skill), but that is illustration only. The reusable shape is: create/modify via the real code path → read back the TD runtime value you actually care about → reconcile against an invariant. Swap the alignment-specific bits (grid, overlap area,
node_layout.py) for whatever your change touches. Do not assume alignment, grids, or overlap have anything to do with your task.
When to Execute
- You modified TD-side logic (e.g.
td/modules/mcp/services/*.py) and want to check behavior on the real machine. - Unit/offline verification is insufficient and you need to reconcile against TD runtime data (any node attribute, cook result, error state, etc.).
- You are in a fresh worktree that cannot rely on CI or the 9981-dependent integration suite.
Prerequisites and Pitfalls (read first — these are general)
- The
.toxreadstd/modules/from disk at runtime. Re-authoring the.toxis not required for.pychanges; reload modules or restart TD. loadTox()leavesexternaltoxempty →import_modules.setup()fails withNo module named 'mcp'. Replicate setup manually (Step 3).- A fresh worktree lacks generated artifacts → empty OpenAPI schema / missing
node_modulesbreaks HTTP routing. Bypass it by calling the Textport directly (Step 4). Only runnpm install && npm run genif you specifically need the HTTP path (e.g. running the vitest integration suite). - Computer-use screenshots go black when TD loses frontmost focus → recover with
open_application("TouchDesigner")+switch_display. - Multi-line pastes into the REPL break on line boundaries → always wrap in
exec("""...""")to submit as one statement. - To pick up a later
.pyedit in an already-running TD, drop the module fromsys.modulesso the next import reloads from disk (Step 3c). If the WebServer is already up you can do this viaexecute_python_script— no computer-use needed.
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 First seen · 162 lines · 134 tokens per session scan A 305944d0b671
touchdesigner-self-debug is a skill published in the GitHub repository 8beeeaaat/touchdesigner-mcp (601 stars, last pushed 13d ago), licensed MIT. It adds 134 tokens to every session and 2,194 once invoked, about $0.0005 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
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…
operator-gotchas
MUST READ before wiring a TOP, CHOP, MAT, DAT, light, camera or instancing chain you have not built before: the parameter names TD abbreviates, the defaults that silently do the wrong thing, and the input-order rules, per operator, verified on TD 2025.33230. Pair with describeoptype.
debug-operator
TRIGGER when operator errors appear or user reports broken behavior. Systematic diagnosis workflow.
python-explore
Use when understanding, navigating, debugging, refactoring, or extending Python code with the pyeye MCP server. Triggers on "how does X work", "what does", "why is X doing", "what calls/imports/subclasses this", "add feature", "implement", "refactor", "trace", "debug", "extend". Does NOT trigger for explicit "show…
python-code-quality
Code quality checks, linting, formatting, and type checking commands for the Agent Framework Python codebase. Use this when running checks, fixing lint errors, or troubleshooting CI failures.
plugin-architecture-patterns
Design, implement, or diagnose Xberg plugin traits, typed registries, priority collisions, lifecycle, native extractors, and Alef-generated Python plugin bridges. Load for plugin-system work, not ordinary extractor parsing.