By A5TA
Compose genre-aware music in Strudel with Claude Code — subagents, skills, a distilled knowledge base, and a verified pattern library.
Claude Code subagents for composing music in [Strudel](https://strudel.cc). Each agent is a single `.md` file: YAML frontmatter (`name`, `description`, optional `tools`) followed by its system prompt. All of them draw on the verified reference material in [`knowledge/`](../knowledge/) and follow the same ground rules: original music only, verified Strudel API only, runnable output, and the pre-ship checklist from `knowledge/gotchas.md`.
Song-structure specialist for Strudel. Converts a set of loops into a full arrangement using arrange() or a live performance script with $:/_$: voices — building energy curves, intros, breakdowns, drops, transitions, and 4/8/16-cycle phrase lengths. Use when loops need to become a track with a beginning, middle, and end, or when a pattern "just loops" and needs structure over time.
Lead Strudel composer and orchestrator. Takes a musical brief ("make me a dark techno track at 132 BPM") and produces a complete, runnable Strudel piece — tempo, key, drums, bass, harmony, leads, and arrangement. Use proactively for any "write/compose/make me a track, beat, song, or pattern" request; it is the default entry point for Strudel composition and can delegate to the strudel-* specialist agents when they are installed.
Genre consultant for Strudel composition. Given a genre (house, techno, DnB, ambient, lo-fi hip-hop, acid, jungle, downtempo, or adjacent styles), supplies its conventions — BPM range, drum skeleton, bass and harmony approach, signature effects and sound palette — plus a small verified starter skeleton for other agents to build on. Use at the start of any genre-specific composition, or for "what makes a track sound like X?" questions.
Read-only reviewer for Strudel code. Checks patterns for syntax errors (the gotchas checklist), musical problems (frequency masking, on-the-grid monotony, missing dynamics, harmonic clashes, gain staging), genre authenticity, and originality red flags, then returns a structured review of blocking issues, improvements, and what works. Use proactively after any agent or user produces Strudel code, and for "why does this sound stiff/muddy/wrong?" questions. Never edits files.
Orchestrate the full strudel-* agent team to compose one complete, runnable Strudel track from a genre plus a description of how it should feel. Locks a shared brief (BPM, key/mode, kit), fans out to the genre, rhythm, harmony, and sound-design specialists, assembles the parts with the arranger, runs the groove critic, and delivers a single paste-and-play code block. Use when the user wants a whole song/beat/track made end-to-end ("make me a dark melodic techno track that feels like driving at night"), not just one layer.
Genre conventions for composing in Strudel — BPM, drum skeletons, bassline and harmony approaches, and signature effects for house, techno, drum-and-bass, ambient, lo-fi hip-hop, acid, jungle, and downtempo/trip-hop, each as a compact ready-to-adapt snippet. Use when the user asks for music in a specific genre or style, or wants a track to sound more authentically like one.
Practical music theory applied in Strudel — choosing keys and scales by mood (dorian, phrygian, lydian, mixolydian, pentatonics), diatonic chord progressions as scale degrees and chord symbols rendered with chord()/voicing() or n().scale(), basslines from rootNotes(), voice leading, tension and release, and melody-writing heuristics. Use when writing chord progressions, basslines, or melodies, choosing a key or mode for a mood, or harmonizing existing material in Strudel.
Rhythm craft in Strudel — the role of each drum voice (kick, snare/clap, hats, percussion), a euclidean rhythm vocabulary with the feel of (3,8), (5,8), (5,16), (7,16), swing amounts per genre with swingBy, velocity patterning and ghost notes for humanization, fills with every/lastOf, polyrhythm vs polymeter, and layering rules that avoid mud. Use when programming drums, fixing a stiff or cluttered groove, adding swing or fills, or building polyrhythmic patterns.
Building full tracks in Strudel — section vocabulary (intro, build, drop, breakdown, outro), energy curves, arrange() for fixed structures vs stack() with $:/_$: muting for live performance, 4/8/16-cycle phrase lengths, transition techniques (filter sweeps, fills on lastOf, dropping the kick), and a complete 64-cycle arrangement skeleton. Use when turning loops into a complete piece, structuring sections over time, or adding builds, drops, and transitions to a Strudel composition.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Compose genre-aware music in Strudel with Claude Code — subagents, skills, and a verified pattern library.
Strudel is a browser-based live-coding language — a JavaScript port of TidalCycles — that lets you write music as code: rhythmic patterns, chord progressions, synthesis, and effects, all expressed as composable pattern transformations.
strudel-agents is a toolkit that teaches Claude Code to be a competent Strudel collaborator. Out of the box, large language models tend to hallucinate Strudel syntax, mix up Tidal and Strudel idioms, and produce patterns that don't evaluate. This repo fixes that with four layers:
compose-song orchestrator plus focused, on-demand lessons in Strudel syntax, mini-notation, music theory, groove, and genre conventions.gotchas.md of common LLM mistakes.The result: ask Claude Code for "a rolling 174 BPM drum & bass pattern with a Reese bass" and get code that actually runs when you paste it into strudel.cc.
Inside Claude Code:
/plugin marketplace add a5ta/strudel-agents
/plugin install strudel-agents
git clone https://github.com/a5ta/strudel-agents.git
cd strudel-agents
./install.sh # installs to ~/.claude/ for all projects
./install.sh --project . # or install into a single project's .claude/
Copy agents/*.md into your project's .claude/agents/ and the skills/* directories into .claude/skills/ (or into ~/.claude/agents/ and ~/.claude/skills/ for user-wide installation).
Once installed, just ask. The fastest path is the compose-song orchestrator — give it a genre and a feeling, and it drives the whole specialist team end-to-end:
/compose-song melodic techno — driving at night, hopeful but tense
/compose-song lo-fi hip-hop — rainy Sunday, nostalgic and unhurried
Or reach for an individual agent or skill directly. Some prompts to try:
Use the strudel-composer agent to write a 4-track minimal techno groove at 132 BPM.
Ask for a lo-fi hip-hop beat with jazzy 7th chords in D dorian, around 80 BPM.
Have the strudel-groove-critic review this pattern and suggest how to make the
hi-hats swing harder without losing the four-on-the-floor feel.
Paste the resulting code into strudel.cc and press play.
| Agent | Role | When to use |
|---|---|---|
strudel-composer | Orchestrator — plans the piece and delegates to specialists | Any "write me a track" request; the default entry point |
strudel-rhythm-architect | Drum programming, euclidean rhythms, swing, syncopation | Beats, breaks, polyrhythms, groove construction |
strudel-harmony-theorist | Chord progressions, scales, voice leading, basslines | Harmonic content, melodies, key/mode questions |
strudel-sound-designer | Synth parameters, sample selection, effects chains | Timbre, texture, filters, FX, mixing decisions |
strudel-arranger | Song structure, transitions, layering over time | Turning loops into arrangements with intros, drops, breakdowns |
strudel-groove-critic | Reviews patterns for musicality and idiomatic Strudel | Feedback, refinement, "why does this sound stiff?" |
strudel-genre-specialist | Deep genre conventions (tempo, sound palette, structure) | Making a track sound authentically house/DnB/acid/etc. |
npx claudepluginhub a5ta/strudel-agents --plugin strudel-agentsAccess thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Complete developer toolkit for Claude Code
Intelligent draw.io diagramming plugin with AI-powered diagram generation, multi-platform embedding (GitHub, Confluence, Azure DevOps, Notion, Teams, Harness), conditional formatting, live data binding, and MCP server integration for programmatic diagram creation and management.
Feature development with code-architect/explorer/reviewer agents, CLAUDE.md audit and session learnings, and Agent Skills creation with eval benchmarking from Anthropic.
Orchestrate multi-agent teams for parallel code review, hypothesis-driven debugging, and coordinated feature development using Claude Code's Agent Teams
Production-grade engineering skills for AI coding agents — covering the full software development lifecycle from spec to ship.