Livecoding
Broomva agent-skills monorepo — 48 Tier-2 skills compatible with Claude Code, Codex, Cursor, Gemini CLI, Goose, Copilot. Layout follows anthropics/skills (agentskills.io spec). Install: npx skills add broomva/skills --skill <name>.
npx -y skills add broomva/skills --skill livecodingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Algorave-grade livecoded music workflow — TidalCycles patterns (Haskell DSL driving SuperDirt over OSC) + Hydra-synth visuals (browser or VS Code Simple Browser via a local HTML page that loads hydra-synth from CDN). Wraps the boot ritual (SuperCollider → SuperDirt → Tidal → Hydra), a vibe-descriptor pattern generator (industrial, ambient, DnB, footwork, techno, algorave-glitch), and a reference tunnel-visuals page for the @lo.fi.sci.fi-projected aesthetic. Mac-first; ports to Linux with package-name swaps.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.8 KB, as published. Nobody here has run it
Livecoding — TidalCycles + Hydra workflow
A skill for the algorave / livecoded-electronic-music workflow. You write code
in real time → patterns emit OSC messages → SuperDirt synthesizes the audio →
Hydra renders matching visuals. Same lineage as #livecode #electronicmusic #algorave.
This is code-as-music, not AI-generated music. The aesthetic comes from polyrhythmic + cyclic structure idiomatic to the tool, not from a generative model. For AI-music generation (Suno / Udio / MusicGen), that's a separate stack — out of scope here.
When to invoke
| User intent | Workflow | Quick command |
|---|---|---|
| "Get me set up" / fresh install / "is everything working?" | Boot | Walk prereq check + boot ritual |
| "Generate a pattern" / "make me a beat" / "give me an industrial pattern" | StarterPattern | Vibe descriptor → Tidal pattern |
| "Visuals" / "tunnel" / "kaleidoscope" / "open Hydra" | HydraVisuals | Open the Hydra page; offer pattern mutations |
Default discipline: any livecoding-domain conversation opens with a state check
— is SuperCollider running? Is SuperDirt.start; evaluated? Is Tidal booted in
the editor? — before generating patterns. Dumping a pattern into a chat when
the user's stack isn't running just produces frustration.
The stack
Editor (VS Code + Tidal extension) ← you write Haskell-ish patterns
│
▼ OSC (UDP 57120)
TidalCycles (Haskell, in ghci) ← cycles + pattern combinators
│
▼ OSC
SuperDirt (SuperCollider quark) ← sampler + synth router
│
▼
scsynth (SuperCollider server) ← audio synthesis → speakers
Browser / VS Code Simple Browser ← visuals pane
│
▼
hydra-synth (WebGL) ← livecoded visuals, separate process
Prereqs (Mac)
| Component | How to verify | Install |
|---|---|---|
| Homebrew | brew --version | https://brew.sh |
| SuperCollider | ls /Applications/SuperCollider.app | brew install --cask supercollider |
| SuperDirt | open SC → Quarks.installed.do(|q| q.name.postln) | In SC: Quarks.install("SuperDirt", "v1.7.3"); |
| Haskell | ghc --version && cabal --version | curl -sSf https://get-ghcup.haskell.org | sh |
| TidalCycles | ghci -e 'import Sound.Tidal.Context' | cabal install tidal --lib |
| VS Code | ls /Applications/Visual\ Studio\ Code.app | https://code.visualstudio.com |
| VS Code Tidal extension | code --list-extensions | grep tidal | install tidalcycles.vscode-tidalcycles |
See Boot workflow for the full sequence with troubleshooting.
First sound (the boot ritual, short form)
- SuperCollider.app → evaluate
SuperDirt.start;(Cmd-Returnon the line) - VS Code → open a
.tidalfile → command palette →TidalCycles: Boot Tidal - In the
.tidalfile:d1 $ s "bd*4" Shift-Enteron that line. Kick drum every quarter beat.- To stop:
hushthenShift-Enter.
If you hear nothing → SuperDirt isn't running. Re-run SuperDirt.start; in SC.
Visuals (short form)
Open References/hydra-tunnel.html in your browser (or VS Code's Simple Browser
pane next to your .tidal file). Starter pattern: industrial kaleidoscopic
tunnel. Edit in the floating editor → Cmd-Enter to re-eval. See the
HydraVisuals workflow for audio-reactive setup
(via BlackHole virtual audio cable) and the full @lo.fi.sci.fi-aesthetic toolkit.
Composes with
- persist (P12) —
persist iterate livecoding-session.mdfor self-rebooting long sessions where the agent rotates through pattern mutations across hours - bookkeeping (P6) — high-signal patterns/textures discovered in a session
promote into
research/entities/concept/livecoding-*.mdvia Nous gate ≥ 5/9
Out of scope (for now)
- AI-generated music (Suno / Udio / MusicGen). Separate stack, separate skill.
- Foxdot, Sonic Pi. Siblings of Tidal, not yet covered.
- Strudel (
strudel.cc) — browser-only Tidal sibling; obvious next add since patterns mostly port directly. Roadmap. - Hardware MIDI / Eurorack integration. Workflow exists (SuperDirt → MIDI out) but isn't documented here.
References
- Workflows/Boot.md — full boot ritual with troubleshooting
- Workflows/StarterPattern.md — vibe→pattern generator
- Workflows/HydraVisuals.md — Hydra setup + tunnel primitives
- References/tidal-cheatsheet.md — Tidal mini-notation + effects + combinators
- References/hydra-cheatsheet.md — Hydra source/transform/blend API
- References/hydra-tunnel.html — self-contained Hydra page (CDN-loaded, no install)
Provenance
Substance ported from ~/broomva/research/notes/2026-05-23-tidalcycles-mac-setup.md
written 2026-05-23 in response to a user request to learn the
@_switch_angel / @_polymatters / @lo.fi.sci.fi algorave style. Validated against:
- SuperCollider 3.13+, SuperDirt 1.7.3
- TidalCycles 1.9+, GHC 9.6.6 LTS
- hydra-synth 1.4.0 (npm, CDN-served via unpkg)
- vercel-labs/skills CLI install semantics (verified 2026-05-23)