sonoscli

Control Sonos speakers (discover/status/play/volume/group).

95 stars

Best use case

sonoscli is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Control Sonos speakers (discover/status/play/volume/group).

Teams using sonoscli should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/sonoscli/SKILL.md --create-dirs "https://raw.githubusercontent.com/luyike221/xiaohongshu-mcp-python/main/openclaw/skills/sonoscli/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/sonoscli/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How sonoscli Compares

Feature / AgentsonoscliStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Control Sonos speakers (discover/status/play/volume/group).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Sonos CLI

Use `sonos` to control Sonos speakers on the local network.

## Quick start

- `sonos discover`
- `sonos status --name "Kitchen"`
- `sonos play|pause|stop --name "Kitchen"`
- `sonos volume set 15 --name "Kitchen"`

## Common tasks

- Grouping: `sonos group status|join|unjoin|party|solo`
- Favorites: `sonos favorites list|open`
- Queue: `sonos queue list|play|clear`
- Spotify search (via SMAPI): `sonos smapi search --service "Spotify" --category tracks "query"`

## Notes

- If SSDP fails, specify `--ip <speaker-ip>`.
- Spotify Web API search is optional and requires `SPOTIFY_CLIENT_ID/SECRET`.
- If there is an error, check the troubleshooting section and offer advice if there is a decent match.

## Troubleshooting

### `sonos discover` - `no route to host`

- 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)`
  - Note that the port number after `0.0.0.0:` is ephemeral and will change and the netmask may not match exactly either
  - The `sendto: no route to host` should stay consistent
- 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
  - `node` if running via `launchd`
  - `Terminal` if running the gateway directly in the terminal
  - `Visual Studio Code` if running via terminal in VS Code
- An alternative option is to use `sandbox` (docker container) with network access allowed for that sandbox

### `sonos discover` - `bind: operation not permitted`

- On error `Error: listen udp4 0.0.0.0:0: bind: operation not permitted`
- 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)

Related Skills

xurl

95
from luyike221/xiaohongshu-mcp-python

A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.

xhs-operator

95
from luyike221/xiaohongshu-mcp-python

小红书运营执行技能。用于调用已接入的 xhs MCP 工具完成登录检查、内容生成衔接、图文/视频发布、发布后复盘与失败重试。适用于“发笔记”“发视频”“检查登录状态”“查询笔记/搜索内容”等任务。

weather

95
from luyike221/xiaohongshu-mcp-python

Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.

wacli

95
from luyike221/xiaohongshu-mcp-python

Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).

voice-call

95
from luyike221/xiaohongshu-mcp-python

Start voice calls via the OpenClaw voice-call plugin.

video-frames

95
from luyike221/xiaohongshu-mcp-python

Extract frames or short clips from videos using ffmpeg.

trello

95
from luyike221/xiaohongshu-mcp-python

Manage Trello boards, lists, and cards via the Trello REST API.

tmux

95
from luyike221/xiaohongshu-mcp-python

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

spotify-player

95
from luyike221/xiaohongshu-mcp-python

Terminal Spotify playback/search via spogo (preferred) or spotify_player.

songsee

95
from luyike221/xiaohongshu-mcp-python

Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.

slack

95
from luyike221/xiaohongshu-mcp-python

Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.

skill-creator

95
from luyike221/xiaohongshu-mcp-python

Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".