tdmcp-bridge-endpoint
Build a tdmcp TouchDesigner-bridge vertical slice the house way — promote an op from /api/exec to a first-class REST endpoint (e.g.
Skill by hybridlabor-api
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hybridlabor-api-tdmcp-bridge-endpoint
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tdmcp-bridge-endpoint
What's inside
- Skill name
tdmcp-bridge-endpoint- Description
- Build a tdmcp TouchDesigner-bridge vertical slice the house way — promote an op from /api/exec to a first-class REST endpoint (e.g. POST /api/connect, GET /api/logs, node_detail flags), add its typed method in src/td-client/touchDesignerClient.ts, its Zod envelope in src/td-client/validators.ts, rewire the tool(s) to prefer the endpoint with an exec fallback, and write py_compile + td/tests unittest + offline msw client tests. Use when adding/changing a bridge REST endpoint, editing td/, extending node_detail/get_bridge_logs, promoting connect/disconnect/param-modes/DAT-text off exec, or doing any exec→REST work — especially the td-depth bridge-robustness backlog. Honors probe-live discipline when TouchDesigner is offline.
- License
- Apache-2.0
- Instructions
- 98 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# tdmcp-bridge-endpoint — the bridge vertical slice A bridge feature is correct only when **four layers agree on one shape**: the Python route, the TS client method, the Zod validator, and the tool that consumes it. This skill is that contract. Build the slice top-to-bottom, keep an exec fallback so it ships safely before every bridge in the wild updates, and prove it all offline. > Run bridge slices **one at a time** — they share `touchDesignerClient.ts`, > `validators.ts`, and the bridge route registry. Two in parallel is merge hell. ## Why exec→REST at all The bridge runs arbitrary Python on `/api/exec`. A security-conscious VJ runs `TDMCP_BRIDGE_ALLOW_EXEC=0` on a venue network — and ~69 tools silently die. Promoting a well-defined op (connect, param-mode read/write, DAT text, node flags, logs) to its own REST route makes it survive that hardened config. You are **promoting proven logic**, not inventing it — start from the Python the tool already sends through `/api/exec`. ## The slice, in order ### 1. Bridge (Python, `td/`) - Add a handler module (or extend the right existing one) and **register the route**. Find how routes are registered (the request dispatcher in `td/`) and follow that exact pattern — don't invent a second mechanism. - Keep every TD-global (`op`, `app`, `project`, `ui`) **inside the handler function** so the module imports cleanly outside TD (the tests rely on this). - Return a JSON report with a stable shape: a top-level `ok`/error and the data. Mirror the envelope the existing endpoints return so `parsePythonReport`/the validators stay uniform. - Honor `TDMCP_BRIDGE_TOKEN` (bearer auth) and the `ALLOW_EXEC` gate exactly as sibling routes do — a new route must not become an auth bypass. - `python3 -m py_compile td/**/<changed>.py` on every changed file. ### 2. Client method (`src/td-client/touchDesignerClient.ts`) - Add **one** typed method that calls the new route (GET/POST/PATCH/PUT as fits). - Map failures to the existing typed errors: `TdApiError` (4xx/5xx with a body), `TdConnectionError` (refused/DNS), `TdTimeoutError`. Never let a raw fetch error escape. - **Exec fallback:** if the endpoint returns 404 (older bridge without the route), fall back to the previous `/api/exec` Python path. This is what lets the promotion ship before the bridge is reinstalled everywhere. Make the fallback a private helper so the test can force both paths. ### 3. Validator (`src/td-client/validators.ts`) - Add a Zod schema for the response envelope and `.parse()` it in the client — never hand a raw wire object upward. Reuse the shared envelope helpers already in the file. ### 4. Rewire the tool(s) - Point `connect_nodes`/`disconnect_nodes`/`read_parameter_modes`/ `set_parameter_expression`/`edit_dat_content`/`set_dat_content`/`get_bridge_logs`/ the `node_detail` consumers at the new method. **Preserve current behavior and output exactly** — this is a transport swap, not a redesign. Keep fail-forward: validate inputs with Zod, turn TD failures into friendly `isError` via `errorResult`/`friendlyTdError`; never throw out of a handler. ## Probe-live discipline (when TD is offline) Attribute names that vary by TD build are the trap: connector semantics for connect/disconnect, `ParMode`/`.expr`/`.mode` names for param-modes, Error DAT column layout for logs, optype enumeration for createable. The backlog flags these `probe-live`. - **TD reachable** (`get_td_info` ok): probe the real names in a scratch network first (create a couple of ops, read the actual attrs), *then* lock the schema. - **TD offline:** implement against the best-known names from the knowledge base (`tdmcp://operators/...`, `tdmcp://classes/...`) and TD's documented Python API; write the offline tests; and **flag every probe-dependent assumption `UNVERIFIED-live`** in your report (with the source you used). Do not claim a live pass you could not observe. The campaign-lead holds `UNVERIFIED-live` items for a live pass before the final release. ## Tests (offline — no TD) - **Bridge unittest** `td/tests/test_<name>.py`: import the handler, call it with a faked `op()`/payload, assert the report shape and the error branch. At minimum `py_compile`. Run `python3 -m unittest discover -s td/tests`. - **Client msw test** `tests/unit/*`: stub the route; assert (a) success → validated shape, (b) 4xx/5xx → correct `TdError` subclass, (c) timeout → `TdTimeoutError`, (d) **404 → exec-fallback path** returns the same shape. Mirror the closest existing client test. ## Gates (all green before reporting) `npm run typecheck` · `npm run build` · `./node_modules/.bin/biome check .` (NOT `npm run lint`) · `npm test` · `npm run test:bridge`. Fix forward; never disable a gate or use `--no-verify`. ## Report back Endpoint(s) added + method + validator; tool(s) rewired; the exec-fallback behavior; every `UNVERIFIED-live` assumption with its source; gate results; and the ledger fields to set (`files[]`, `status`). On a re-run, treat feedback as a diff — don't rewrite a green slice.
From hybridlabor-api/aos, Apache-2.0.
More from hybridlabor-api/aos
- 0.622score
tdmcp-docs-roadmap-update
hybridlabor-api
Updates tdmcp docs and roadmap for newly shipped or newly merged capabilities.
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
tdmcp-implementation-learning
hybridlabor-api
Study a merged or shipped tdmcp implementation and extract reusable learnings: code improvements, runtime/UX lessons, test gaps, docs updates, roadmap items…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
connectors-directory-spec
hybridlabor-api
Authoritative reference for submitting tdmcp to the Anthropic Connectors Directory as a Codex Desktop Extension (MCPB).
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
submission-qa
hybridlabor-api
Verification methodology and gate checklist for the tdmcp Connectors Directory submission — run the docs build, build and inspect the .mcpb bundle, sweep for…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-build
hybridlabor-api
Implement ONE tdmcp tool from a spec — the canonical file pattern (Zod schema + …Impl + register… ToolRegistrar), a bridge Python payload via…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-design
hybridlabor-api
Design a tdmcp feature into an implementable spec before any code is written — choose the layer, define the Zod input schema, lay out the TD network topology…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-qa
hybridlabor-api
Quality-assure integrated tdmcp features: run the four PR gates + recipe/bridge tests, cross-boundary coherence checks (tool schema↔CLI↔docs↔registry…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
tdmcp-feature-discovery
hybridlabor-api
Survey the whole tdmcp project and produce a prioritized list of NEW features it could implement — across artist controls, CLI/DX, AI/LLM integration, and…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-survey
hybridlabor-api
Survey one surface of tdmcp (artist controls, library/packaging, CLI/DX, AI/LLM, or TouchDesigner depth) for candidate NEW features — inventory what exists…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-synthesize
hybridlabor-api
Consolidate the five tdmcp surveyor reports into one prioritized FEATURE_BACKLOG.md — dedupe cross-surface overlaps, reconcile every candidate against the…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
tdmcp-backlog-campaign
hybridlabor-api
Drive a whole tdmcp feature BACKLOG to completion as resumable, wave-by-wave releases — the campaign layer ABOVE tdmcp-pipeline/tdmcp-feature-lead.
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
tdmcp-cookbook-examples
hybridlabor-api
Adds new visual examples to the tdmcp prompt cookbook documentation — both the English and Portuguese versions.
SkillAFreshness: A★ 6Claude Code +9
Signals
- Stars
- 6
- Forks
- 0
- Open issues
- 19
- Last commit (this folder)
- Aug 13, 2026 (2 months ago)
- Last release
- Oct 14, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/hybridlabor-api/aos
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hybridlabor-api
- 0.622score
td-feature-qa
hybridlabor-api
Quality-assure integrated tdmcp features: run the four PR gates + recipe/bridge tests, cross-boundary coherence checks (tool schema↔CLI↔docs↔registry…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
connectors-directory-spec
hybridlabor-api
Authoritative reference for submitting tdmcp to the Anthropic Connectors Directory as a Codex Desktop Extension (MCPB).
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
submission-qa
hybridlabor-api
Verification methodology and gate checklist for the tdmcp Connectors Directory submission — run the docs build, build and inspect the .mcpb bundle, sweep for…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-build
hybridlabor-api
Implement ONE tdmcp tool from a spec — the canonical file pattern (Zod schema + …Impl + register… ToolRegistrar), a bridge Python payload via…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-design
hybridlabor-api
Design a tdmcp feature into an implementable spec before any code is written — choose the layer, define the Zod input schema, lay out the TD network topology…
SkillAFreshness: A★ 6Claude Code +9 - 0.622score
td-feature-survey
hybridlabor-api
Survey one surface of tdmcp (artist controls, library/packaging, CLI/DX, AI/LLM, or TouchDesigner depth) for candidate NEW features — inventory what exists…
SkillAFreshness: A★ 6Claude Code +9
Cite this page
tdmcp-bridge-endpoint skill. Agent Mart. https://agentmart.dev/skills/hybridlabor-api-tdmcp-bridge-endpoint (last updated 2026-10-24)