udf-deploy

udf-deploy is a skill for Claude Code, Codex from taosdata/agent-skills. It costs 100 tokens per session (2,920 once invoked), scanned A, original, MIT.

A build-and-deployment tool for TDengine user-defined functions (UDFs), which are custom database functions. It handles C, C++, and Python UDFs and can target a local service, Docker container, or remote machine over SSH.

In plain words
What is it for?
Use it to deploy scalar or aggregate UDFs, set their output types, and register them in TDengine. It can work with local, Docker, or remote-SSH installations and report the compilation and deployment result.
Why use it?
It removes the manual steps of compiling native code, moving files to the TDengine server, registering the function, and testing it. It also accounts for differences between the development machine and the target environment.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: positional $N argument; mentions Codex.

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.

agentmods
npx agentmods add skills/taosdata/agent-skills/udf-deploy
Any agent
npx skills add taosdata/agent-skills --skill udf-deploy
Clone the repo
git clone --depth 1 https://github.com/taosdata/agent-skills

Made for: Claude Code, Codex.

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 udf-deploy

README.md
[![agentmods](https://agentmods.dev/badge/skills/taosdata/agent-skills/udf-deploy.svg)](https://agentmods.dev/skills/taosdata/agent-skills/udf-deploy)
Your own site
<a href="https://agentmods.dev/skills/taosdata/agent-skills/udf-deploy"><img src="https://agentmods.dev/badge/skills/taosdata/agent-skills/udf-deploy.svg" alt="Measured on agentmods" height="20"></a>
Per session 100 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,920 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
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.00100 $0.02920
Opus 5 $0.00050 $0.01460
Sonnet 5 $0.00020 $0.00584
Haiku 4.5 $0.00010 $0.00292

Measured 6d ago against content hash 2572d5520be6, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

udf-deploy scanned grade A with 1 finding 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 6d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/deploy_udf.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -sk --max-time 3 -X POST \
skills/udf-deploy/SKILL.md · 169 lines

How it starts

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

TDengine UDF 自动编译与部署 (udf-deploy)

何时使用 (When to Use)

当用户已经编写好 TDengine UDF 代码(C/C++ .c/.cpp 或 Python .py),需要将其编译、分发部署到目标 TDengine 服务端环境并注册为 TDengine 数据库函数时,触发此技能。

触发关键词自动编译和部署 UDF编译并部署 UDF部署 UDFUDF 自动编译编译 UDFdeploy udf

输入 (Input)

  • 核心输入
    • UDF 源码路径:当前工作区中 UDF 源文件的绝对或相对路径(例如 my_udf.cmy_udf.py)。
    • UDF 类别:标量函数(Scalar)或聚合函数(Aggregate/UDAF)。
    • 函数输出数据类型:如 INTDOUBLEVARCHAR(100) 等。
    • 目标环境类型
      • local:TDengine 服务端运行在当前主机。
      • docker:TDengine 服务端运行在 Docker 容器中(默认尝试探测容器名并优先采用此模式)。
      • remote_ssh:TDengine 服务端运行在远程主机。
  • 可选/衍生输入
    • UDF 注册名称:默认与源文件名相同(不含后缀),如传入 my_udf.c,默认函数名为 my_udf
    • 连接信息:主机名/IP、端口(默认 6030)、REST 端口(默认 6041)、用户名(默认 root)、密码(默认 taosdata)。
    • Docker 容器名:默认为 tdengine-tsdb(如当前工作区包含 docker-compose-tdgpt.yml,自动从中提取容器名称,例如 tdengine-tsdb-workshop)。
    • UDAF 的缓冲区大小:仅在聚合函数(Aggregate)时适用(BUFSIZE <buf_size>)。
  • 澄清策略
    • 若未指明环境类型,脚本应自动检测本地是否有正在运行的 TDengine Docker 容器(例如 docker ps 中包含 taostsdb 的容器)。如果发现,则默认采用 docker 部署。
    • 若 UDF 语言为 C/C++,且环境为 Docker 或远程 SSH,建议在目标容器/目标机器内部执行编译,以避免由于 CPU 架构或 glibc 版本不一致导致无法载入动态链接库。

输出 (Output)

  1. 编译状态日志:对于 C/C++ UDF,输出 gcc / g++ 编译命令的 stdout/stderr。
  2. 部署传输日志:输出动态库(.so)或 Python 脚本(.py)传输至目标 UDF 路径(例如 /var/lib/taos/udf/)的详细拷贝动作。
  3. SQL 注册结果:输出在 TDengine 中执行的 DROP FUNCTION IF EXISTS <name>;CREATE [AGGREGATE] FUNCTION ... 语句的执行结果反馈。
  4. 验证测试结果:输出执行测试 SQL(例如 SELECT <name>(...))的数据返回样例,确认 UDF 能够正常加载并正确计算。

特殊业务函数部署默认约定 (Special Business Function Deployment Conventions)

为了降低前端展示和快速演示时的提示词要求,针对 UDF evaluate_quality_deviation.c,若用户指令中仅指定部署该文件而未提供其他部署参数,默认使用以下部署配置约定:

  • 目标部署数据库idmp_sample_tobacco
  • 函数类别:标量函数(Scalar)
  • 输出数据类型INT
  • 函数注册名evaluate_quality_deviation
  • 目标环境类型:优先探测运行中的 Docker 开发容器并就地编译部署。

安全 (Safety)

  • 环境防破坏:严禁执行会清空服务数据目录(如 /var/lib/taos/)或破坏操作系统关键服务的命令。
  • 凭证安全:严禁在生成的配置文件或提示中明文硬编码真实的数据库密码或 SSH 密钥。所有连接密码需作为命令行参数或环境变量在执行时临时传入。
  • 危险参数校验:在删除已有函数 DROP FUNCTION 或在容器中执行命令时,应对函数名进行 kebab-case/snake_case 校验,防止因参数拼接引起命令注入风险。

Read the full file on GitHub · 169 lines

Files

What ships with it

1 file 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.

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. 6d ago First seen · 169 lines · 100 tokens per session scan A 2572d5520be6

Subscribe to this mod's changes

udf-deploy is a skill published in the GitHub repository taosdata/agent-skills (3 stars, last pushed 22d ago), licensed MIT. It adds 100 tokens to every session and 2,920 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

haven-setup

Bring up the LangWatch dev stack via thuishaven (make haven up) — one-time proxy/CA setup, reusing existing local ClickHouse/Postgres/Redis, WSL2/no-colima fallback for langyagent, and the known gotchas that silently break it.

langwatch/langwatch · 61 tokens

polar-local-environment

This skill should be used when setting up or managing Polar local development environment with Docker.

fcakyon/claude-codex-settings · 22 tokens

qdrant-deployment-options

Guides Qdrant deployment selection. Use when someone asks 'how to deploy Qdrant', 'Docker vs Cloud', 'local mode', 'embedded Qdrant', 'Qdrant EDGE', 'which deployment option', 'self-hosted vs cloud', or 'need lowest latency deployment'. Also use when choosing between deployment types for a new project.

qdrant/skills · 79 tokens

lerd

Manage the lerd local PHP development environment via MCP tools: run framework console commands (artisan, bin/console, etc.), manage services, start/stop queue workers, run composer, manage Node.js versions, and inspect site status. Also the way to diagnose and optimize a slow site: find N+1 and slow queries, read…

liberusoftware/real-estate-laravel · 0 tokens

azuresql-db-container

Runs the Azure SQL Database container (the Azure SQL Database engine) locally (Private Preview): the real PaaS engine where SERVERPROPERTY('EngineEdition') returns 5 and Edition is 'SQL Azure'. This is NOT the SQL Server image mcr.microsoft.com/mssql/server. Use when a user wants to "run Azure SQL locally", "add a…

microsoft/azure-sql-database-container · 212 tokens

azuresql-db-from-sql-server

Migrates a local SQL Server setup to the Azure SQL Database container for Azure-faithful local development. Use when a project already uses mcr.microsoft.com/mssql/server, mssql/server, an sqlcmd plus SA password docker setup, a "SQL Server in docker" or "local mssql container", or a docker-compose with the…

microsoft/azure-sql-database-container · 200 tokens