CtrlK
BlogDocsLog inGet started
Tessl Logo

subsonic-api-client

Integration guidance for using Subsonic/OpenSubsonic client libraries in netrunner and other projects.

58

Quality

68%

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/subsonic-api-client/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 efficiently organized with actionable TypeScript examples, concrete error-handling guidance, and a clear scan/poll workflow with feedback loops. Its main weaknesses are minor redundancy between Key Patterns and Failure Modes and the lack of executable examples for the Python/Go recommendations.

Suggestions

Deduplicate error.code 70 handling — keep it only in Failure Modes and reference it from Key Patterns, or vice versa.

Add a short executable snippet for the Python path (e.g. libsonic auth + getArtists) to match the TypeScript depth, or drop Python/Go to a single sentence each.

Show one concrete backoff/retry code or pseudocode line rather than only stating 'implement exponential backoff'.

DimensionReasoningScore

Conciseness

The body is lean and section-based with bullet points and one focused code block, assuming Claude's competence without explaining what Subsonic is; not a 5 because error.code 70 and the env-var credentaling note recur across sections, a minor trim opportunity.

4 / 5

Actionability

Provides copy-paste-ready TypeScript auth/query code, specific library names with npm package, and concrete error codes; not a 5 because Python and Go are listed only as bare names and scan/backoff handling lacks executable examples.

4 / 5

Workflow Clarity

The scan flow ('Use startScan after new downloads; poll getScanStatus before querying new files') plus error-code-70 retry polling gives a clear sequence with validation/feedback checkpoints; not a 5 because there is no single unified numbered workflow and checkpoints are scattered across pattern bullets.

4 / 5

Progressive Disclosure

Well-organized with clearly signaled sections and one-level-deep external references (npm, OpenSubsonic spec, Subsonic API) plus companion skills, and no bundle files exist to evaluate; not a 5 because the error.code 70 content overlaps between Key Patterns and Failure Modes, a minor organization gap.

4 / 5

Total

16

/

20

Passed

Description

61%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 clearly names its niche and includes natural trigger terms, but it omits an explicit 'Use when...' clause and offers only one minimal action, capping completeness and specificity at mid-range. It is distinct but slightly broadened by 'and other projects'.

Suggestions

Add an explicit 'Use when...' trigger clause, e.g. 'Use when integrating with or building clients for Subsonic/OpenSubsonic media servers in netrunner or related projects.'

Expand the action list from the single 'Integration guidance' to concrete verbs, e.g. 'Authenticate, query artists/albums, trigger scans, and handle Subsonic API errors'.

Drop or sharpen 'and other projects' to reduce overlap with the companion subsonic-media-server skill.

DimensionReasoningScore

Specificity

Names the domain clearly ('Subsonic/OpenSubsonic client libraries') and an action ('Integration guidance for using...client libraries in netrunner and other projects'), but the action is fairly minimal/generic and not comprehensive, matching the 'names domain and 1-2 concrete actions' anchor rather than 4's multiple specific actions.

3 / 5

Completeness

Has a clear 'what' (Integration guidance for using Subsonic/OpenSubsonic client libraries) but no explicit 'Use when...' trigger clause — 'in netrunner and other projects' only weakly implies when, so it is capped at 3 per the missing-trigger-clause guideline.

3 / 5

Trigger Term Quality

Includes the natural domain keywords a user would say ('Subsonic', 'OpenSubsonic', 'netrunner') which are good coverage; not a 5 because it lacks synonyms/file-extension variations, but clearly above the 'some relevant keywords' midpoint.

4 / 5

Distinctiveness Conflict Risk

Targets a clear niche (Subsonic/OpenSubsonic client libraries) with minimal conflict risk, but 'and other projects' broadens it slightly and it overlaps conceptually with the companion subsonic-media-server skill, so not a 5.

4 / 5

Total

14

/

20

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
pvnkmnk/AgenticSelfHostSkills
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.