[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698YEEPTVY1925V33EZNM6K":3,"skill-same:01M698YEEPTVY1925V33EZNM6K":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":51,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M698YEEPTVY1925V33EZNM6K","sonoscli",null,"Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","openclaw\u002Fopenclaw","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698PDMDRVH56MV30D253NFP",394352,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fsonoscli\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28],"go","github","status","play","https","cmd","install","volume","discover","control","latest","2026-11-10 10:12:30",false,"---\nname: sonoscli\ndescription: \"Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).\"\nhomepage: https:\u002F\u002Fsonoscli.sh\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"?\",\n        \"requires\": { \"bins\": [\"sonos\"] },\n        \"install\":\n          [\n            {\n              \"id\": \"go\",\n              \"kind\": \"go\",\n              \"module\": \"github.com\u002Fsteipete\u002Fsonoscli\u002Fcmd\u002Fsonos@latest\",\n              \"bins\": [\"sonos\"],\n              \"label\": \"Install sonoscli (go)\",\n            },\n          ],\n      },\n  }\n---\n\n# Sonos CLI\n\nUse `sonos` to control Sonos speakers on the local network.\n\n## Quick start\n\n- `sonos discover`\n- `sonos status --name \"Kitchen\"`\n- `sonos play|pause|stop --name \"Kitchen\"`\n- `sonos volume set 15 --name \"Kitchen\"`\n\n## Common tasks\n\n- Grouping: `sonos group status|join|unjoin|party|solo`\n- Favorites: `sonos favorites list|open`\n- Queue: `sonos queue list|play|clear`\n- Spotify search (via SMAPI): `sonos smapi search --service \"Spotify\" --category tracks \"query\"`\n\n## Notes\n\n- If SSDP fails, specify `--ip \u003Cspeaker-ip>`.\n- Spotify Web API search is optional and requires `SPOTIFY_CLIENT_ID\u002FSECRET`.\n- If there is an error, check the troubleshooting section and offer advice if there is a decent match.\n\n## Troubleshooting\n\n### `sonos discover` - `no route to host`\n\n- On error `Error: write udp4 0.0.0.0:64326->239.255.255.250:1900: sendto: no route to host (Command exited with code 1)`\n  - Note that the port number after `0.0.0.0:` is ephemeral and will change and the netmask may not match exactly either\n  - The `sendto: no route to host` should stay consistent\n- Advise the user that in `direct` (no Docker sandbox) mode on Mac OS that Settings -> Privacy & Security -> Local Network will need to be enabled for the top-level host parent process of the Gateway\n  - `node` if running via `launchd`\n  - `Terminal` if running the gateway directly in the terminal\n  - `Visual Studio Code` if running via terminal in VS Code\n- An alternative option is to use `sandbox` (docker container) with network access allowed for that sandbox\n\n### `sonos discover` - `bind: operation not permitted`\n\n- On error `Error: listen udp4 0.0.0.0:0: bind: operation not permitted`\n- Advise the user that they may be running via a Codex or other sandbox that does not permit network access (this can be replicated by running `sonos discover` within a Codex CLI session with sandbox enabled and not approving the escalation request)\n","# Sonos CLI\n\nUse `sonos` to control Sonos speakers on the local network.\n\n## Quick start\n\n- `sonos discover`\n- `sonos status --name \"Kitchen\"`\n- `sonos play|pause|stop --name \"Kitchen\"`\n- `sonos volume set 15 --name \"Kitchen\"`\n\n## Common tasks\n\n- Grouping: `sonos group status|join|unjoin|party|solo`\n- Favorites: `sonos favorites list|open`\n- Queue: `sonos queue list|play|clear`\n- Spotify search (via SMAPI): `sonos smapi search --service \"Spotify\" --category tracks \"query\"`\n\n## Notes\n\n- If SSDP fails, specify `--ip \u003Cspeaker-ip>`.\n- Spotify Web API search is optional and requires `SPOTIFY_CLIENT_ID\u002FSECRET`.\n- If there is an error, check the troubleshooting section and offer advice if there is a decent match.\n\n## Troubleshooting\n\n### `sonos discover` - `no route to host`\n\n- On error `Error: write udp4 0.0.0.0:64326->239.255.255.250:1900: sendto: no route to host (Command exited with code 1)`\n  - Note that the port number after `0.0.0.0:` is ephemeral and will change and the netmask may not match exactly either\n  - The `sendto: no route to host` should stay consistent\n- Advise the user that in `direct` (no Docker sandbox) mode on Mac OS that Settings -> Privacy & Security -> Local Network will need to be enabled for the top-level host parent process of the Gateway\n  - `node` if running via `launchd`\n  - `Terminal` if running the gateway directly in the terminal\n  - `Visual Studio Code` if running via terminal in VS Code\n- An alternative option is to use `sandbox` (docker container) with network access allowed for that sandbox\n\n### `sonos discover` - `bind: operation not permitted`\n\n- On error `Error: listen udp4 0.0.0.0:0: bind: operation not permitted`\n- Advise the user that they may be running via a Codex or other sandbox that does not permit network access (this can be replicated by running `sonos discover` within a Codex CLI session with sandbox enabled and not approving the escalation request)\n",{"name":5,"homepage":34,"metadata":35,"description":7},"https:\u002F\u002Fsonoscli.sh",{"openclaw":36},{"emoji":37,"install":38,"requires":44},"?",[39],{"id":18,"bins":40,"kind":18,"label":42,"module":43},[41],"sonos","Install sonoscli (go)","github.com\u002Fsteipete\u002Fsonoscli\u002Fcmd\u002Fsonos@latest",{"bins":45},[41],"main","f1c93577085244aa96aa87b53a2df9b59d293bd7","skills\u002Fsonoscli",82861,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","https:\u002F\u002Fgithub.com\u002Fopenclaw","Your personal, open source AI assistant.","2026-11-12 03:01:25",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add openclaw\u002Fopenclaw --skill sonoscli",{"tool":61,"command":62},"bunx","bunx skills add openclaw\u002Fopenclaw --skill sonoscli",{"tool":64,"command":65},"pnpm","pnpm dlx skills add openclaw\u002Fopenclaw --skill sonoscli","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fsonoscli\u002FSKILL.md",true,[],[70,76,97,114,136,160],{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":29},"01M698VP84FNM6G9MR1HPX7MF7","lobster","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FSKILL.md",[],[72],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":29},"01M698YY8QGQ7S8TJNKJG6VTPH","xurl","xurl CLI for authenticated X posts, replies, reads\u002Fsearch, DMs, media upload, followers, auth status, or raw v2 API calls.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fxurl\u002FSKILL.md",[],[78,83,84,85,86,87,88,89,24,90,91,92,93,94,20,95,96],"for","api","calls","replies","posts","upload","tap","brew","node","Media","search","npm","auth","cli",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":29},"01M698YWT1CJ0WK88WB909R9RT","weather","Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fweather\u002FSKILL.md",[],[99,104,105,24,106,90,107,22,108,109,110,111,83,112,113],"travel planning","travel","fetch","curl","help","planning","web","back","temperature","with",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":125,"publishedAt":29},"01M698YV2Q0R0JJKAWGFS21K0N","visualize","Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with show_widget.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fvisualize\u002FSKILL.md",[120],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[116,126,127,128,129,83,113,130,131,132,133,134,9,135],"widgets","openclaw dashboard","author","inline","show","code","create","visuals","dashboard","widget",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":150,"publishedAt":29},"01M698YS2TRJH9ENG28HD9CD87","trello","Manage Trello boards, lists, and cards via the Trello REST API.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftrello\u002FSKILL.md",[142,147],{"categoryNo":143,"categoryName":144,"taxonomyType":145,"taxonomyTypeDesc":146},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":148,"categoryName":149,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000030","开发工程师",[138,22,151,152,153,154,155,156,24,90,157,107,84,158,159],"cloud","manage","via","rest api","token","atlassian","jq","REST","developer",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":29},"01M698YQ9Q3M4W78EWV2KSCSVW","tmux","Control tmux sessions\u002Fpanes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002FSKILL.md",[],[162,24,167,168,83,169,170,171,27,172,173,174,90,175,176,177,178,179,180],"send","darwin","keys","paste","output","prompts","interactive","list","capture","panes","text","monitor","sessions","linux"]