AI Skills
AI coding agents can build Control API applications for you, but only if they know how the API actually works. Our open-source Control API skill provides that knowledge: a structured markdown file covering the protocol, data model, WebSocket and RPC methods, both official client libraries, and secure token handling.
With the skill in place, you can ask your agent to build a level meter, a snapshot browser, or a fader automation script, and the generated code uses the real message formats and the official libraries instead of guessing.
- Sources: github.com/dhd-audio/dhd-control-api-skill
- Bundle:
dhd-control-api.skillfrom the latest release - License: MIT
The skill covers XC3, XD3, XS3, and RM1 cores running firmware 10.3 or later.
Setup
Claude Code
Claude Code discovers any SKILL.md under .claude/skills/ automatically. Per project:
mkdir -p .claude/skills/dhd-control-api
cp SKILL.md .claude/skills/dhd-control-api/
Or user-wide, so the skill is available in every project:
mkdir -p ~/.claude/skills/dhd-control-api
cp SKILL.md ~/.claude/skills/dhd-control-api/
Other tools
The skill is plain markdown. Drop it wherever your tool reads project context:
- Cursor: copy to
.cursor/rules/dhd-control-api.mdor add as a project rule. - Windsurf: copy to
.windsurf/rules/dhd-control-api.md. - Copilot: append to
.github/copilot-instructions.mdor reference as workspace context. - Aider: pass as
--read SKILL.mdor add to.aider.conf.yml. - Anything else: paste the contents into the system prompt or knowledge base your tool supports.
Usage
Once installed, mention DHD, Control API, faders, levels, or snapshots in your prompt and the skill provides the context automatically. Example prompts:
Build a web-based level meter that subscribes to /audio/levels/0 and shows
_left and _right values in real time. Use TypeScript and the DHD control API library.
Write a Go program that connects to my DHD console at 10.0.0.50, lists all
mixer snapshots via the getsnapshotlist RPC, and lets the user load one.
What the skill knows
- Protocol: WebSocket and REST transports, authentication (including tokenless devices), connection lifecycle and heartbeat handling
- Data model: the node tree, path conventions, value types, and the
/range/metadata tree - WebSocket methods: get, set, subscribe/unsubscribe with request/response examples, including the nested update payload structure
- RPC methods: snapshots,
fadetovalue, channel labels, external button lists - Client libraries: usage of the official TypeScript and Go libraries; all code examples are compile-checked against the released packages
- Security: token handling, POST vs. GET, transport encryption, connection limits
The skill complements, but does not replace, this documentation: for path details and parameter ranges beyond its scope, it points agents to the OpenAPI trees on this site.