Claude-skill-registry claude-collider
Use when live coding music with SuperCollider via ClaudeCollider MCP server.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/claude-collider" ~/.claude/skills/majiayu000-claude-skill-registry-claude-collider && rm -rf "$T"
manifest:
skills/data/claude-collider/SKILL.mdsource content
SuperCollider Live Coding with ClaudeCollider
This skill enables live music synthesis using SuperCollider via the ClaudeCollider MCP server.
Quick Reference
Key Rules
- Drums need
- IMPORTANT Without it, drums sound wrong\freq, 48 - Use Pdef for rhythms - Patterns that repeat
- Use Ndef for continuous - Pads, drones, textures
- Symbols not strings -
not\kick"kick" - Semicolons between statements - No trailing semicolon
- NEVER Synth() inside Ndef - Causes infinite spawning
CC API Reference
The main entry point stored in
~cc. Access subsystems via ~cc.synths, ~cc.fx, ~cc.midi, ~cc.samples, ~cc.recorder, ~cc.state.
CC - Main Class
| Method | Description |
|---|---|
| Get/set tempo in BPM |
| Stop all Pdefs and Ndefs |
| Full reset: free all synths, patterns, effects, samples |
| Get formatted status string |
| Restart the server |
~cc.synths - Synth Definitions
27+ pre-built synths with
cc_ prefix.
| Method | Description |
|---|---|
| Comma-separated list of synth names |
| Detailed descriptions with params |
| One-shot synth playback |
Usage
~cc.synths.play(\cc_kick, \freq, 48, \amp, 0.8);
~cc.fx - Effects System
18 built-in effects with routing, chaining, and sidechaining.
| Method | Description |
|---|---|
| Load effect (slot defaults to ) |
| Set effect parameters |
| Bypass/re-enable effect |
| Remove effect |
| Route Pdef/Ndef to effect |
| Chain effect output to another effect |
| Create sidechain compressor |
| Route trigger to sidechain |
| Route to hardware outputs |
| Available effect names |
| Effect descriptions with params |
| Current effects and routing |
Usage
~cc.fx.load(\reverb); ~cc.fx.route(\bass, \fx_reverb); ~cc.fx.set(\fx_reverb, \mix, 0.5, \room, 0.9);
~cc.midi - MIDI Control
| Method | Description |
|---|---|
| List available MIDI devices |
| Connect device ( or ) |
| Connect all MIDI inputs |
| Disconnect (, , or ) |
| Play synth via MIDI |
| Stop current MIDI synth |
| Get MIDI status |
Usage
~cc.midi.connectAll; ~cc.midi.play(\lead, nil, false, true, ( 1: \cutoff, // CC1 -> cutoff 74: (param: \res, range: [0.1, 0.9]) // CC74 -> res with range ));
~cc.samples - Sample Management
Samples from
~/.claudecollider/samples.
| Method | Description |
|---|---|
| Load sample buffer into memory |
| Get buffer (nil if not loaded) |
| One-shot playback |
| Free buffer |
| Rescan directory for new files |
| Array of sample names |
| Comma-separated list |
Usage
~cc.samples.load(\kick); ~cc.samples.play(\kick, 1, 0.8); Pdef(\samp, Pbind(\instrument, \cc_sampler, \buf, ~cc.samples.at(\kick), \dur, 1)).play
~cc.recorder - Audio Recording
Records to
~/.claudecollider/recordings.
| Method | Description |
|---|---|
| Start recording (auto-names if nil) |
| Stop recording, returns path |
| Recording status |
| Boolean |
~cc.state - Bus Management
Named control/audio buses stored in current environment.
| Method | Description |
|---|---|
| Get or create bus (also sets ) |
| Set bus value |
| Get bus by name |
| Free bus |
| Free all buses |
Usage
~cc.state.bus(\cutoff, 1, \control); ~cc.state.setBus(\cutoff, 2000); Synth(\cc_acid, [\cutoff, ~cutoff.asMap]); // Map bus to param