goldwaterfung/stratawright/daw-cli

Claude Code and agent skill by goldwaterfung/stratawright

Trust tier 2
  • community
LLM review pending
Source check pending

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-cli

SKILL.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

  1. DAW Application Must Be Running: The GUI/Server application must be active before running daw-cli.
  2. UNIX Socket Path: The server listens on /tmp/daw_session.sock.
  3. 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:

bash
daw-cli track list --format json

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: Value line 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 CodeSymbolCauseRecommended Agent Recovery
0OKCommand completed cleanlyProceed to next step
70INVALID_ARGSMissing required flag, bad value format, or unknown subcommandCheck command syntax, required flags, and numeric value types
71DAW_NOT_RUNNINGCannot connect to /tmp/daw_session.sockPrompt user to start Stratawright DAW
72ENTITY_NOT_FOUNDTrack ID, plugin name, clip, or slot index missingRun track list or plugin list to verify exact identifiers
73ENGINE_PLAYING_LOCKEDAttempted structural edit restricted during playbackStop transport (daw-cli transport stop) before mutating topology
74RESOURCE_BUSY_USER_TOUCHDestination slot is occupied or user is dragging controlAdd --overwrite flag for plugin slots or retry after user edit
75PLUGIN_FAULTVST3/AU parameter out of bounds (0.0..1.0) or host crashVerify normalized parameter ranges
76ASSET_I_O_ERRORAudio clip path unreadable or invalid file formatCheck 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.

bash
daw-cli status
  • Success Symbol: STATUS_OK
  • Output Fields: TRANSPORT_STATE, TEMPO, TIME_SIGNATURE, POSITION_BARS, POSITION_SECONDS
Start Playback
bash
daw-cli transport play
  • Success Symbol: PLAYBACK_STARTED
Stop Playback
bash
daw-cli transport stop
  • Success Symbol: PLAYBACK_STOPPED
Set Tempo
bash
daw-cli transport set-tempo --bpm 128.0
  • Success Symbol: TEMPO_UPDATED
  • Options: --bpm <float> (or --tempo <float>)
Set Time Signature
bash
daw-cli transport set-time-signature --num 4 --den 4
  • Success Symbol: TIME_SIGNATURE_UPDATED
  • Options: --num <int>, --den <int>

2. Tracks & Gain-Staging
Create Track
bash
daw-cli track create --name "Vocal Lead" --type audio --color yellow
  • 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
bash
daw-cli track create-batch --names "Kick,Snare,HH,Tom" --type audio
  • Success Symbol: BATCH_TRACKS_CREATED
  • Options: --names "<comma_separated_list>", --type audio|midi|instrument|aux|folder
List All Tracks
bash
daw-cli track list [--format json]
  • Success Symbol: TRACK_LIST
Inspect Track Details
bash
daw-cli track inspect --track 1
  • Success Symbol: TRACK_INSPECT
Set Track Gain (dB)
bash
daw-cli track set-gain --track 1..4 --db -3.5
  • Success Symbol: TRACK_GAIN_UPDATED
  • Options: --track <range>, --db <float_in_dB>
Set Track Pan Position
bash
daw-cli track set-pan --track 1 --value -0.25
  • Success Symbol: TRACK_PAN_UPDATED
  • Options: --track <range>, --value <float> (-1.0 Left to +1.0 Right)
Mute / Unmute Track
bash
daw-cli track set-mute --track 2 --on
  • Success Symbol: TRACK_MUTE_UPDATED
  • Options: --track <range>, --on (omit --on to unmute)
Solo / Unsolo Track
bash
daw-cli track set-solo --track 2 --on
  • Success Symbol: TRACK_SOLO_UPDATED
  • Options: --track <range>, --on (omit --on to unsolo)
Delete Tracks
bash
daw-cli track delete --track 4
  • Success Symbol: TRACK_DELETED
  • Options: --track <range>
Set Track Color
bash
daw-cli track set-color --track 1..4 --color red
  • 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).

bash
daw-cli track auto-color
  • Success Symbol: TRACKS_AUTO_COLORED
Sanitize Track Names

Trims whitespace, removes extensions (.wav, .mp3), and converts underscores to spaces across all tracks.

bash
daw-cli track sanitize-names
  • Success Symbol: TRACK_NAMES_SANITIZED

3. Plugin Management
Scan Plugin Library

Triggers host scanner for installed VST3/AU plugins.

bash
daw-cli plugin scan
  • Success Symbol: PLUGIN_SCAN_COMPLETED
