als-build
Skill16 starsChanged 37 days agoMITView on GitHub
Build and organize an Ableton Live session from the command line — set the tempo, add bare tracks, fold tracks into real group folders (routed to the group bus), mute tracks, snap every warped stem to the master's position and warp map (sync-to-master), and copy proven device chains from other projects (transplant-devices, experimental). Use when assembling a project from stems, organizing tracks into groups, fixing stems that are offset from the master clip, or giving a new session a head start with device chains from past sets. All edits are validated, dry-run by default, and auto-backup before committing.
In this repository8 other files it gives its agents.
- engine/CLAUDE.mdCLAUDE.md
- als-filesSkill
- als-warpSkill
- engineSkill
- midi-compareSkill
- midi-transcribeSkill
- stem-verifySkill
- tempo-driftSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 45
Never re-warp just the master in Live and leave the stems.
- Very specific: line 61
Use --to-main for mastering chains and --mode append to add to an existing chain.
- Very specific: line 66
Run ableton als validate FILE.als --json after a sequence of commits.
- Very specific: line 67
Run ableton warp-check FILE.als (experimental) to confirm warped clips share the master's map and that its markers sit on the beats.
- Very specific: line 69
Ask the user to open the set in Live.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
You assemble and organize .als sessions with the bundled engine (the
ableton command on PATH; see the engine skill). Every command is a dry-run
until --commit, and its JSON includes a validation report. Close Ableton
before committing. The commit refuses while Live is running, because Live's
next save would silently discard the edit.
Typical order when building from stems:
als import-stems(see theals-filesskill);group,add-track,mute;sync-to-masterif the user moved the master clip in Live;transplant-devices;als validate.
Commands
| Need | Command |
| Project tempo | ableton als set-tempo FILE.als 133.9 [--commit] |
| Bare track for a new recording | ableton als add-track FILE.als --name "SAX (live layer)" [--color 25] [--after master] |
| Group folder | ableton als group FILE.als --name WORDS --tracks "vocals" "lead v1" … [--color 20] |
| Mute / unmute | ableton als mute FILE.als --tracks "guitar" "strings" [--unmute] |
| Stems out of position | ableton als sync-to-master FILE.als --master master --all-warped [--markers] |
| Reuse a device chain | ableton als transplant-devices FILE.als --from OTHER.als --src-track Sax --to-track "SAX (live layer)" |
Notes:
- Track names accept the exact name, the name without Live's
<index>-prefix, or the Id. - group members must be contiguous and not already grouped. It inserts a
Live 12 group-track template: use it on Live 12 sets only.
- The group gets
TrackGroupId, and every member is routed to the group bus. Without that routing they would only look grouped. - Sends and slots adapt to the set's returns and scenes.
- The group gets
- add-track creates a track with no clips, devices, automation, frozen audio or take lanes, at default volume, pan and sends. It is never inserted inside a group.
- sync-to-master copies the master clip's Arrangement position (the
Timeattribute, CurrentStart/End and loop bounds) onto every warped stem clip.- Without
--markers,diff.marker_mismatchlists stems whose warp map differs from the master's, i.e. stems that would drift. --markerscopies the master's warp map too.- Never re-warp just the master in Live and leave the stems; run this afterwards.
- Without
transplant-devices is experimental. It copies a chain, plugin state included, from another set:
- it fixes ids;
- it remaps the chain's own internal routing;
- it resets sidechains that pointed at other tracks to None
(
diff.routing_reset). Tell the user to re-assign them, or pass--map-track SourceTrack=TargetTrack; - it drops the source's automation of those devices
(
--with-automationkeeps it); - it copies any project sample the chain uses into
Samples/Imported/(only once the commit is allowed; a different file with the same name gets<name> (2).<ext>); - it reports plugins and whether each one is installed (
diff.plugins).
Use
--to-mainfor mastering chains and--mode appendto add to an existing chain. It has been verified on 2,108 real chains, but tell the user to check the result in Live.
Verify
- Run
ableton als validate FILE.als --jsonafter a sequence of commits. - Run
ableton warp-check FILE.als(experimental) to confirm warped clips share the master's map and that its markers sit on the beats. - Ask the user to open the set in Live. If Live reports an error, paste it
back. Structural errors also show up in
als validate.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

