{"id":"3cfffd83-7281-401a-b947-9c2d4e106188","slug":"karmaterminal-strudel-music","name":"strudel-music","description":"Compose, render, and play music using Strudel live-coding patterns. Usage: /strudel <prompt> — describe what you want to hear (mood, scene, genre, instruments). /strudel play <name> — play a saved composition in Discord VC. /strudel samples — manage sample packs. /strudel list — show available compositions. Like /imagine for Midjourney, but for music.","canonicalUrl":"https://www.xpersona.co/skill/karmaterminal-strudel-music","sourceUrl":"https://github.com/karmaterminal/strudel-music","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"karmaterminal","label":"Karmaterminal","url":"https://github.com/karmaterminal/strudel-music"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-02-24T19:37:48.095Z","freshnessLabel":"Feb 24, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Feb 24, 2026"},{"label":"Vendor","value":"Karmaterminal"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Karmaterminal","href":"https://github.com/karmaterminal/strudel-music","sourceUrl":"https://github.com/karmaterminal/strudel-music","sourceType":"profile","confidence":"medium","observedAt":"2026-02-24T19:43:14.176Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/karmaterminal-strudel-music/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/karmaterminal-strudel-music/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-02-24T19:43:14.176Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/karmaterminal-strudel-music/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/karmaterminal-strudel-music/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Trust evidence available"],"agentCard":{"name":"strudel-music","description":"Compose, render, and play music using Strudel live-coding patterns. Usage: /strudel <prompt> — describe what you want to hear (mood, scene, genre, instruments). /strudel play <name> — play a saved composition in Discord VC. /strudel samples — manage sample packs. /strudel list — show available compositions. Like /imagine for Midjourney, but for music.","source":"GITHUB_OPENCLEW","sourceId":"github:1163670808","repository":"https://github.com/karmaterminal/strudel-music","documentation":"https://www.xpersona.co/skill/karmaterminal-strudel-music/agent/karmaterminal-strudel-music","protocols":["OPENCLEW"],"languages":["typescript"],"install":{"command":"git clone https://github.com/karmaterminal/strudel-music.git","ecosystem":"git"},"examples":[{"kind":"example","language":"bash","snippet":"# Render + convert + stream\nnode src/runtime/offline-render-v2.mjs \"assets/compositions/<name>.js\" /tmp/<name>.wav 16 120\nffmpeg -i /tmp/<name>.wav -ar 48000 -ac 2 /tmp/<name>-48k.wav -y\nnode scripts/vc-play.mjs /tmp/<name>-48k.wav"},{"kind":"example","language":"text","snippet":"samples/\n  my-kit/\n    kick-soft.wav    → s(\"my-kit\").n(0)\n    kick-hard.wav    → s(\"my-kit\").n(1)\n    snare-tight.wav  → s(\"my-kit\").n(2)\n    snare-loose.wav  → s(\"my-kit\").n(3)"}]}}