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

Ableton Topline

skill-korben00-ableton-producer-skills-ableton-topline · by Korben00

This skill should be used when the user asks to "write a melody", "give me a topline", "add a lead over these chords", "write a vocal melody", "make a hook/motif over this progression", or wants a singable melodic line generated above an existing chord progression in Ableton Live. Writes a lead/topline MIDI track that fits the harmony.

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

Install

$ agentstack add skill-korben00-ableton-producer-skills-ableton-topline

✓ 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-topline)

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 Topline? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Ableton Topline

Generate a singable melody / topline over an existing chord progression, written as a lead MIDI track. Good toplines are mostly chord tones on strong beats, with stepwise motion and tasteful rests between phrases.

When to use

Triggers: "write a melody/topline/hook over these chords", "add a lead". For an existing theme's melody use ableton-genre-cover; for free natural-language generation use ableton-describe-to-midi.

Process

  1. Use ableton-live-runner for build/run/kill + scaffold.
  2. Get the harmony + key — read the chord clip (clip.notes) or text; read song.rootNote /

song.scaleIntervals to stay in scale.

  1. Build the melody with these principles:
  • Anchor on chord tones on beats 1 & 3; use scale tones / passing tones on weak beats.
  • Stepwise motion mostly; reserve leaps for emphasis (and resolve them by step).
  • Phrase with rests — 2- or 4-bar phrases that breathe; call-and-response.
  • Motif + variation — state a short motif, then repeat it transposed/rhythmically varied.
  • Contour & climax — build to one high note, then resolve down to a stable tone.
  • Register — vocal/lead range ~MIDI 60–84.
  1. Write the track (["Wavetable","Operator","Drift"] + [["Echo"],["Reverb"]] for an airy

lead) and humanize velocities with vary.

Code pattern (motif + transposed answer)

const MOTIF = [ {t:0,p:0,d:1}, {t:1,p:2,d:1}, {t:2,p:4,d:1.5} ]; // scale-degree offsets; d:1.5 = a breath
function deg(rootMidi, scale, n) {                 // n-th scale degree (with octave wrap)
  return rootMidi + scale[((n % scale.length) + scale.length) % scale.length] + 12 * Math.floor(n / scale.length);
}
function writeTopline(notes, rootMidi, scale, phrases, bpb = 4) {  // phrases = [{bar, shift}]
  for (const ph of phrases)
    for (const e of MOTIF)
      notes.push({ pitch: deg(rootMidi, scale, e.p + ph.shift), startTime: ph.bar*bpb + e.t, duration: e.d, velocity: vary(96) });
}

Limits

  • Avoid landing on the avoid-note (e.g. the 4th over a major chord) on strong beats.
  • Leave space — a sparse, memorable topline beats a busy one.

See ableton-reharmonize, ableton-theory-coach, ableton-humanize.

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.