Skills de Claude Code para proyectos de audio, MIDI, firmware embebido y desarrollo web. Basados en proyectos reales: embryo-player-v4, beatviz, DaisyWorkspace (909Pod, SLICERPOD, SAMPLEPOD), EMBRYO_FIRMWARE.
/install-skill C:\my_skills\<nombre>.skill
| # | Skill | Stack | Archivo |
|---|---|---|---|
| 1 | midi-web | JS / TS / Web MIDI API | midi-web.skill |
| 2 | webaudio-worklet | JS / TS / Web Audio API | webaudio-worklet.skill |
| 3 | threejs-midi-viz | Three.js / WebGPU / MIDI | threejs-midi-viz.skill |
| 4 | vite-ts-setup | Vite / TypeScript | vite-ts-setup.skill |
| 5 | embryo-design-system | HTML / CSS / TS | embryo-design-system.skill |
| 6 | juce-plugin | JUCE / C++ | juce-plugin.skill |
| 7 | cpp-dsp | C++ / DSP | cpp-dsp.skill |
| 8 | daisy-firmware | Daisy / libDaisy / DaisySP | daisy-firmware.skill |
| 9 | daisy-sequencer | Daisy / C++ | daisy-sequencer.skill |
| 10 | daisy-sdram-samples | Daisy / FatFS / SDRAM | daisy-sdram-samples.skill |
| 11 | daisy-oled-dma | Daisy / I2C / OLED | daisy-oled-dma.skill |
| 12 | git-audio-project | Git / workflow | git-audio-project.skill |
| 13 | readme-music-project | Markdown / docs | readme-music-project.skill |
| 14 | arduino-midi-sequencer | RP2040 / Arduino / TinyUSB | arduino-midi-sequencer.skill |
Stack: JavaScript / TypeScript / Web MIDI API Proyectos: embryo-player-v4, beatviz
Implementa Web MIDI API en proyectos web. Cubre MidiManager con hot-plug, parseo de mensajes (note-on/off, CC, clock), CC mapping configurable, note-to-pad index, y soporte multi-dispositivo.
Referencias:
midi-clock.md— BPM desde pulsos de clock, mensajes de transporte (Start/Stop/Continue)multi-device.md— Routing por dispositivo, selector de UI
Se activa cuando: el usuario menciona MIDI, CC mapping, note trigger, Web MIDI, controlador MIDI, o trabaja en embryo-player-v4 / beatviz.
Stack: JavaScript / TypeScript / Web Audio API / AudioWorklet Proyectos: embryo-player-v4
AudioWorklet completo para proyectos de audio en el browser. Cubre el boilerplate de AudioWorkletProcessor, mensajes tipados main-to-worklet con transferables, cadena de efectos (filter, distortion, reverb), carga de samples, normalización de parámetros, y pitfalls de threading.
Referencias:
indexeddb-audio.md— Serialización AudioBuffer a IndexedDB y restauraciónanalyser-sync.md— Pipeline AnalyserNode a Three.js visualizer, downsampling
Se activa cuando: el usuario menciona AudioWorklet, AudioContext, efectos Web Audio, sample player, audio buffers, o trabaja en embryo-player-v4.
Stack: Three.js / WebGPU / TSL / JavaScript Proyectos: beatviz, embryo-player-v4
Visualizadores 3D reactivos a MIDI con InstancedMesh, spring physics por instancia y materiales TSL con UniformNodes. Cubre setup de grilla 4x4, física de resortes tunable, color reactivo vía CC, WebGPURenderer, y loop de animación con delta time.
Referencias:
waveform-geometry.md— Líneas de onda con AnalyserNode y BufferGeometrycamera-controls.md— OrbitControls, auto-rotate, camera shake en trigger MIDI
Se activa cuando: el usuario menciona Three.js, visualización MIDI, InstancedMesh, spring physics, TSL, WebGPU, o trabaja en beatviz.
Stack: Vite / TypeScript Proyectos: embryo-player-v4
Scaffolding y configuración de proyectos Vite + TypeScript para apps de audio/MIDI en el browser. Cubre vite.config.ts, tsconfig.json, estructura de carpetas, carga correcta de AudioWorklet con ?url, path aliases @/, y variables de entorno.
Se activa cuando: el usuario quiere iniciar un proyecto web, configurar Vite, agregar TypeScript, o estructurar un proyecto similar a embryo-player-v4.
Stack: HTML / CSS / TypeScript
Proyectos: embryo-player-v4, beatviz, cualquier UI de ZUN Labs
Referencia visual: C:\embryo-player-v4\design-system\index.html
Aplica el design system Embryo V4 al construir o modificar interfaces. Estética técnica monocromática con tipografía retro (Press Start 2P + monospace), bordes duros, feedback instantáneo (0.05s), y acentos de aberración cromática magenta/cyan reservados para el efecto glitch.
Tokens:
- Colores:
--color-bg--color-fg--color-accent-1(magenta#ff00c1)--color-accent-2(cyan#00fff9) - Tipografía:
--font-main: monospace/--font-accent: 'Press Start 2P' - Espaciado:
--space-xs4px ·--space-s8px ·--space-m16px ·--space-l32px
Componentes: drum-pad (estados loaded / triggered), fx-slider cross-browser, fx-panel, header/transport bar, h2 con borde lateral, animación glitch con clip-path y data-text.
Referencias:
pad-grid.md— Grilla 4x4 de pads, generación dinámica desde TS, estado triggeredts-integration.md— Builders tipados, binding con AudioManager, sync desde MIDI CC
Se activa cuando: el usuario quiere construir una UI, agregar un componente, aplicar estilos, o necesita consistencia visual con embryo-player-v4 o beatviz.
Stack: JUCE / C++ Proyectos: plugins VST3 / AU
Plugin JUCE completo. Cubre AudioProcessor boilerplate, APVTS con parámetros automatable, PluginEditor con SliderAttachment/ButtonAttachment, manejo de MIDI en processBlock, serialización de estado (presets), y reglas de threading UI/audio.
Referencias:
juce-dsp.md— ProcessorChain, filtros IIR, reverb, oversampling conjuce::dsplookandfeel.md— Custom LookAndFeel, pintar knobs rotarios conGraphics
Se activa cuando: el usuario menciona JUCE, AudioProcessor, APVTS, VST, AU, PluginEditor, o quiere construir un plugin de audio.
Stack: C++ / DSP (JUCE y embedded) Proyectos: plugins JUCE, firmware Daisy
Algoritmos DSP en C++ puro para audio en tiempo real. Cubre biquad filter (LP/HP), ADSR state-machine, wavetable oscillator con interpolación, delay line ring buffer, soft clipping (tanh/cubic/hard), parameter smoothing one-pole, y utilidades de frecuencia (mtof, dbtoa, linToExp).
Referencias:
voice-stealing.md— Asignación y robo de voces polifónicas (idle → release → oldest)
Se activa cuando: el usuario menciona DSP, filtros, biquad, IIR, oscilador, wavetable, ADSR, LFO, delay line, distorsión, o procesamiento de señal en C++.
Basados en C:\DaisyWorkspace\DAISY_PROJECT_STANDARDS.md y código real de 909Pod, SLICERPOD y SAMPLEPOD.
Stack: libDaisy / DaisySP / C++ Proyectos: 909Pod, SLICERPOD, SAMPLEPOD, DRUMPOD, EMBRYO_FIRMWARE
Base de firmware Daisy. Cubre el patrón AudioCallback (reglas de seguridad, qué nunca hacer), paso de parámetros main→callback con volatile, SoftPickup completo con ForceValue, Makefile del workspace, init de DaisyPod, referencia DaisySP (osciladores, filtros, efectos, drum models), y mapping knob a parámetro (lineal, exponencial, bipolar, integer steps).
Referencias:
voice-manager.md— Voces polifónicas conMAX_VOICESfijo, sin heap allocationpetal-ui.md— DaisyPetal: footswitches (rising/falling/hold), LEDs RGB, expresión
Se activa cuando: el usuario menciona Daisy, DaisySeed, DaisyPetal, DaisyPod, libDaisy, DaisySP, o trabaja en cualquier proyecto de DaisyWorkspace.
Stack: C++ / libDaisy Proyectos: 909Pod, SLICERPOD
Secuenciador de pasos completo para Daisy. Cubre estructuras Step/Track/Sequencer, TimingEngine (BPM a samples por paso), NoteScheduler con probabilidad por paso, PatternEditor con encoder, swing, scatter/randomize, y dibujo del grid en OLED.
Se activa cuando: el usuario menciona secuenciador, step sequencer, 16-step, BPM, swing, scatter, tracks, o scheduling de notas en contexto Daisy.
Stack: C++ / FatFS / libDaisy SDRAM Proyectos: SLICERPOD, SAMPLEPOD
Carga de samples WAV desde SD card a SDRAM. Cubre macros DSY_SDRAM_BSS y DMA_BUFFER_MEM_SECTION, FatFS (mount, open, read, enumerate), parsing de header WAV 16-bit, OneShotSampler con pitch shifting por interpolación lineal, patrón de 4 samples fijos (SAMPLEPOD) y slices dinámicos (SLICERPOD).
Se activa cuando: el usuario menciona SD card, WAV loading, sample player, FatFS, SDRAM, DSY_SDRAM_BSS, o quiere cargar audio en Daisy.
Stack: C++ / libDaisy / SSD1306 Proyectos: SLICERPOD, 909Pod, SAMPLEPOD
Driver OLED no-bloqueante con I2C DMA basado en el UIManager de SLICERPOD. Cubre setup hardware (buffer en D2 RAM con DMA_BUFFER_MEM_SECTION), UIManager con dirty flag y rate limiting a 10Hz, helpers de dibujo (texto, rect, líneas, inversión de región), DrawStepRow para grid de secuenciador, y guía de refresh rates (4–30Hz).
Se activa cuando: el usuario menciona OLED, SSD1306, I2C DMA, UIManager, display no-bloqueante, o quiere dibujar UI en Daisy sin dropouts de audio.
Stack: Git / Git LFS Proyectos: todos
Git configurado para proyectos de audio. Cubre .gitignore por stack (Vite/TS, JUCE/CMake, Daisy/ARM), Git LFS para samples WAV/MP3/FLAC, convenciones de commits (Conventional Commits: feat/fix/perf/chore), y estrategia de branches (main/dev/feature/fix).
Se activa cuando: el usuario quiere inicializar un repo, necesita un .gitignore para audio/firmware, quiere manejar samples grandes con LFS, o pregunta sobre workflow git.
Stack: Markdown Proyectos: todos
Genera READMEs bien estructurados para proyectos de música y audio. Incluye templates listos para: web app de audio (Vite/TS), plugin JUCE (VST3/AU), y firmware Daisy. Cubre descripción, features, stack, setup en un comando, tablas de MIDI mapping, controles de hardware, y licencia.
Se activa cuando: el usuario quiere escribir o mejorar un README, documentar un proyecto, o publicar en GitHub.
Stack: RP2040 / Arduino IDE / Adafruit_TinyUSB / C++ Proyectos: EMBRYO_FIRMWARE (Zuno Labs)
Secuenciador MIDI de pasos para RP2040 (Raspberry Pi Pico) vía Arduino IDE. Basado en EMBRYO_FIRMWARE v0.8.1: 4 tracks x 64 steps, USB MIDI con Adafruit_TinyUSB, 4 slots de patrón en EEPROM, sincronización a clock MIDI externo (24 PPQN), CD4067 multiplexer para pads, OLED SSD1306 128x32, encoders via MCP23X17 I2C.
Cubre: structs Step/Track/SequencerState, TimingEngine con anti-drift (+= en lugar de =), buffer de ActiveNote para noteOffs programados, guardado/carga de patrones con magic byte 0xEB, mux input, UIManager con dirty flag y throttle a 250ms.
Referencias:
embryo-firmware-architecture.md— mapa de headers modulares (EXPORTS/), layout EEPROM, perform mode, swing implementationencoder-input.md— MCP23X17 con interrupciones, tabla Gray code para cuadratura, alternativa con Encoder.h directo
Se activa cuando: el usuario menciona EMBRYO_FIRMWARE, RP2040, Arduino sequencer, USB MIDI con TinyUSB, CD4067, PPQN, EEPROM patterns, o trabaja en proyectos de Zuno Labs / sebasdv con Arduino.
C:\my_skills\
├── README.md
│
├── midi-web/ ← Web MIDI API
│ ├── SKILL.md
│ └── references/
│ ├── midi-clock.md
│ └── multi-device.md
│
├── webaudio-worklet/ ← AudioWorklet + Web Audio
│ ├── SKILL.md
│ └── references/
│ ├── indexeddb-audio.md
│ └── analyser-sync.md
│
├── threejs-midi-viz/ ← Three.js visualizer
│ ├── SKILL.md
│ └── references/
│ ├── waveform-geometry.md
│ └── camera-controls.md
│
├── vite-ts-setup/ ← Vite + TypeScript
│ └── SKILL.md
│
├── embryo-design-system/ ← Design System Embryo V4
│ ├── SKILL.md
│ └── references/
│ ├── pad-grid.md
│ └── ts-integration.md
│
├── juce-plugin/ ← JUCE plugin C++
│ ├── SKILL.md
│ └── references/
│ ├── juce-dsp.md
│ └── lookandfeel.md
│
├── cpp-dsp/ ← DSP en C++ puro
│ ├── SKILL.md
│ └── references/
│ └── voice-stealing.md
│
├── daisy-firmware/ ← Daisy base + DaisySP
│ ├── SKILL.md
│ └── references/
│ ├── voice-manager.md
│ └── petal-ui.md
│
├── daisy-sequencer/ ← Secuenciador de pasos
│ └── SKILL.md
│
├── daisy-sdram-samples/ ← SD card + SDRAM samples
│ └── SKILL.md
│
├── daisy-oled-dma/ ← OLED con I2C DMA
│ └── SKILL.md
│
├── git-audio-project/ ← Git para audio/firmware
│ └── SKILL.md
│
├── readme-music-project/ (Generador de READMEs)
│ └── SKILL.md
│
└── arduino-midi-sequencer/ (RP2040 USB MIDI sequencer)
├── SKILL.md
└── references/
├── embryo-firmware-architecture.md
└── encoder-input.md
14 skills · 21 archivos de referencia · generados con Claude Code · basados en proyectos reales de sebasdv