# Sonos

Sonos control: search, queue, playlists, rooms/groups, volume, YouTube.

- Repository: https://github.com/steipete/agent-scripts (7431 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add steipete/agent-scripts --skill sonos -g -a claude-code -y`
Codex: `npx skills add steipete/agent-scripts --skill sonos -g -a codex -y`
Cursor: `npx skills add steipete/agent-scripts --skill sonos -g -a cursor -y`
Gemini CLI: `npx skills add steipete/agent-scripts --skill sonos -g -a gemini-cli -y`

## Description

Sonos control: search, queue, playlists, rooms/groups, volume, YouTube.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Sonos

Use for Sonos music, playback, queue, room/group, and YouTube workflows.

## Rules

- Prefer existing local Sonos tooling in the current repo before inventing shell/API calls.
- Do not change speaker groups, queues, or playback unless the user asks for it.
- Confirm target room/group when ambiguous.
- For YouTube, prefer a playable audio URL or local extraction workflow already present in the repo; avoid downloading unless requested.
- Keep network/debug work out of scope unless the user explicitly asks for diagnostics.
- Secrets, service tokens, and account auth: check env/profile first; use `op` only via the repo/AGENTS rules.

## Workflow

1. Discover repo commands:
   - `rg --files`
   - package scripts or CLI help
2. Identify target:
   - room/group
   - service/source
   - query, URL, playlist, album, artist, or track
3. Dry-read current state when useful:
   - rooms/groups
   - now playing
   - queue
4. Execute the requested playback action.
5. Verify by reading current state again.

## Common Tasks

- Search and play music by track, album, artist, playlist, or station.
- Add or replace the queue.
- Pause, resume, skip, seek, shuffle, repeat.
- Set volume or mute for a room/group.
- Move/group playback between rooms.
- Play YouTube audio/music through Sonos when supported by local tooling.

## YouTube Notes

- Treat YouTube URLs as media sources first, not as download requests.
- If conversion/extraction is needed, prefer the local toolchain already used by the repo.
- State constraints clearly when Sonos/service support blocks direct playback.

