Token导航 LogoToken导航

Agent Skill · 研究检索

sonos-control(索诺斯控制)

sonos-control 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

sonos-control 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为调用外部服务;许可证为 MIT,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 53,729。

总安装 524周安装 21GitHub Stars 公开资料未说明下载 170核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:sonos-control(索诺斯控制)
来源仓库:https://github.com/slzatz/sonos_mcp
仓库路径:skills/sonos-control
安装命令:
npx skills add https://github.com/slzatz/sonos_mcp --skill sonos-control
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/slzatz/sonos_mcp --skill sonos-control

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

sonos-control 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。适用于智能音响控制、音频设备管理或家庭自动化场景。

通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 确认具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/sonos-control

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/slzatz/sonos_mcp --skill sonos-control;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要调用外部服务,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

sonos-control 怎么安装?

在终端执行 npx skills add https://github.com/slzatz/sonos_mcp --skill sonos-control。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

sonos-control 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

sonos-control 需要什么权限?

权限级别是调用外部服务。该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

sonos-control 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

sonos-control 用的人多吗?

公开数据是累计安装 524 次,近一周安装 21 次,下载 170 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

sonos-control 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
sonos-control

索诺斯控制 · 本页

524—调用外部服务MIT通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Sonos Control

Overview

This skill provides comprehensive control over Sonos speaker systems through MCP tools. Use it to search for and play music, manage playback queues and playlists, control volume, and switch between speakers. The skill handles both simple requests ("play some Neil Young") and complex multi-step workflows ("create a mix of 5 tracks from these artists").

Core Principle: Multi-Step Workflows

Most music requests require multiple tool calls in sequence. Execute workflows automatically without asking permission at each step - just complete the workflow and confirm the result.

Critical Rule: Search results are ephemeral. After using search_for_track or search_for_album, immediately select and add desired tracks/albums to the queue before executing another search, as each new search clears previous results.

Available MCP Tools

Speaker Management

  • sonos:get_master_speaker - Get current active speaker name
  • sonos:set_master_speaker - Switch to a different speaker (e.g., "Bedroom", "Kitchen")

Search and Selection

  • sonos:search_for_track - Search by track title, artist, album (e.g., "Heart of Gold Neil Young")
  • sonos:search_for_album - Search by album title and artist (e.g., "Harvest Neil Young")
  • sonos:add_track_to_queue - Add track from search results by position (1-based)
  • sonos:add_album_to_queue - Add album from search results by position (1-based)

Queue Management

  • sonos:list_queue - View all queued tracks
  • sonos:clear_queue - Remove all tracks from queue
  • sonos:remove_from_queue - Remove a track from the queue by position (1-based)
  • sonos:play_from_queue - Play track at specific queue position (1-based)

Playback Control

  • sonos:current_track - Get information about currently playing track
  • sonos:play_pause - Toggle play/pause
  • sonos:next_track - Skip to next track

Volume Control

  • sonos:turn_volume - Adjust volume by 10 ("louder" or "quieter")
  • sonos:set_volume - Set absolute volume (0-100)
  • sonos:mute - Mute or unmute (True/False)

Playlist Management

Terminology:

  • "playlist" or "local playlist" = Playlists stored locally on the filesystem (~/.sonos/playlists/)
  • "native Sonos playlist" = Playlists stored on the Sonos system (accessible from Sonos mobile app)

Local Playlist Tools:

  • sonos:list_playlists - Display all local playlists
  • sonos:list_playlist_tracks - Show tracks in a specific local playlist
  • sonos:add_to_playlist_from_queue - Add queue track to local playlist by position
  • sonos:add_to_playlist_from_search - Add search result to local playlist by position
  • sonos:add_playlist_to_queue - Load entire local playlist into queue (optionally shuffled with shuffle=True)
  • sonos:remove_track_from_playlist - Remove track from local playlist by position

Native Sonos Playlist Tools:

  • sonos:list_native_sonos_playlists - Display all native Sonos playlists
  • sonos:create_native_sonos_playlist_from_local(local_playlist, native_playlist_name=None) - Convert a local playlist to a native Sonos playlist

- Checks for naming conflicts and reports if native playlist already exists - Temporarily uses queue but restores original queue contents - Makes playlist accessible from Sonos mobile app and other Sonos controllers

Basic Workflow: Play a Track or Album

To play a specific track or album:

  1. Search - Use sonos:search_for_track or sonos:search_for_album
  2. Select - Use sonos:add_track_to_queue or sonos:add_album_to_queue with position number
  3. Find Position - Use sonos:list_queue to see where track(s) were added
  4. Play - Use sonos:play_from_queue with the position from step 3
  5. Verify - Use sonos:current_track to confirm correct track is playing

Example: User says "play Like a Hurricane by Neil Young"