List Discovered Plugins
bash
daw-cli plugin list --filter "FabFilter" --category effect --head 10 --format json
  • Success Symbol: PLUGIN_LIST
  • Options:
  • --filter "<substring>": Case-insensitive search on name or vendor.
  • --category effect|instrument (or fx, synth).
  • --head <int> / --tail <int>: Limit output row count.
Add Plugin to Track Slot
bash
daw-cli plugin add --track 1 --name "FabFilter Pro-Q 3" --slot 0
  • Success Symbol: PLUGIN_ADDED
  • Options:
  • --track <range>
  • --name "<exact_name>" (Must match exact case returned by plugin list) or --id <uint32>
  • --slot <0..7> (Default: 0)
Set Plugin Parameter Value
bash
daw-cli plugin set-param --track 1 --plugin 0 --param 3 --val 0.75
  • 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
bash
daw-cli plugin copy --from-track 1 --slot 0 --to-tracks 2..5 --overwrite
  • 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
bash
daw-cli plugin copy-chain --from-track 1 --to-tracks 2..5 --overwrite
  • 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.

bash
daw-cli prep gain-stage --track 1..8 --target-rms -18.0
  • Success Symbol: GAIN_STAGE_COMPLETED
  • Options: --track <range>, --target-rms <float_dB> (Default: -18.0)

5. Clips & Timeline Editing (clip, midi)
Add Audio Clip
bash
daw-cli clip add-audio --track 1 --path "/audio/vocal.wav" --start 1.1.0
  • Success Symbol: CLIP_ADDED
  • Options: --track <uint32>, --path "<string>", --start <BBT>
Add MIDI Clip
bash
daw-cli clip add-midi --track 1 --start 1.1.0 --dur 4.0.0
  • Success Symbol: CLIP_ADDED
  • Options: --track <uint32>, --start <BBT>, --dur <BBT>
Add MIDI Note Event
bash
daw-cli midi add-note --track 1 --clip 1 --pitch C4 --velocity 100 --start 1.1.0 --dur 1.0.0
  • 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
bash
daw-cli clip list --track 1 [--bar 1-8]
  • Success Symbol: CLIP_LIST
  • Options: --track <uint32>, --bar <start_bar-end_bar>
Set Clip Gain (dB)
bash
daw-cli clip set-gain --track 1 --clip 1 --db -3.0
  • Success Symbol: CLIP_GAIN_UPDATED
  • Options: --track <uint32>, --clip <uint32>, --db <float>
Mute / Unmute Clip
bash
daw-cli clip set-mute --track 1 --clip 1 --on true
  • Success Symbol: CLIP_MUTE_UPDATED
  • Options: --track <uint32>, --clip <uint32>, --on <true|false>
Split Clip
bash
daw-cli clip split --track 1 --clip 1 --at 2.1.0
  • Success Symbol: CLIP_SPLIT
  • Options: --track <uint32>, --clip <uint32>, --at <BBT>
Trim Silence
bash
daw-cli clip trim-silence --track 1 --clip 1 --threshold -48.0 --fade-ms 5.0
  • Success Symbol: CLIP_SILENCE_TRIMMED
  • Options: --track <uint32>, --clip <uint32>, --threshold <float_dB>, --fade-ms <float>
Quantize Clip / MIDI
bash
daw-cli clip quantize --track 1 --clip 1 --grid 1/16 --strength 1.0
  • Success Symbol: MIDI_CLIPS_QUANTIZED / CLIPS_QUANTIZED
  • Options: --track <uint32>, --clip <uint32>, --grid <grid_fraction>, --strength <float_0..1>
Merge Clips
bash
daw-cli clip merge --track 1 --start 1.1.0 --end 5.1.0
  • Success Symbol: CLIPS_MERGED
  • Options: --track <uint32>, --start <BBT>, --end <BBT>, --clips "<list>"
Move Clip
bash
daw-cli clip move --track 1 --clip 1 --to-pos 3.1.0 [--to-track 2]
  • Success Symbol: CLIP_MOVED
  • Options: --track <uint32>, --clip <uint32>, --to-pos <BBT>, --to-track <uint32>
Nudge Clip Position
bash
daw-cli clip nudge --track 1 --clip 1 --by +1/16
  • 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/goldwaterfung/stratawright/daw-cli/badge)](https://verified-skill.com/skills/goldwaterfung/stratawright/daw-cli)

Something wrong with this skill or its page? Tell us.