Control Sonos speakers (discover/status/play/volume/group).
74
64%
Does it follow best practices?
Impact
96%
16.00xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/sonoscli/SKILL.mdQuality
Discovery
50%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is concise and names a clear domain (Sonos speakers) with specific actions, making it distinctive. However, it lacks a 'Use when...' clause, which is critical for Claude to know when to select this skill. Adding trigger guidance and more natural user terms would significantly improve it.
Suggestions
Add a 'Use when...' clause, e.g., 'Use when the user asks to control Sonos speakers, play music, adjust volume, or manage speaker groups.'
Include additional natural trigger terms users might say, such as 'music', 'pause', 'skip track', 'smart speaker', 'home audio', or 'speaker system'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: discover, status, play, volume, and group. These are clear, actionable capabilities for Sonos speaker control. | 3 / 3 |
Completeness | Describes what it does (control Sonos speakers with specific actions) but completely lacks a 'Use when...' clause or any explicit trigger guidance, which per the rubric should cap completeness at 2, and since the 'when' is entirely missing, this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes 'Sonos speakers' and action terms like 'play', 'volume', 'group' which users might say, but misses common variations like 'music', 'pause', 'skip', 'smart speaker', or 'home audio'. No file extensions or alternate phrasings. | 2 / 3 |
Distinctiveness Conflict Risk | 'Sonos speakers' is a very specific niche with distinct triggers. It's unlikely to conflict with other skills since Sonos is a specific product/brand with a clear domain. | 3 / 3 |
Total | 9 / 12 Passed |
Implementation
79%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, concise CLI reference skill that provides actionable commands and useful troubleshooting guidance. Its main strengths are token efficiency and concrete, executable examples. The workflow could be improved by making the discover-then-control sequence more explicit, and the troubleshooting section, while valuable, is proportionally heavy compared to the core instructions.
Suggestions
Add a brief note in Quick start that `sonos discover` should be run first to verify network connectivity before other commands, establishing a clear workflow sequence.
Consider moving the detailed troubleshooting section to a separate TROUBLESHOOTING.md file and referencing it from the main skill to improve progressive disclosure.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient. It assumes Claude knows what Sonos, CLI tools, and networking concepts are. Every section earns its place, including the troubleshooting section which provides specific error messages and targeted advice rather than generic explanations. | 3 / 3 |
Actionability | Provides concrete, copy-paste ready CLI commands for all common tasks. The troubleshooting section includes specific error messages to match against and concrete remediation steps (e.g., specific macOS settings paths, specific process names). | 3 / 3 |
Workflow Clarity | The quick start lists commands but doesn't sequence them into a workflow (e.g., discover first, then use --name). The troubleshooting section has clear diagnostic flows, but the main usage section lacks explicit sequencing or validation checkpoints for multi-step operations like grouping speakers. | 2 / 3 |
Progressive Disclosure | The content is well-organized with clear sections (Quick start, Common tasks, Notes, Troubleshooting), but the troubleshooting section is fairly lengthy inline content that could potentially be split out. For a skill of this size (~45 lines) it's borderline acceptable, but the troubleshooting detail is heavy relative to the core instruction content. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
72%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 8 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 8 / 11 Passed | |
b3cef5f
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.