Skip to content
Back to skills

Claude Collider

ASecurity

Use when live coding music with SuperCollider via ClaudeCollider MCP server.

  • 666 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added February 8, 2026
developmentapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill claude-collider --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Claude Collider?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Claude Collider
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-claude-collider/badge)](https://www.skillsdirectory.com/skills/majiayu000-claude-collider)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: claude-collider
description: Use when live coding music with SuperCollider via ClaudeCollider MCP server.
---

# SuperCollider Live Coding with ClaudeCollider

This skill enables live music synthesis using SuperCollider via the ClaudeCollider MCP server.

## Quick Reference

### Key Rules

1. **Drums need `\freq, 48`** - IMPORTANT Without it, drums sound wrong
2. **Use Pdef for rhythms** - Patterns that repeat
3. **Use Ndef for continuous** - Pads, drones, textures
4. **Symbols not strings** - `\kick` not `"kick"`
5. **Semicolons between statements** - No trailing semicolon
6. **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                                             |
| ---------------------------------------- | ------------------------------------------------------- |
| `tempo(bpm)`                             | Get/set tempo in BPM                                    |
| `stop`                                   | Stop all Pdefs and Ndefs                                |
| `clear`                                  | Full reset: free all synths, patterns, effects, samples |
| `status`                                 | Get formatted status string                             |
| `reboot(device, numOutputs, onComplete)` | Restart the server                                      |

---

## ~cc.synths - Synth Definitions

27+ pre-built synths with `cc_` prefix.

| Method                | Description                         |
| --------------------- | ----------------------------------- |
| `list`                | Comma-separated list of synth names |
| `describe`            | Detailed descriptions with params   |
| `play(name, ...args)` | One-shot synth playback             |

### Usage

```supercollider
~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(name, slot)`                                   | Load effect (slot defaults to `fx_<name>`) |
| `set(slot, ...args)`                                 | Set effect parameters                      |
| `bypass(slot, bool)`                                 | Bypass/re-enable effect                    |
| `remove(slot)`                                       | Remove effect                              |
| `route(source, target)`                              | Route Pdef/Ndef to effect                  |
| `connect(from, to)`                                  | Chain effect output to another effect      |
| `sidechain(name, threshold, ratio, attack, release)` | Create sidechain compressor                |
| `routeTrigger(source, sidechainName, passthrough)`   | Route trigger to sidechain                 |
| `routeToOutput(source, channels)`                    | Route to hardware outputs                  |
| `list`                                               | Available effect names                     |
| `describe`                                           | Effect descriptions with params            |
| `status`                                             | Current effects and routing                |

### Usage

```supercollider
~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                           |
| ------------------------------------------------------ | ------------------------------------- |
| `listDevices`                                          | List available MIDI devices           |
| `connect(device, direction)`                           | Connect device (`\in` or `\out`)      |
| `connectAll`                                           | Connect all MIDI inputs               |
| `disconnect(direction)`                                | Disconnect (`\in`, `\out`, or `\all`) |
| `play(synthName, channel, mono, velToAmp, ccMappings)` | Play synth via MIDI                   |
| `stop`                                                 | Stop current MIDI synth               |
| `status`                                               | Get MIDI status                       |

### Usage

```supercollider
~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(name)`            | Load sample buffer into memory |
| `at(name)`              | Get buffer (nil if not loaded) |
| `play(name, rate, amp)` | One-shot playback              |
| `free(name)`            | Free buffer                    |
| `reload`                | Rescan directory for new files |
| `names`                 | Array of sample names          |
| `list`                  | Comma-separated list           |

### Usage

```supercollider
~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(filename)` | Start recording (auto-names if nil) |
| `stop`            | Stop recording, returns path        |
| `status`          | Recording status                    |
| `isRecording`     | Boolean                             |

---

## ~cc.state - Bus Management

Named control/audio buses stored in current environment.

| Method                         | Description                           |
| ------------------------------ | ------------------------------------- |
| `bus(name, numChannels, rate)` | Get or create bus (also sets `~name`) |
| `setBus(name, value)`          | Set bus value                         |
| `getBus(name)`                 | Get bus by name                       |
| `freeBus(name)`                | Free bus                              |
| `clear`                        | Free all buses                        |

### Usage

```supercollider
~cc.state.bus(\cutoff, 1, \control);
~cc.state.setBus(\cutoff, 2000);
Synth(\cc_acid, [\cutoff, ~cutoff.asMap]);  // Map bus to param
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.