AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ableton Quick Mix

skill-korben00-ableton-producer-skills-ableton-quick-mix · by Korben00

This skill should be used when the user asks to "rough mix", "balance the levels", "set track volumes/pans", "set up sends", "give me a starting mix", or wants a sensible starting balance applied across tracks in Ableton Live. Sets mixer volume, panning, and sends via the API.

No reviews yet
0 installs
4 views
0.0% view→install

Install

$ agentstack add skill-korben00-ableton-producer-skills-ableton-quick-mix

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-korben00-ableton-producer-skills-ableton-quick-mix)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ableton Quick Mix? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Ableton Quick Mix

Apply a sensible starting balance across the Set's tracks — volumes, pans, and sends — via the mixer parameters (track.mixer.volume / panning / sends, all DeviceParameters with get/set). Not a mastering pass; a clean, musical starting point so the arrangement is immediately listenable.

When to use

Triggers: "rough mix", "balance levels", "set volumes/pans", "set up sends". For per-track tone use ableton-tone-recipes / ableton-fx-chain.

Process

  1. Use ableton-live-runner for build/run/kill + scaffold.
  2. Enumerate tracks (song.tracks) and classify by name/role (drums, bass, keys, lead, pad…).
  3. Read each control's range first (param.min/param.max/getValue) — volume is not dB

0–1; discover the scale, then set relative to it. Don't hardcode blind.

  1. Apply a balance by role (guidelines below): set mixer.volume, pan complementary parts

apart, keep bass/kick/lead centered, route reverb-heavy parts to a return via sends.

  1. Leave headroom — aim for a peaky-but-not-clipping balance; the user mixes finer by ear after.

Balance guidelines

| Role | Level | Pan | Notes | |---|---|---|---| | Kick / bass | reference (loudest core) | center | the foundation; don't bury | | Snare/clap | just under kick | center / slight | backbeat presence | | Hats/percussion | quieter | spread L/R | width without clutter | | Chords/keys | mid | slightly off-center | leave room for lead | | Lead/vocal | sits on top, clear | center | the focal point | | Pad/texture | low, supportive | wide | glue, not foreground |

Code pattern

async function setRelative(param, frac) {           // frac 0..1 across the param's range
  await param.setValue(param.min + (param.max - param.min) * frac);
}
for (const t of song.tracks) {
  const m = t.mixer, n = t.name.toLowerCase();
  if (/bass|kick|drum/.test(n))      { await setRelative(m.volume, 0.82); await m.panning.setValue((m.panning.min+m.panning.max)/2); }
  else if (/lead|vocal|whistle/.test(n)) await setRelative(m.volume, 0.78);
  else if (/pad|texture/.test(n))    await setRelative(m.volume, 0.55);
  else                                await setRelative(m.volume, 0.7);
}

Limits

  • No automation → this is a static balance, not moves over time.
  • Sends require return tracks to already exist (song.returnTracks) — the SDK cannot create a

return. Guard the call (m.sends[0]?.setValue(...)) and skip the send step if there are no returns, rather than silently no-op.

  • Role classification relies on descriptive track names (which the producer skills set via makeTrack).

See ableton-fx-chain, ableton-tone-recipes.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.