CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

audioaccessorykit

Support automatic audio switching for paired third-party Bluetooth headphones or earbuds with AudioAccessoryKit. Use when a companion app registers an audio accessory, an app extension reports worn/removed placement or connected source-device changes, or AccessoryControlDevice capabilities and errors need handling. Do not use for general AVAudioSession routing, Bluetooth transport, or initial accessory pairing.

Quality

94%

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

The canonical home for this skill is dpearson2699/swift-ios-skills

SKILL.md
Quality
Evals
Security

Quality

Content

92%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.

A well-engineered skill body for a brand-new beta framework: every core operation has executable Swift, the write workflow is gated with error-recovery feedback and a checklist, and detail is appropriately pushed to a single clean patterns file. The only real cost is mild redundancy (restated canonical sequence, checklist overlapping Common Mistakes, and a Feature Discovery section that re-derives table contents).

Suggestions

Drop or compress the Feature Discovery section — both examples just re-read device.configuration fields already documented in the configuration-properties table; keep only the @unknown default switch idiom if it is not already in the patterns file.

Deduplicate the Review Checklist against the Common Mistakes section (e.g., the placement-update and invalidated-handle items appear in both) so each item earns its own token.

Refer to the current→copy→update sequence once by name and stop re-explaining it at each call site (e.g., 'then call the canonical update(_:) sequence' and 'within the canonical current→copy→update sequence above').

DimensionReasoningScore

Conciseness

Mostly lean: API tables for Placement, Capabilities, errors, and configuration properties carry information Claude cannot know about this new beta framework, and code blocks are minimal. Minor over-explanation remains — the 'canonical current→copy→update sequence' is restated three times, the Review Checklist substantially repeats Common Mistakes, and the Feature Discovery section largely restates reading fields already shown in tables — so it fits 'Efficient; minor instances of over-explanation that could be trimmed' rather than score 5's 'every token earns its place'.

4 / 5

Actionability

Fully executable copy-paste Swift for every common case: registration with a Configuration, current(for:) retrieval, copy-mutate update, Data-valued Bluetooth addresses, and a complete error switch including @unknown default. It matches 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'; the only gap (the simulator stub behind #if canImport) is an explicitly justified edge case, not score 4's 'minor gaps'.

5 / 5

Workflow Clarity

The sequence (pair via AccessorySetupKit → register in container app → current(for:) in extension → copy-mutate → try await update) is explicit, with a stated gated-write rule ('confirm registration declared the capability, copy and mutate device.configuration, then try await update(_:)'), an error-recovery feedback loop (catch .invalidated → discard handle → notify container to re-register), per-call error disposition guidance, and a 13-item review checklist. This matches 'Clear sequence with explicit validation steps; feedback loops for error recovery; checklists for complex processes'; no destructive/batch operation triggers the cap at 3.

5 / 5

Progressive Disclosure

SKILL.md is a clear overview (setup, session management, placement, sources, errors, mistakes) with the extended material — registration flow, placement monitoring, multi-device coordination, error recovery patterns — split into a single, well-organized, one-level-deep reference file (references/audioaccessorykit-patterns.md) that exists and is reachable from both the Error Handling section and the References list. This matches 'Clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation'.

5 / 5

Total

19

/

20

Passed

Description

92%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.

An exemplary description: concrete third-person actions, explicit multi-clause 'Use when' triggers, and a 'Do not use for' boundary that sharply reduces mis-trigger risk against adjacent AVAudioSession/Bluetooth-pairing skills. Only keyword-synonym coverage keeps it from full marks.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "registers an audio accessory", "an app extension reports worn/removed placement or connected source-device changes", and handling of "AccessoryControlDevice capabilities and errors" — covering the niche comprehensively. It clearly matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' rather than score 4, which would require minor gaps in coverage; only the passive phrasing 'errors need handling' is slightly less concrete.

5 / 5

Completeness

Explicitly answers both: what it does ("Support automatic audio switching ... with AudioAccessoryKit") and when to use it via three concrete "Use when" triggers, plus an explicit "Do not use for" boundary. This matches the anchor 'Clearly and explicitly answers both what AND when with concrete trigger phrases'; score 4 would require a less explicit 'when'.

5 / 5

Trigger Term Quality

Good natural keyword coverage: "Bluetooth headphones or earbuds", "audio switching", "companion app", "app extension", "worn/removed placement", "AVAudioSession". A few natural terms users might say are missing (e.g., 'audio routing', 'switch audio output' only appears in negative-scope form), so it fits 'Good keyword coverage; a few natural terms missing' rather than the comprehensive synonym coverage of score 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche anchored on specific API names (AudioAccessoryKit, AccessoryControlDevice) with an explicit negative boundary ("Do not use for general AVAudioSession routing, Bluetooth transport, or initial accessory pairing") that demarcates adjacent skills. Minimal conflict risk, matching the score-5 anchor.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

dpearson2699/swift-ios-skills

Path

skills/audioaccessorykit/SKILL.md

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.