strudel

Write live-coded music tracks as Strudel patterns and validate them with the verdict parser.

465|41|Updated Aug 4, 2026
One-click install
npx skills add https://github.com/autonomous-ai/openharness --skill strudel-autonomous-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: strudel
Source: https://github.com/autonomous-ai/openharness/tree/main/store/agents/strudel/skills/strudel
Command: npx skills add https://github.com/autonomous-ai/openharness --skill strudel-autonomous-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing live-coded music in Strudel requires knowing its mini-notation, synth and effect APIs, and song-structure idioms, and a single syntax error silently leaves the pane playing the old pattern. This Skill provides the complete reference and a validation workflow so tracks parse and play correctly on every save. ## Core Features & Use Cases - Mini-notation and pattern authoring: Write sequences, subdivisions, Euclidean rhythms, polymeters, chords, and scale-degree melodies using Strudel's pattern language. - Offline-first sound design: Build drums and synths from oscillators, noise sources, and the synthesized sbd kick without needing internet-fetched samples. - Verdict validation: Run the verdict.py checker after every save to confirm the file parses with the same parser the REPL uses and to update the pane's status display. - Use Case: Ask for a 120 BPM minor-key groove; the Skill writes track.strudel with named stack voices (kick, bass, hats), runs the verdict, and the pane hot-swaps the pattern on the next cycle. ## Quick Start Ask the agent to write a four-on-the-floor groove with a sawtooth bassline in track.strudel and check it with the verdict.

Frequently Asked Questions about strudel

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a Strudel track that plays in the pane?

Write a single track.strudel file containing one Strudel expression, starting with setcpm for tempo and one or two voices built with s() or note(). Run the verdict script after saving; the pane hot-swaps the pattern on the next cycle once it parses.

How do I make drums in Strudel without internet samples?

Use synthesized sources: sbd for the kick, short white noise bursts with high-pass filters for snares and hats. Sample-based sounds like bd, sd, and hh require fetching .wav files from GitHub, so they only work online.

Does Strudel support import or require statements?

No. Strudel files are evaluated as ECMAScript 2022 with top-level await, but there is no module loader. Everything Strudel offers is already in scope, so never write import or require.

Why does my Strudel filter modulation sound static?

Signals like sine or rand are sampled once per event, not continuously, so a long held note gets one filter value. Add more events with .seg(16) or use envelopes like attack, decay, and lpenv, which are continuous in time.

What happens when a Strudel file has a syntax error?

The pane keeps playing the last good pattern and displays the error with its line number above the code. Nothing new is heard until the verdict reports the file parses cleanly again.