Skip to content

sebasdv/my-skills

Repository files navigation

Skills — Sebasdv

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.


Instalación

/install-skill C:\my_skills\<nombre>.skill

Índice

# 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

Web Audio / MIDI / Visualización

midi-web

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.


webaudio-worklet

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ón
  • analyser-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.


threejs-midi-viz

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 BufferGeometry
  • camera-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.


vite-ts-setup

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.


UI / Design System

embryo-design-system

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-xs 4px · --space-s 8px · --space-m 16px · --space-l 32px

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 triggered
  • ts-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.


JUCE / C++ / DSP

juce-plugin

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 con juce::dsp
  • lookandfeel.md — Custom LookAndFeel, pintar knobs rotarios con Graphics

Se activa cuando: el usuario menciona JUCE, AudioProcessor, APVTS, VST, AU, PluginEditor, o quiere construir un plugin de audio.


cpp-dsp

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++.


Daisy Hardware (DaisyWorkspace)

Basados en C:\DaisyWorkspace\DAISY_PROJECT_STANDARDS.md y código real de 909Pod, SLICERPOD y SAMPLEPOD.

daisy-firmware

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 con MAX_VOICES fijo, sin heap allocation
  • petal-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.


daisy-sequencer

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.


daisy-sdram-samples

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.


daisy-oled-dma

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.


Workflow / Documentación

git-audio-project

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.


readme-music-project

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.


Arduino / Embedded (RP2040)

arduino-midi-sequencer

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 implementation
  • encoder-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.


Estructura del repositorio

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

About

Claude Code skills for audio, MIDI, firmware and web projects — embryo-player-v4, beatviz, DaisyWorkspace, EMBRYO_FIRMWARE

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors