goldwaterfung/stratawright/daw-cli
Claude Code and agent skill by goldwaterfung/stratawright
- community
Checking that the SKILL.md file is still in the repository.
Instructs agents to control Stratawright DAW via the daw-cli command-line IPC interface. Covers session state, transport, track management, gain staging, VST3/AU plugin hosting, signal routing, clips, MIDI timeline editing, and non-visual DSP analysis & audio intelligence. Requires the DAW application to be running.
Install
npx vskill@latest install goldwaterfung/stratawright/daw-cliSKILL.md
Stratawright DAW CLI Control
Overview
daw-cli is the command-line IPC client for Stratawright DAW, allowing AI agents and automation tools to query and mutate session state, manage tracks, perform gain-staging, host VST3/AU/CLAP plugins, configure signal routing & bus topology, execute clip and MIDI timeline edits, and perform non-visual DSP analysis & audio intelligence in real time.
All commands communicate with the running DAW application using a UNIX domain socket.
Binary location (if not installed on system PATH):
- Quoted path:
"./build/release/src/Agentic\ layer/daw-cli"(Release build) - Quoted path:
"./build/debug/src/Agentic\ layer/daw-cli"(Debug build) - Standard executable name (if symlinked / on PATH):
daw-cli
References Directory
- error_codes.md: Detailed IPC error codes, trigger causes, and recovery actions.
- command_schema.json: Machine-readable JSON schema defining all verbs, subcommands, flags, types, and defaults.
Prerequisites
- DAW Application Must Be Running: The GUI/Server application must be active before running
daw-cli. - UNIX Socket Path: The server listens on
/tmp/daw_session.sock. - Connectivity Check: Always verify connection state first before executing batch commands:
``bash daw-cli status ` If the DAW is not running, daw-cli will fail immediately with exit code 71 (DAW_NOT_RUNNING`).
Output Formats & Parsing
By default, queries return TSV (Tab-Separated Values) for list commands and KV (Key-Value) for single-entity or status commands.
Agents can explicitly request machine-parsable formats using the --format flag:
Supported formats:
--format json: Compact JSON string (Recommended for programmatic parsing).--format tsv: Tab-Separated Values with header line (Default for lists).--format kv:Key: Valueline pairs (Default for inspect/status).--format pretty: Human-readable structured block output.
Error Code Reference
When a command fails, daw-cli writes to stderr formatted as: ERROR <code> <SYMBOL> "<message>" and exits with the corresponding code.
| Exit Code | Symbol | Cause | Recommended Agent Recovery | |
|---|---|---|---|---|
0 | OK | Command completed cleanly | Proceed to next step | |
70 | INVALID_ARGS | Missing required flag, bad value format, or unknown subcommand | Check command syntax, required flags, and numeric value types | |
71 | DAW_NOT_RUNNING | Cannot connect to /tmp/daw_session.sock | Prompt user to start Stratawright DAW | |
72 | ENTITY_NOT_FOUND | Track ID, plugin name, clip, or slot index missing | Run track list or plugin list to verify exact identifiers | |
73 | ENGINE_PLAYING_LOCKED | Attempted structural edit restricted during playback | Stop transport (daw-cli transport stop) before mutating topology | |
74 | RESOURCE_BUSY_USER_TOUCH | Destination slot is occupied or user is dragging control | Add --overwrite flag for plugin slots or retry after user edit | |
75 | PLUGIN_FAULT | VST3/AU parameter out of bounds (0.0..1.0) or host crash | Verify normalized parameter ranges | |
76 | ASSET_I_O_ERROR | Audio clip path unreadable or invalid file format | Check file path existence and audio file permissions |
Track Range Syntax
Commands accepting track parameters (--track, --tracks, --to-tracks) support integer ranges and comma-separated lists:
- Single track:
--track 1 - Contiguous range:
--track 1..4(expands to tracks 1, 2, 3, 4) - Multi-range / list:
--track 1..4,7..10(expands to 1, 2, 3, 4, 7, 8, 9, 10)
Command Reference
1. Session State & Transport
Status Query
Returns current playback status, tempo, time signature, and playhead position.
- Success Symbol:
STATUS_OK - Output Fields:
TRANSPORT_STATE,TEMPO,TIME_SIGNATURE,POSITION_BARS,POSITION_SECONDS
Start Playback
- Success Symbol:
PLAYBACK_STARTED
Stop Playback
- Success Symbol:
PLAYBACK_STOPPED
Set Tempo
- Success Symbol:
TEMPO_UPDATED - Options:
--bpm <float>(or--tempo <float>)
Set Time Signature
- Success Symbol:
TIME_SIGNATURE_UPDATED - Options:
--num <int>,--den <int>
2. Tracks & Gain-Staging
Create Track
- Success Symbol:
TRACK_CREATED - Options:
--name "<string>"(Default: "Untitled Track")--type audio|midi|instrument|aux|folder(Default: "audio")--color <red|blue|green|yellow|purple|orange|cyan|pink|white|grey|black|#HEX>
Create Tracks in Batch
- Success Symbol:
BATCH_TRACKS_CREATED - Options:
--names "<comma_separated_list>",--type audio|midi|instrument|aux|folder
List All Tracks
- Success Symbol:
TRACK_LIST
Inspect Track Details
- Success Symbol:
TRACK_INSPECT
Set Track Gain (dB)
- Success Symbol:
TRACK_GAIN_UPDATED - Options:
--track <range>,--db <float_in_dB>
Set Track Pan Position
- Success Symbol:
TRACK_PAN_UPDATED - Options:
--track <range>,--value <float>(-1.0Left to+1.0Right)
Mute / Unmute Track
- Success Symbol:
TRACK_MUTE_UPDATED - Options:
--track <range>,--on(omit--onto unmute)
Solo / Unsolo Track
- Success Symbol:
TRACK_SOLO_UPDATED - Options:
--track <range>,--on(omit--onto unsolo)
Delete Tracks
- Success Symbol:
TRACK_DELETED - Options:
--track <range>
Set Track Color
- Success Symbol:
TRACK_COLOR_UPDATED
Auto-Color Tracks
Assigns semantic color palette based on instrument track names (e.g., Drums -> Red, Bass -> Purple, Vocals -> Yellow).
- Success Symbol:
TRACKS_AUTO_COLORED
Sanitize Track Names
Trims whitespace, removes extensions (.wav, .mp3), and converts underscores to spaces across all tracks.
- Success Symbol:
TRACK_NAMES_SANITIZED
3. Plugin Management
Scan Plugin Library
Triggers host scanner for installed VST3/AU plugins.
- Success Symbol:
PLUGIN_SCAN_COMPLETED
List Discovered Plugins
- Success Symbol:
PLUGIN_LIST - Options:
--filter "<substring>": Case-insensitive search on name or vendor.--category effect|instrument(orfx,synth).--head <int>/--tail <int>: Limit output row count.
Add Plugin to Track Slot
- Success Symbol:
PLUGIN_ADDED - Options:
--track <range>--name "<exact_name>"(Must match exact case returned byplugin list) or--id <uint32>--slot <0..7>(Default: 0)
Set Plugin Parameter Value
- Success Symbol:
PLUGIN_PARAM_UPDATED - Options:
--track <uint32>--plugin <slot_0..7>(or--slot)--param <param_index>--val <float_0.0_to_1.0>(Normalized range)
Copy Single Plugin to Other Tracks
- Success Symbol:
PLUGIN_COPIED - Options:
--from-track <uint32>--slot <0..7>--to-tracks <range>--overwrite: Required if target slots are already occupied.
Copy Entire Plugin Insert Chain
- Success Symbol:
PLUGIN_CHAIN_COPIED - Options:
--from-track <uint32>--to-tracks <range>--overwrite: Required if any target slot in 0..7 is occupied.
4. Session Preparation (prep)
Gain-Stage Track Headroom
Adjusts track fader gains to achieve requested target RMS headroom.
- Success Symbol:
GAIN_STAGE_COMPLETED - Options:
--track <range>,--target-rms <float_dB>(Default:-18.0)
5. Clips & Timeline Editing (clip, midi)
Add Audio Clip
- Success Symbol:
CLIP_ADDED - Options:
--track <uint32>,--path "<string>",--start <BBT>
Add MIDI Clip
- Success Symbol:
CLIP_ADDED - Options:
--track <uint32>,--start <BBT>,--dur <BBT>
Add MIDI Note Event
- Success Symbol:
MIDI_NOTE_ADDED - Options:
--track <uint32>,--clip <uint32>,--pitch <musical_note, e.g. C4, A5, Db5 or integer 0..127>,--velocity <0..127>,--start <BBT>,--dur <BBT>
List Arrangement Clips
- Success Symbol:
CLIP_LIST - Options:
--track <uint32>,--bar <start_bar-end_bar>
Set Clip Gain (dB)
- Success Symbol:
CLIP_GAIN_UPDATED - Options:
--track <uint32>,--clip <uint32>,--db <float>
Mute / Unmute Clip
- Success Symbol:
CLIP_MUTE_UPDATED - Options:
--track <uint32>,--clip <uint32>,--on <true|false>
Split Clip
- Success Symbol:
CLIP_SPLIT - Options:
--track <uint32>,--clip <uint32>,--at <BBT>
Trim Silence
- Success Symbol:
CLIP_SILENCE_TRIMMED - Options:
--track <uint32>,--clip <uint32>,--threshold <float_dB>,--fade-ms <float>
Quantize Clip / MIDI
- Success Symbol:
MIDI_CLIPS_QUANTIZED/CLIPS_QUANTIZED - Options:
--track <uint32>,--clip <uint32>,--grid <grid_fraction>,--strength <float_0..1>
Merge Clips
- Success Symbol:
CLIPS_MERGED - Options:
--track <uint32>,--start <BBT>,--end <BBT>,--clips "<list>"
Move Clip
- Success Symbol:
CLIP_MOVED - Options:
--track <uint32>,--clip <uint32>,--to-pos <BBT>,--to-track <uint32>
Nudge Clip Position
- Success Symbol:
CLIP_NUDGED - Options:
--track <uint32>,--clip <uint32>,--by <+|-grid_fraction>
6. Signal Routing & Topology (route)
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/daw-cli/SKILL.md
Popularity
- Repository stars
- 62
- Repository forks
- 6
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/goldwaterfung/stratawright/daw-cli)