agentleFS
madisonrickertmadisonrickert/ableton-tools/skills/als-warp/SKILL.md

als-warp

Skill16 starsChanged 37 days agoMITView on GitHub

Grid-lock Ableton clips to a fixed project tempo (two warp markers per clip to preserve inter-clip phase) and reposition clips to exact beats. Use when stems were auto-warped and drift apart, or to snap clips to integer beats. Mutations are dry-run by default and auto-backup before committing.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Commit with --commit (auto-backup + ref re-verify, as with all mutations).

    line 16
  2. Very specific:

    Write a manifest snaps.json: {"clip_name": {"beat": 7.0[, "dur_s": 7.5, "bpm": 134]}, ...}, then run ableton als snap <FILE.als> --manifest …

    line 39
  3. Distinctive:

    Every warped stem carries its own copy of the warp map.

    line 44
  4. Distinctive:

    Always show the user the dry-run diff before committing.

    line 52

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

You warp and reposition .als clips using the bundled Ableton engine (the ableton command on PATH; see the engine skill for the full command reference and fallback paths). Close Ableton before committing edits.

Warp clips to the grid

  1. Get each target clip's audio duration in seconds (e.g. ffprobe or als inspect + the source file). Build clips.json: {"clip_name": duration_seconds, ...}.
  2. Dry-run: ableton als warp-to-grid <FILE.als> --tempo 134 --clips clips.json --json
  3. Commit with --commit (auto-backup + ref re-verify, as with all mutations).

This sets the project tempo (Live 12 and Live 11 sets) and gives each clip exactly two warp markers (sec 0→beat 0, sec duration→end beat), so every clip shares one linear time→beat map, aiming to keep stems phase-coherent.

Experimental. The two-marker strategy is a different approach from Ableton's auto-warp, not a proven improvement on it: it has not been benchmarked against auto-warp and is not verified to do better. For aligning Suno-style stems, the more reliable path is usually to let Ableton auto-warp the master, then use the als-files import-stems feature to clone that warped master onto each stem. Show the user the dry-run diff and have them check the result.

Reposition a single clip to a beat

ableton als move-clip <FILE.als> --clip NAME --to-beat 7.0 [--dur-s 7.5 --bpm 134] [--commit] --json

This moves the clip's Arrangement position: the Time attribute and CurrentStart/End. Without --dur-s the clip keeps its length. When a Session clip shares the name, the Arrangement clip is the one moved.

Snap several clips at once

Write a manifest snaps.json: {"clip_name": {"beat": 7.0[, "dur_s": 7.5, "bpm": 134]}, ...}, then run ableton als snap <FILE.als> --manifest snaps.json [--commit] --json.

Keep stems locked after moving or re-warping the master

Every warped stem carries its own copy of the warp map. So when the master clip is moved or re-warped in Live, the stems do not follow. Fix them with ableton als sync-to-master <FILE.als> --master <track> --all-warped [--markers] [--commit], covered in the als-build skill.

Then check with ableton warp-check <FILE.als> (in the tempo-drift skill), which reports warped clips that don't share the master's map.

Always show the user the dry-run diff before committing.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.