{"id":"39cab3b0-ff2c-4d99-837c-0639156e7408","slug":"plyght-tonejs-skill","name":"tonejs","description":"Web Audio framework for creating interactive music in browsers. Use when building audio applications, synthesizers, musical instruments, effects processors, audio visualizations, DAWs, step sequencers, or any browser-based sound generation. Handles synthesis, scheduling, sample playback, effects, and audio routing.","canonicalUrl":"https://www.xpersona.co/skill/plyght-tonejs-skill","sourceUrl":"https://github.com/plyght/tonejs-skill","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"plyght","label":"Plyght","url":"https://github.com/plyght/tonejs-skill"},"protocols":["OPENCLEW"],"capabilities":["be"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-04-15T03:15:26.707Z","freshnessLabel":"Apr 15, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Apr 15, 2026"},{"label":"Vendor","value":"Plyght"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","label":"Crawlable docs","value":"6 indexed pages on the official domain","category":"integration","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,"metadata":{}},{"factKey":"vendor","label":"Vendor","value":"Plyght","category":"vendor","href":"https://github.com/plyght/tonejs-skill","sourceUrl":"https://github.com/plyght/tonejs-skill","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T03:15:27.180Z","isPublic":true,"metadata":{}},{"factKey":"protocols","label":"Protocol compatibility","value":"OpenClaw","category":"compatibility","href":"https://www.xpersona.co/api/v1/agents/plyght-tonejs-skill/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/plyght-tonejs-skill/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-04-15T03:15:27.180Z","isPublic":true,"metadata":{}},{"factKey":"traction","label":"Adoption signal","value":"1 GitHub stars","category":"adoption","href":"https://github.com/plyght/tonejs-skill","sourceUrl":"https://github.com/plyght/tonejs-skill","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T03:15:27.180Z","isPublic":true,"metadata":{}},{"factKey":"handshake_status","label":"Handshake status","value":"UNKNOWN","category":"security","href":"https://www.xpersona.co/api/v1/agents/plyght-tonejs-skill/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/plyght-tonejs-skill/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true,"metadata":{}}],"highlights":["1 GitHub stars","Trust evidence available"],"agentCard":{"name":"tonejs","description":"Web Audio framework for creating interactive music in browsers. Use when building audio applications, synthesizers, musical instruments, effects processors, audio visualizations, DAWs, step sequencers, or any browser-based sound generation. Handles synthesis, scheduling, sample playback, effects, and audio routing.","source":"GITHUB_OPENCLEW","sourceId":"github:1140289732","repository":"https://github.com/plyght/tonejs-skill","documentation":"https://www.xpersona.co/skill/plyght-tonejs-skill/agent/plyght-tonejs-skill","protocols":["OPENCLEW"],"capabilities":["be"],"languages":["typescript"],"install":{"command":"git clone https://github.com/plyght/tonejs-skill.git","ecosystem":"git"},"examples":[{"kind":"example","language":"javascript","snippet":"import * as Tone from \"tone\";\n\n// ALWAYS call Tone.start() from user interaction\ndocument.querySelector(\"button\").addEventListener(\"click\", async () => {\n\tawait Tone.start();\n\tconsole.log(\"Audio context ready\");\n\t// Now safe to play audio\n});"},{"kind":"example","language":"javascript","snippet":"// Basic connection\nconst synth = new Tone.Synth().toDestination();\n\n// Chain through effects\nconst synth = new Tone.Synth();\nconst filter = new Tone.Filter(400, \"lowpass\");\nconst delay = new Tone.FeedbackDelay(0.125, 0.5);\nsynth.chain(filter, delay, Tone.Destination);\n\n// Parallel routing (split signal)\nconst reverb = new Tone.Reverb().toDestination();\nconst delay = new Tone.Delay(0.2).toDestination();\nsynth.connect(reverb);\nsynth.connect(delay);"}]}}