elphono

Live Sidekick — Development skill for Claude Code

Development community

Drive Ableton Live 12 from Claude Code on WSL2 — MCP glue, sample-accurate audio tools, and a measured map of what the Live API really does.

How to install Live Sidekick

This entry records only its repository, not the path inside it, so there is no exact command to give. Open elphono/live-sidekick and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Live Sidekick does

Drive Ableton Live 12 from Claude Code on WSL2 — MCP glue, sample-accurate audio tools, and a measured map of what the Live API really does.

Alternatives in Development

README

live-sidekick

**Drive Ableton Live 12 from Claude Code — and know exactly what the Live API really does.**

A field-tested toolkit for controlling Ableton Live from an AI agent running in WSL2, built around an [MCP](https://modelcontextprotocol.io) server. It ships the glue that makes the WSL → Windows → Live chain reliable, sample-accurate audio tooling, and a **measured** map of the Live Object Model: which calls work, and which ones answer `success` while doing nothing.

flowchart LR
    CC["Claude Code
(WSL2)"] -- stdio --> MCP["MCP server
(Windows Python)"] MCP -- "TCP 127.0.0.1:9877" --> RS["Remote Script
inside Live 12"] RAW["ableton_raw.py"] -. "bypasses MCP" .-> RS PREP["preparer_extrait.py
analyse_audio.py"] -- "ffmpeg.exe" --> WAV[("WAV on a
Windows drive")] WAV --> RS

Why

Live's Python API is undocumented, changes between versions, and fails **silently**. Every row below was measured on Live 12.4.3, not read in a forum:

You would expect What Live actually does
Setting end_marker trims an arrangement clip Accepted, read back, length unchanged
Setting start_marker trims the start Silently reset to 0.0
start_time moves a clip Read-only — arrangement clips cannot be moved
Clip fades are scriptable fade_in_length / fade_out_length do not exist
Automation can be written on arrangement clips Refused: "Not a session clip"
An imported file plays at its own length Live warps it: 15.000 s becomes 16.000 s (+6.1 %)
An mp3 starts at the same point in Live and ffmpeg 84.6 ms apart — the LAME priming silence
A property read right after a write is fresh Extent properties are stale until the next tick
There is an export / render API None. Rendering stays manual (Ctrl+Shift+R)

The consequence shapes the whole toolkit: **Live assembles, it does not edit.** Extracts must arrive already cut and alre