1. sonos:search_for_track "Like a Hurricane Neil Young"
2. sonos:add_track_to_queue 1  (select best match)
3. sonos:list_queue  (find it was added at position 15)
4. sonos:play_from_queue 15
5. sonos:current_track  (confirm)

Advanced Workflows

Creating Custom Mixes

To build a custom mix from multiple artists:

  1. For each artist: Execute search → select → add cycle
  2. Between searches: Ensure previous track is added to queue before next search
  3. Play first track when all selections complete
  4. Verify the queue contains all desired tracks

Example: User says "play a mix of Springsteen, Jackson Browne, and Patty Griffin"

1. sonos:search_for_track "Born to Run Springsteen"
2. sonos:add_track_to_queue 1
3. sonos:search_for_track "Running on Empty Jackson Browne"
4. sonos:add_track_to_queue 1
5. sonos:search_for_track "Let Him Fly Patty Griffin"
6. sonos:add_track_to_queue 1
7. sonos:list_queue (verify all added)
8. sonos:play_from_queue 1 (start first track)

Finding Live Performances

To find live tracks or albums:

  1. Include "live" or "unplugged" in search queries
  2. Look for venue names in search results: "Massey Hall", "Nashville", "The Troubadour", "Red Rocks", "The Fillmore", "The Ryman"
  3. Check album titles for indicators: "Live at", "Unplugged", "In Concert"

Example: User says "play 5 live tracks from Patty Griffin"

1. sonos:search_for_track "Patty Griffin live"
2. Review results for venue names or "live" indicators
3. sonos:add_track_to_queue 1
4. sonos:add_track_to_queue 3
5. sonos:add_track_to_queue 5
6. sonos:add_track_to_queue 7
7. sonos:add_track_to_queue 9
8. sonos:play_from_queue 1

Multi-Room Control

To play music in a specific room:

  1. Switch speaker first - Use sonos:set_master_speaker with room name
  2. Verify switch - Check response confirms speaker change
  3. Continue with normal workflow - Search, add, play as usual

Example: User says "play some Neil Young in the bedroom"

1. sonos:set_master_speaker "Bedroom"
2. sonos:search_for_track "Neil Young"
3. sonos:add_track_to_queue 1
4. sonos:play_from_queue 1

Playlist Workflows

Adding Tracks to Playlists

From queue:

  1. Use sonos:list_queue to find track position
  2. Use sonos:add_to_playlist_from_queue with playlist name and position

From search:

  1. Use sonos:search_for_track to find track
  2. Use sonos:add_to_playlist_from_search with playlist name and position

Example: User says "add the current track to my Chill Vibes playlist"

