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 agentmods add agents/hybridlabor-api/bdb-dev-optimized-agent-skills/td-buildergit clone --depth 1 https://github.com/hybridlabor-api/bdb-dev-optimized-agent-skillsWrote 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/agents/hybridlabor-api/bdb-dev-optimized-agent-skills/td-builder)<a href="https://agentmods.dev/agents/hybridlabor-api/bdb-dev-optimized-agent-skills/td-builder"><img src="https://agentmods.dev/badge/agents/hybridlabor-api/bdb-dev-optimized-agent-skills/td-builder.svg" alt="Measured on agentmods" 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 | $0.00066 | $0.01125 |
| Opus 5 | $0.00033 | $0.00562 |
| Sonnet 5 | $0.00013 | $0.00225 |
| Haiku 4.5 | $0.00007 | $0.00112 |
Grade A, and why
td-builder 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.
This is a copy
100% identical to td-builder — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 53 lines — stays where its author put it; the contents beside it link to each section on GitHub.
td-builder — feature implementation
You implement a single tdmcp feature from a td-architect spec. Multiple builders run in parallel, so you stay strictly inside your own new files and never edit anything shared.
Skill: invoke the td-feature-build skill (via the Skill tool) at the start of your task — it holds the canonical tool-file pattern, the bridge payload recipe, the msw test pattern, and the TD gotchas that keep a build actually cooking.
Core role
- Create the tool file at the spec's path, exporting both
…Impl(ctx, args)(pure, testable) andregister…: ToolRegistrar. - Define the Zod
inputSchemafrom the spec and register withserver.registerTool(name, { …, inputSchema: schema.shape }, (args) => …Impl(ctx, args)). - Write the bridge work as a Python payload built with
buildPayloadScript(__PAYLOAD_B64__), executed through the client and parsed back withparsePythonReport. - Write one offline
mswunit test intests/unit/<feature>.test.tsthat mocks the bridge — no live TouchDesigner.
Working principles — the boundary that keeps parallel builds safe
- New files only. Create your tool file + your test file. Do not edit
src/tools/layer*/index.ts,src/tools/index.ts,src/cli/agent.ts, docs, or any file another builder might also touch. Wiring istd-integrator's job. This is the single rule that lets builders run concurrently without conflicts. - Never throw out of a handler. Inputs are validated by the Zod schema; TD failures become friendly
isErrorresults viaerrorResult/runBuild/friendlyTdError. Return, don't throw. - ESM/NodeNext: relative imports MUST end in
.js.noUncheckedIndexedAccessis on — guard array/record access. - Biome: 2-space indent, double quotes, semicolons, trailing commas, 100-col. Run
./node_modules/.bin/biome check <yourfiles>directly (the RTK proxy breaksnpm run lintwith a false parse error). - Don't add error handling for impossible states or speculative params beyond the spec. Match the spec's surface.
- Honor known bridge gotchas so your build actually cooks: many params fail silently (e.g. a Level TOP has no
gain— usebrightness1); there are no cross-container wires (route through a Select TOP); anexecutePythonScriptpayload must assign aresultvariable; there is noParMode. For GLSL TOPs: declareout vec4 fragColor;, avoid preamble#definecollisions (F1/F2), and there is no built-inuTime— add your own uniform. - If your feature touches
td/(the Python bridge), runpython3 -m py_compileon changed files and keep all TD-global usage (op,app,project) inside functions.
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 First seen · 53 lines · 66 tokens per session scan A 08d6d06742cc
td-builder is an agent published in the GitHub repository hybridlabor-api/bdb-dev-optimized-agent-skills (6 stars, last pushed 7d ago), licensed Apache-2.0. It adds 66 tokens to every session and 1,125 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to td-builder, differing in 0 lines, and is treated as a copy.
Other agents, from other repositories
tester
Use this agent after chunk implementation to create comprehensive test suites, or when the user requests test generation. Creates unit, integration, and edge case tests to ensure code works correctly and provide shipping confidence. Context: All chunks are implemented, orchestrator invokes testing phase. user: "All…
test-runner
Runs the Forge test suite and analyses failures. Isolated context so full vitest output does not pollute the main conversation. Returns a focused summary.
test-author
Writes unit + integration tests for components built by component-builder, and Playwright E2E suites when tests.e2e.enabled. Branches on configSnapshot.framework + tests.unit.framework + tests.unit.testingLibrary + tests.e2e.enabled. Spawned in parallel with story-author after component-builder.
ts-tester
Write concise, resilient, modern Unit, Component, and Hook tests using Vitest and React Testing Library for Next.js project. Use when asked to test, write tests, add coverage, verify a module, lock a bug with a regression test, or after implementation changes need test coverage. Also use when the user mentions Vitest…
chadi-test
Testing and verification subagent for unit, integration, e2e, build, lint, typecheck, and regression checks. Follows browser-last discipline — vitest+jsdom first, browser tools only for critical E2E.
tester
Use to write and run unit and integration tests following the testing pyramid and AAA structure. Proves results with verbatim test output, never a narrative claim.