CtrlK
BlogDocsLog inGet started
Tessl Logo

sonoscli

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

65

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/sonoscli/SKILL.md

The canonical home for this skill is sonoscli in deepgram/dglabs-deepclaw

SKILL.md
Quality
Evals
Security

Quality

Content

90%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an exemplary lean CLI reference: fully executable commands, zero padding, and a useful troubleshooting note. The only gaps are minor — implicit discover-to-operate sequencing, no post-change verification step, and section labels that are not formatted as markdown headers.

Suggestions

Format 'Quick start', 'Common tasks', and 'Notes' as markdown headers (##) for clearer structure.

Make the discover-then-operate sequence explicit (e.g. 'Run `sonos discover` first; then target speakers by --name or --ip').

Add a verification habit such as re-running `sonos status --name "Kitchen"` after volume or grouping changes.

DimensionReasoningScore

Conciseness

The ~25-line body is lean and assumes Claude's competence: no explanation of what Sonos or SSDP is beyond actionable troubleshooting, and every line is a command or a caveat. It matches the 'every token earns its place' anchor.

5 / 5

Actionability

Every entry is a copy-paste-ready command with concrete arguments (e.g. `sonos volume set 15 --name "Kitchen"`), covering discovery, playback, grouping, favorites, queue, and search. This matches the 'fully executable, covers the common cases' anchor.

5 / 5

Workflow Clarity

Commands are unambiguous and the SSDP note provides an error-recovery path ('If SSDP fails, specify --ip'), matching 'clear sequence with most checkpoints present'. It is not 5 because the discover-then-operate ordering is only implied and there is no validation step such as re-checking `sonos status` after changes.

4 / 5

Progressive Disclosure

This is a simple skill under 50 lines with no need for external references, and it is organized into Quick start / Common tasks / Notes. It falls short of 5 because the section labels are plain text rather than markdown headers, which slightly weakens navigation and structure.

4 / 5

Total

18

/

20

Passed

Description

70%Weight 40%Scale 1-5

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, specific, and highly distinctive thanks to the 'Sonos' niche, but it entirely lacks a 'when to use' clause, which caps its completeness. Trigger-term coverage is good though slightly thin on natural synonyms like 'music' or 'audio'.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user mentions Sonos, speakers, or wants to control audio playback on the local network.'

Mention additional capabilities (favorites, queue, Spotify search) or natural synonyms like 'music' to broaden trigger-term coverage.

Spell out one or two abbreviated actions (e.g. 'adjust volume') so the description reads naturally rather than as CLI flags.

DimensionReasoningScore

Specificity

"Control Sonos speakers (discover/status/play/volume/group)" names the domain and five concrete actions, matching the 'several specific actions; minor gaps' anchor. It is not 5 because favorites, queue, and search capabilities from the body are omitted, so coverage is not comprehensive.

4 / 5

Completeness

The description clearly answers 'what' (control Sonos speakers: discover, status, play, volume, group) but contains no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

"Sonos speakers", "play", and "volume" are natural terms users would say, giving good keyword coverage. It falls short of 5 because common variations like "music" or "audio" are absent, and the slash-abbreviations ("discover/status") lean technical.

4 / 5

Distinctiveness Conflict Risk

"Sonos speakers" is a clear niche trigger; no other plausible skill would compete for it, so conflict risk is minimal. Adjacent anchors (4) require 'minor overlap risk', which does not apply here.

5 / 5

Total

16

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

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

13

/

16

Passed

Repository
Bitterbot-AI/bitterbot-desktop
Reviewed

Table of Contents

Is this your skill?

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.