ableton-remote-script
Skill9 starsChanged 5 months agoMITView on GitHub
Patterns for the ableton-mind Python Remote Script bridge: ControlSurface lifecycle, handlers, thread-safe LiveAPI, listeners, undo transactions and offline tests.
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use this skill when implementing or reviewing code under live/AbletonMind/.
- Distinctive: line 13
Prefer stdlib only inside Live.
- Distinctive: line 14
Keep handlers idempotent and read-before-write.
- Distinctive: line 17
Test offline with unittest and faked LiveAPI.
- Distinctive: line 29
Use a ListenerRegistry that tracks add/remove pairs.
- Distinctive: line 33
Use transaction helpers for multi-step mutations: create track + rename + load device should become one undo action.
- Distinctive: line 37
Every handler gets at least one happy path and one error path.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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
Ableton Remote Script — Python Bridge Patterns
Use this skill when implementing or reviewing code under live/AbletonMind/.
Constraints
- LiveAPI must be touched on Live's main thread. TCP worker threads enqueue work.
- Prefer stdlib only inside Live.
- Keep handlers idempotent and read-before-write.
- Wrap composite mutations in Song.begin_undo_step/end_undo_step.
- Return JSON-serializable data and structured JSON-RPC errors.
- Test offline with unittest and faked LiveAPI.
ControlSurface Lifecycle
Expose create_instance(c_instance), construct AbletonMind(ControlSurface), start the bridge when the control surface loads and stop it cleanly on disconnect/reload. Use log_message for structured diagnostics.
Handler Pattern
Register handlers with stable method names such as transport.play or track.list. Validate inputs, resolve Live objects at call time, check liveobj_valid before use, mutate only when needed, then read state back and return the contract shape.
Listener Pattern
Use a ListenerRegistry that tracks add/remove pairs. Subscribing twice is a no-op. Unsubscribe on client disconnect and surface reload. Listener callbacks push JSON-RPC notifications with stable event names and compact params.
Transactions
Use transaction helpers for multi-step mutations: create track + rename + load device should become one undo action. Always end the undo step in finally.
Tests
Every handler gets at least one happy path and one error path. Listener tests verify duplicate registration and cleanup. Smoke tests may use a real Live instance, but unit tests must pass without Live.
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ableton-mind-buildSkill
- ableton-remote-scriptSkill
- cross-boundary-qaSkill
- device-schema-extractionSkill
- mcp-distributionSkill
- mcp-server-developmentSkill
- recipe-authoringSkill
- ableton-mind-buildSkill
- ableton-mind-quality-auditSkill
- command-surface-auditSkill
- cross-boundary-qaSkill
- device-schema-extractionSkill
- local-copilotSkill
- mcp-distributionSkill
- mcp-server-developmentSkill
- recipe-authoringSkill
- refactor-maintainabilitySkill
- runtime-release-auditSkill
- security-auditSkill
- test-coverage-expansionSkill
- usability-flow-auditSkill
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.