1. sonos:current_track (get what's playing)
2. sonos:list_queue (find its position)
3. sonos:add_to_playlist_from_queue "Chill Vibes" <position>

Copying Entire Queue to New Playlist

To save the current queue as a new playlist (useful for preserving a curated queue):

  1. Use sonos:list_queue to see all tracks and count them
  2. For each track position (1 through N), use sonos:add_to_playlist_from_queue with the new playlist name
  3. The first call creates the new playlist; subsequent calls append tracks
  4. Optionally verify with sonos:list_playlist_tracks

Important: When removing multiple tracks from a queue or playlist, always remove from highest position to lowest to avoid position shifts affecting remaining targets.

Example: User says "save everything in the queue as playlist20250119"

1. sonos:list_queue (count 59 tracks)
2. sonos:add_to_playlist_from_queue "playlist20250119" 1
3. sonos:add_to_playlist_from_queue "playlist20250119" 2
... (continue for all 59 positions)
60. sonos:list_playlist_tracks "playlist20250119" (verify)

Note: For large queues (50+ tracks), execute all additions in sequence without requesting permission at each step, following the "Multi-Step Workflows" principle.

Selecting Multiple Tracks from One Artist

When a user requests N tracks from an artist without specific guidance:

Default Strategy (No Prior Context)

  1. Mix popular and quality tracks - Include 1-2 well-known hits, rest can be deep cuts
  2. Album variety - Spread selections across 2-3 different albums when possible
  3. Career representation - For established artists, vary across different periods
  4. Mood consistency - Ensure tracks flow well together in sequence

Contextual Adjustments

  • If user mentions "favorites" - Prioritize most-streamed/canonical tracks
  • If user says "best of" - Focus on greatest hits and popular tracks
  • If user mentions specific album - Select all tracks from that album
  • If user says "variety" or "mix" - Maximize album and style diversity

When to Ask for Clarification

Only ask if the request is genuinely ambiguous:

  • ✗ Don't ask: "play 3 Vienna Teng songs" (use default strategy)
  • ✓ Do ask: "play Neil Young songs" when user has requested both acoustic and electric in past
  • ✓ Do ask: "play some Beatles" (too many eras/styles to assume)

Selection Transparency

In your response, briefly mention your selection reasoning:

  • "I've added 3 tracks mixing popular hits and album favorites..."
  • "Here are 3 tracks spanning her early and recent work..."

Playing Playlists

To play a saved playlist:

  1. Use sonos:add_playlist_to_queue to load all tracks (optionally with shuffle=True)
  2. Use sonos:play_from_queue 1 to start playing

Example: User says "play my favorites playlist"

1. sonos:add_playlist_to_queue "favorites"
2. sonos:play_from_queue 1

Example: User says "play my workout playlist in random order"

1. sonos:add_playlist_to_queue "workout" shuffle=True
2. sonos:play_from_queue 1

Converting Local Playlists to Native Sonos Playlists

To make a local playlist accessible in the Sonos mobile app and other Sonos controllers:

  1. Check for conflicts - Use sonos:list_native_sonos_playlists to see if the name already exists
  2. Convert - Use sonos:create_native_sonos_playlist_from_local with the local playlist name
  3. Optionally specify different name - Pass native_playlist_name parameter if desired
  4. Verify - Use sonos:list_native_sonos_playlists to confirm creation

Example: User says "create a native Sonos playlist from my favorites playlist"

1. sonos:list_native_sonos_playlists (check if "favorites" already exists)
2. sonos:create_native_sonos_playlist_from_local "favorites"
3. sonos:list_native_sonos_playlists (verify it was created)

Example: User says "make a Sonos playlist called favorites_backup from my favorites playlist"

1. sonos:create_native_sonos_playlist_from_local "favorites" native_playlist_name="favorites_backup"
2. sonos:list_native_sonos_playlists (verify)

Important Notes:

  • The conversion temporarily uses the queue but restores it automatically
  • If a native playlist with that name already exists, you'll get an error with a clear message
  • Ask the user if they want to use a different name or if they want you to proceed differently
  • Local and native playlists are independent - changes to one don't affect the other

Common Request Patterns

Simple Requests

  • "What's playing?" → sonos:current_track
  • "Show me the queue" → sonos:list_queue
  • "Turn it up" → sonos:turn_volume "louder"
  • "Set volume to 50" → sonos:set_volume 50
  • "Mute" → sonos:mute True
  • "Next song" → sonos:next_track
  • "Pause" → sonos:play_pause
  • "What playlists do I have?" → sonos:list_playlists
  • "Show my native Sonos playlists" → sonos:list_native_sonos_playlists

Complex Requests

  • "Play [specific track]" → Execute Basic Workflow
  • "Play [number] tracks by [artist]" → Execute Advanced Workflow with multiple searches
  • "Create a mix of [artists]" → Execute Custom Mix Workflow
  • "Play some [artist] in [room]" → Execute Multi-Room Workflow
  • "Add [track] to [playlist]" → Execute Playlist Workflow
  • "Play [playlist] shuffled/randomized/in random order" → Use add_playlist_to_queue with shuffle=True
  • "Create a native Sonos playlist from [local playlist]" → Execute Converting Local Playlists Workflow
  • "Make [local playlist] available in the Sonos app" → Execute Converting Local Playlists Workflow

Response Guidelines

After Completing Workflows

Provide natural, music-focused responses:

  • Confirm what's playing
  • Share relevant context (album, year, interesting facts)
  • Explain selection reasoning for custom mixes
  • Mention notable aspects (live performance, rare version, etc.)

When Making Selections

Use music knowledge to select best matches:

  • Prefer original studio versions unless user requests otherwise
  • For "live" requests, prioritize well-known live albums
  • For deep cuts, select lesser-known but high-quality tracks
  • Consider chronology and artist periods when building mixes

Handling Ambiguity

If search results are unclear:

  • Make best judgment based on context
  • Select most popular/canonical version
  • Only ask for clarification if results are completely ambiguous
  • Provide reasoning for selection in response

Error Handling

Search Returns No Results

  • Try simplified search (fewer keywords)
  • Suggest alternative artist/track names
  • Offer to search for similar artists or tracks
  • Consult references/search_tips.md for search strategies

Queue Issues

  • If queue is full, suggest clearing old tracks
  • If position is invalid, list queue to find correct position

Playback Issues

  • Verify track is in queue using sonos:list_queue
  • Confirm correct speaker using sonos:get_master_speaker
  • Check current status with sonos:current_track

Additional Resources

For detailed search strategies, artist name variations, and mix-building tips, reference the bundled file:

  • references/search_tips.md - Comprehensive guide for effective music searches

平台分布

Claude Code

27.49%
按下载量换算47

Codex

24.64%
按下载量换算42

OpenCode

17.12%
按下载量换算29

Cursor

12.68%
按下载量换算22

Antigravity

8.25%
按下载量换算14

Gemini CLI

3%
按下载量换算5

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

调用外部服务

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills