CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

accessorysetupkit

Discover and configure Bluetooth and Wi-Fi accessories using AccessorySetupKit. Use when presenting a privacy-preserving accessory picker, defining discovery descriptors for BLE or Wi-Fi devices, handling accessory session events, migrating from CoreBluetooth permission-based scanning, or setting up accessories without requiring broad Bluetooth permissions.

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

SKILL.md
Quality
Evals
Security

Quality

Content

93%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-structured, token-efficient skill body with executable code, a concrete handoff path, and proper offloading of extended patterns to a real, one-level-deep reference file. The single gap is embedded validation: the workflow relies on an end-of-document checklist rather than an inline checkpoint before the picker is shown, and the sessionReset recovery snippet silently drops future events.

Suggestions

Add an explicit inline validation checkpoint before presenting the picker, e.g., "Before showPicker, confirm every descriptor UUID, name substring, and company ID appears in the Info.plist arrays — mismatches crash at runtime."

Fix the `.sessionReset` case to re-activate with the real event handler instead of `{ _ in }`, which drops all subsequent session events and breaks the error-recovery feedback loop.

DimensionReasoningScore

Conciseness

The body is lean — a compact intro, an Info.plist key table, two focused code blocks, and checklist/bullet sections — and it never explains concepts Claude already knows (it assumes CoreBluetooth and NetworkExtension familiarity, e.g., "hand off communication to CoreBluetooth or NetworkExtension"). Non-obvious facts like "If an accessory matches a descriptor not declared in Info.plist, the app crashes at runtime" earn their tokens. Not 4: there is no over-explanation to trim; the Contents list is minimal navigation, not padding.

5 / 5

Actionability

Fully executable guidance: a typed Info.plist table ("NSAccessorySetupBluetoothServices | [String] | Service UUIDs discovered by the app"), copy-paste-ready Swift for both descriptor creation and session activation/picker presentation, and exact handoff APIs ("retrievePeripherals(withIdentifiers: [accessory.bluetoothIdentifier])", "NEHotspotConfigurationManager"). Not 4: the common cases (BLE descriptor, Wi-Fi descriptor, activation, event handling, picker) are all covered concretely.

5 / 5

Workflow Clarity

Sections are sequenced to match the real workflow (Setup & Entitlements → Discovery Descriptors → Session Activation & Picker → Transport Handoff) and a Review Checklist plus Common Mistakes section provide checkpoints and error-case guidance. Not 5: no explicit validate-before-proceed step is embedded in the flow (e.g., cross-checking descriptor values against Info.plist before showPicker), and the `.sessionReset` recovery path reactivates with an empty event handler rather than a concrete feedback loop. Not 3: the sequence is clear and a checklist checkpoint is present.

4 / 5

Progressive Disclosure

Verified against the actual bundle: the body (~123 lines) keeps the main path inline and offloads extended material via one clearly-signaled, one-level-deep reference — "Extended patterns (custom filtering, batch setup, removal handling, error recovery): references/accessorysetupkit-patterns.md" — which exists as a real file with no nested references. Not 4: the split is appropriate and the reference is well-signaled with a description of its contents.

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.

A strong description: third-person voice, specific concrete capabilities, and an explicit multi-trigger 'Use when' clause tied to a clearly-named framework. The only weakness is slight keyword coverage (e.g., "pairing") which keeps trigger term quality just below the top anchor.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Discover and configure Bluetooth and Wi-Fi accessories", "presenting a privacy-preserving accessory picker", "defining discovery descriptors for BLE or Wi-Fi devices", "handling accessory session events", "migrating from CoreBluetooth permission-based scanning" — which matches the anchor for comprehensive specific concrete actions. Not 4: coverage spans discovery, configuration, event handling, and migration with no notable gaps.

5 / 5

Completeness

Explicitly answers both: what — "Discover and configure Bluetooth and Wi-Fi accessories using AccessorySetupKit"; when — "Use when presenting a privacy-preserving accessory picker, defining discovery descriptors…, handling accessory session events, migrating from CoreBluetooth permission-based scanning, or setting up accessories without requiring broad Bluetooth permissions." Not 4: the 'when' clause is explicit and enumerates concrete triggers rather than being merely adequate.

5 / 5

Trigger Term Quality

Good keyword coverage including natural terms users would say: "Bluetooth", "Wi-Fi", "BLE", "accessory picker", "CoreBluetooth", "session events". Not 5: common user phrasings like "pair"/"pairing" or "connect an accessory" are absent; not 3: coverage goes beyond "some relevant keywords" and includes several natural trigger phrases.

4 / 5

Distinctiveness Conflict Risk

Names a specific Apple framework (AccessorySetupKit) plus a distinct migration context (CoreBluetooth permission-based scanning), giving it a clear niche with distinct triggers and minimal overlap risk with generic Bluetooth/Wi-Fi skills. Not 4: the triggers are framework-specific, not just "mostly distinct".

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

thienqo/ios-skills

Path

skills/accessorysetupkit/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.