{"id":4562,"external_id":"plugins_6a95a30017b8819195268bcdb33e5c07","name":"music-as-code","display_name":"Music as Code","developer":"Janjs","category":"Productivity","listing_language":"en","listing_language_details":{"method":"cld-0.13.0/listing-v1","reliable":true,"detected_at":"2026-10-01T13:22:04Z","input_sha256":"6669c9b5e1f9abc82c8f810608075f6e22f1976cc27ba0cdc0ec28ac426010dc","source_fields":["release.description","release.interface.short_description","release.interface.long_description"]},"version":"0.2.2","skill_count":3,"first_seen_at":"2026-09-30T22:02:35.000Z","last_seen_at":"2026-10-03T00:00:02.146Z","last_changed_at":"2026-09-30T22:02:35.000Z","install_count":null,"search_matches":[],"research_summary":null,"research_reviewed_at":null,"metadata":{"canonical_app_id":null,"connector_id":null,"created_at":"2026-08-31T16:20:59.456998Z","discoverability":"UNLISTED","id":"plugins_6a95a30017b8819195268bcdb33e5c07","is_template":false,"name":"music-as-code","release":{"app_ids":[],"app_manifest":null,"app_templates":[],"description":"Create editable Strudel, LilyPond, and SuperCollider music source with local handoff actions.","display_name":"Music as Code","id":"pluginrel_c58ccb4a51a88191a64a72fe8a508272","interface":{"brand_color":"#2D8B8F","capabilities":["Write","Interactive","Strudel","LilyPond","SuperCollider","Notation","Live-coding music","Music"],"category":"Productivity","composer_icon_dark_url":null,"composer_icon_url":"https://files.openai.com/content?id=file_000000005dd481f4a5bab19345490b93","default_prompt":"Make a sparse 112 BPM dub-techno loop in Strudel: restrained 909 drums, a minor bass pulse, and hazy electric-piano chords.","default_prompts":["Make a sparse 112 BPM dub-techno loop in Strudel: restrained 909 drums, a minor bass pulse, and hazy electric-piano chords.","Write a D-minor piano sarabande in LilyPond: two eight-bar phrases with a simple left-hand bass.","Make a 96 BPM generative ambient piece in SuperCollider with glassy FM tones and slow minor harmonies."],"developer_name":"Janjs","logo_url":"https://files.openai.com/content?id=file_00000000577481f6ab593687d5c8508d","logo_url_dark":"https://files.openai.com/content?id=file_0000000085f881f49efa080808e5bdfd","long_description":"Turn natural-language music requests into editable Strudel, LilyPond, or SuperCollider source, with links and local handoff actions for playback and editing.","plugin_category_id":"productivity","privacy_policy_url":null,"screenshot_urls":[],"short_description":"Create editable music files","terms_of_service_url":null,"website_url":"https://github.com/Janjs/music-as-code"},"keywords":["music","strudel","lilypond","supercollider","live-coding","notation"],"onboarding_skill_name":null,"requires_local_executor":false,"skills":[{"description":"Create, edit, explain, and repair LilyPond scores in local `.ly` files. Hand off a local file and a hacklily.org/wasm link after writing the source. Never open a browser to validate. Use for sheet music, classical scores, parts, lead sheets, engraving, SATB, chamber music, or LilyPond debugging. Do not use for Strudel, live-coding, DAW projects, or rendered audio unless the user also wants LilyPond source.","interface":{"brand_color":null,"default_prompt":null,"display_name":"lilypond","icon_large_url":null,"icon_small_url":null,"iconography":"pen","short_description":"Create, edit, explain, and repair LilyPond scores in local `.ly` files. Hand off a local file and a hacklily.org/wasm link after writing the source. Never open a browser to validate. Use for sheet music, classical scores, parts, lead sheets, engraving, SATB, chamber music, or LilyPond debugging. Do not use for Strudel, live-coding, DAW projects, or rendered audio unless the user also wants LilyPond source."},"name":"lilypond","plugin_release_skill_id":"pluginrsk_6a96998ecf3081919dfdf39449de39b9"},{"description":"Create, edit, explain, and repair playable Strudel live-coding music in local `.strudel.js` files. Hand off a local file and a strudel.cc link after a local syntax check. Never open a browser or REPL to validate. Use for natural-language music requests, Strudel patterns, algorithmic composition, remixes, arrangement changes, or Strudel debugging. Do not use for rendered audio production, notation engraving, or DAW projects unless the user also wants Strudel source.","interface":{"brand_color":null,"default_prompt":null,"display_name":"strudel","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Create, edit, explain, and repair playable Strudel live-coding music in local `.strudel.js` files. Hand off a local file and a strudel.cc link after a local syntax check. Never open a browser or REPL to validate. Use for natural-language music requests, Strudel patterns, algorithmic composition, remixes, arrangement changes, or Strudel debugging. Do not use for rendered audio production, notation engraving, or DAW projects unless the user also wants Strudel source."},"name":"strudel","plugin_release_skill_id":"pluginrsk_6a96998ecca48191bdc3c3bbf9df0c42"},{"description":"Create, edit, explain, check, open, and locally play SuperCollider music in `.scd` files. Use for synthesis, algorithmic composition, generative music, live coding, effects, SynthDefs, Patterns, Routines, or SuperCollider debugging. Hand off clickable source plus choices to open the IDE or play through the local terminal. Do not use for engraved notation or Strudel patterns unless the user also wants SuperCollider source.","interface":{"brand_color":null,"default_prompt":"Use $supercollider to create a playable piece and offer source, IDE, and terminal handoffs.","display_name":"SuperCollider","icon_large_url":null,"icon_small_url":null,"iconography":"code","short_description":"Create, view, and play SuperCollider source"},"name":"supercollider","plugin_release_skill_id":"pluginrsk_6a96998ece5c81918179ea07b051d629"}],"version":"0.2.2"},"scope":"GLOBAL","status":"ENABLED"},"research":null,"package_metadata":{"name":"music-as-code","author":{"url":"https://github.com/Janjs","name":"Janjs"},"license":"AGPL-3.0-or-later","sources":[{"path":".codex-plugin/plugin.json","sha256":"1a86b4b9846da2e7aee184182cd4f4274ad679a657bedc454a9241c229665d04"}],"version":"0.2.2","homepage":"https://github.com/Janjs/music-as-code","keywords":["music","strudel","lilypond","supercollider","live-coding","notation"],"repository":"https://github.com/Janjs/music-as-code","artifact_id":11412,"observed_at":"2026-10-02T00:32:34Z","capabilities":["Write","Interactive","Strudel","LilyPond","SuperCollider","Notation","Live-coding music","Music"],"field_sources":{"name":0,"author":0,"license":0,"version":0,"homepage":0,"keywords":0,"repository":0,"capabilities":0},"extraction_version":1,"conflicts_or_errors":[]}}