claudeers.
// Claude Skills

ableton-extension-skill

Claude Code skill for building Ableton Live extensions with @ableton-extensions/sdk — API & concept references, project templates, a with-skill vs baseline b…

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up ableton-extension-skill (release-binary project) into my current project.
Found on https://claudeers.com/ableton-extension-skill
Repo: https://github.com/aker-dev/ableton-extension-skill
Homepage/docs: —
Detected install method: release-binary → inspect the README
Category: skills. Platforms: cli, api.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
unknown; community-verified: false. Confirm the source before running anything.
// or install directly (release-binary)

Grab the latest release asset from GitHub.

# download a build from https://github.com/aker-dev/ableton-extension-skill/releases
// or clone
git clone https://github.com/aker-dev/ableton-extension-skill

// compatibility

Platformscli, api
Operating systems
AI compatibilityclaude
LicenseNOASSERTION
Pricingopen-source
LanguageHTML

🎛️ Ableton Extension Skill — for Claude Code

A Claude Code Skill that teaches Claude how to build Ableton Live extensions with the official @ableton-extensions/sdk (TypeScript / Node.js code that runs in Live's Extension Host).

The Extensions SDK is a young, private beta — it's essentially absent from model training data, so out of the box Claude hallucinates the API (extends Extension, song.beginUndoStep(), clip.warpMode.set() … none of which exist). This skill grounds Claude in the real, verified API, the patterns that matter, the gotchas that bite, and copy‑paste project templates.

TL;DR — install the skill, then just ask Claude Code "build me an Ableton extension that …". You get correct, idiomatic, buildable code instead of confident nonsense.


📊 Does it actually help?

Measured with Anthropic's skill-creator (3 realistic tasks, with‑skill vs no‑skill baseline, graded on objective API‑usage assertions), then confirmed by building a real tool that ran in Live first try.

MetricWith skillWithout skill
Correct SDK usage (assertions passed)100 % (19/19)5.6 % (1/19)
Compiles & follows the real API❌ hallucinated

The full benchmark, per‑task breakdown, and a browseable side‑by‑side of the outputs live in ableton-extension-workspace/iteration-1/ (benchmark.md, review.html).


📦 What's inside

A skill is a folder Claude reads progressively (only what it needs, when it needs it):

ableton-extension/
├── SKILL.md                       # always-on: workflow, core concepts, the high-value gotchas
├── references/
│   ├── api.md                     # the full SDK surface — every class, method, enum, type
│   ├── concepts.md                # worked patterns: handles, transactions, progress, sandbox, …
│   └── webviews-and-design.md     # webview ⇄ host protocol + Ableton UI design guidelines
└── assets/templates/              # copy-paste project scaffold
    ├── manifest.json  build.ts  package.json  tsconfig.json
    ├── extension.ts   interface.html   html.d.ts
    └── .env.example   .gitignore   README.md

ableton-extension.skill is the same folder zipped into a single installable file.


✅ Requirements

  • Claude Code (this is what loads the skill).
  • The Ableton Extensions SDK (1.0.0-beta.x) — you obtain this from Ableton (Centercode beta programme). It is not redistributed here; this repo only teaches Claude how to use it.
  • Node.js ≥ 24, an Ableton Live Beta build that supports Extensions, and Developer Mode enabled in Live → Preferences → Extensions.

🚀 Installation

A .skill file is just a zip of the skill folder. Pick one:

Personal (recommended) — available in every project

# from this repo
unzip ableton-extension.skill -d ~/.claude/skills/
# → ~/.claude/skills/ableton-extension/SKILL.md

or simply copy the folder:

cp -R ableton-extension ~/.claude/skills/

Project‑scoped — ships with one repo

mkdir -p .claude/skills && cp -R ableton-extension .claude/skills/

Restart / reopen Claude Code. Verify with /skills (you should see ableton-extension), or just ask it something Ableton‑extension‑related and watch it consult the skill.


🛠️ Usage

You don't invoke anything special — the skill auto‑triggers when you're working on an Ableton Live extension. Just describe what you want, in plain language. Example prompts:

  • "Scaffold a new Ableton Live extension that adds a Reverse clip name right‑click action on audio clips."
  • "Add a context‑menu action on a MIDI‑track time selection that fills it with empty clips — as a single undo step."
  • "Build an extension that downloads audio from a URL with yt‑dlp and drops it into the selected clip slot."
  • "Rename every clip in the set to <track name> N in one undoable operation."

What you get back: a correct activate() / initialize() entry point, properly scoped context‑menu actions, safe handle resolution, transactions for clean undo, progress dialogs for long work, sandbox‑safe file handling, optional webview UIs, and a project that builds to a .ablx.

What the skill covers

AreaWhat Claude gets right
Scaffoldingofficial create-extension flow or the bundled templates
Commands & menusevery ContextMenuScope incl. *.ArrangementSelection & ClipSlotSelection
Object modelSong → Track → Clip / Device / Scene / CuePoint … navigation
Handlesresolve‑don't‑cache, instanceof narrowing, generic version args (MidiTrack<"1.0.0">)
UndowithinTransaction incl. the async Promise.all grouping pattern
Long taskswithinProgressDialog with cancel / AbortSignal
Files & audioimportIntoProject, renderPreFxAudio, the storage/temp sandbox (+ mkdir/undefined guards)
Custom UIwebview modals, the close_and_send protocol, Live‑themed CSS
Build & shipesbuild bundling, manifest.json, packaging a .ablx
Gotchasnon‑contiguous WarpMode enum, beats‑vs‑seconds, import‑first, CLI --temp/--storage-directory

🎬 Examples

Four working extensions built with this skill live in examples/:

  • url-to-clip/ — the flagship showcase. Right‑click a clip slot (Session) or an audio track / time selection (Arrangement) → "Import audio from URL…" → a webview asks for a URL → yt‑dlp downloads it, ffmpeg extracts WAV → it's imported and dropped in as a clip, named after the video title. It exercises the hardest corners at once — webview modal, three context‑menu scopes, child_process under the filesystem sandbox, importIntoProject, createAudioClip in both views, progress + cancel — and worked first try in Live. Its README includes the one‑prompt request that generated it.
  • downloadwav/ — a minimal URL → clip‑slot variant.
  • cyclewarpmode/ — cycle an audio clip's Warp Mode (the non‑contiguous enum, done right).
  • fillwithclips/ — fill a MIDI time selection with clips as a single undo step.

The URL examples (url-to-clip, downloadwav) require brew install yt-dlp ffmpeg. Each example's README covers setup; you also supply the SDK tarballs in its vendor/ folder (not redistributed here).


🔁 Keeping it up to date

The SDK is in beta and will change. When a new beta drops:

  • Regenerate references/api.md from the SDK's TypeDoc HTML (the SDK ships rendered docs under api/).
  • Re‑read docs/ for new concepts and fold any new gotchas into SKILL.md.
  • Bump the API version string examples if initialize(activation, "x.y.z") changes.

Contributions welcome — issues and PRs that add patterns, fix gotchas, or extend the templates are great.


📁 Repository layout

.
├── README.md                       # you are here
├── LICENSE                         # MIT (© AKER)
├── CHANGELOG.md
├── ableton-extension/              # the skill (install this)
├── ableton-extension.skill         # the same, zipped for one-step install
├── examples/                       # 4 working extensions built with the skill
├── evals/evals.json                # the eval tasks + assertions used to measure the skill
└── ableton-extension-workspace/    # benchmark + side-by-side outputs (proof / methodology)

⚖️ Disclaimer & license

Community project, not affiliated with or endorsed by Ableton. Ableton and Live are trademarks of Ableton AG. The Extensions SDK is Ableton's and is not included here — get it from Ableton's beta programme. This repo contains only documentation/skill content describing how to use that SDK.

Made by aker-dev with Claude Code · tested against @ableton-extensions/[email protected].

// faq

What is ableton-extension-skill?

Claude Code skill for building Ableton Live extensions with @ableton-extensions/sdk — API & concept references, project templates, a with-skill vs baseline benchmark, and example extensions.. It is open-source on GitHub.

Is ableton-extension-skill free to use?

ableton-extension-skill is open-source under the NOASSERTION license, so it is free to use.

What category does ableton-extension-skill belong to?

ableton-extension-skill is listed under skills in the Claudeers registry of Claude-compatible tools.

0 views
18 stars
unclaimed
updated 7 days ago

// embed badge

ableton-extension-skill on Claudeers
[![Claudeers](https://claudeers.com/api/badge/ableton-extension-skill.svg)](https://claudeers.com/ableton-extension-skill)

// retro hit counter

ableton-extension-skill hit counter
[![Hits](https://claudeers.com/api/counter/ableton-extension-skill.svg)](https://claudeers.com/ableton-extension-skill)

// reviews

// guestbook

0/500

// related in Claude Skills

🔓

An agentic skills framework & software development methodology that works.

// skillsobra/Shell272,506MIT[ claude ]
🔓

Public repository for Agent Skills

// skillsanthropics/Python169,406[ claude ]
🔓

💫 Toolkit to help you get started with Spec-Driven Development

// skillsgithub/Python129,208MIT[ claude ]
🔓

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// skillsGraphify-Labs/Python106,387MIT[ claude ]
→ see how ableton-extension-skill connects across the ecosystem