CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

core-bluetooth

Build direct Bluetooth Low Energy central or peripheral workflows with Core Bluetooth, including GATT discovery, state restoration, MTU sizing, and background modes. Use for BLE scanning, peripheral connection, characteristic reads/writes/notifications, or peripheral advertisement.

Quality

88%

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

78%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 reference-style skill: platform-specific gotchas are stated as precise contracts, navigation to the extended-patterns bundle is clean and verified, and a review checklist anchors quality. The main weaknesses are mild triple-statement of the same pitfalls across three sections and the absence of any inline Swift setup code for the central/peripheral manager lifecycle.

Suggestions

Collapse the overlap between 'Core Communication Contract', 'Common Mistakes', and 'Review Checklist' — keep the contract as the single normative statement and reduce the other two to genuinely new items, freeing tokens for a minimal inline CBCentralManager setup snippet.

Add a short copy-paste Swift example of manager initialization plus the centralManagerDidUpdateState .poweredOn gate in the body, since that is the entry point for nearly every task and is currently only available after following a reference link.

Include a brief inline error-recovery note (e.g., handle didDisconnect/didFailToConnect by consulting the Reconnection Strategies reference) so the core workflow has an explicit feedback loop without leaving the overview.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious platform facts (background scans disabled without CBUUID filters, MTU 23/20-byte default, restoration identifier keys) and avoids re-explaining BLE basics, so nearly every token earns its place. It falls just short of score 5 because the 'Core Communication Contract' points (.poweredOn, retaining CBPeripheral, UUID-filtered scans, canSendWriteWithoutResponse) are restated nearly verbatim in both 'Common Mistakes' and the 'Review Checklist' — deliberate reinforcement, but still trimmable.

4 / 5

Actionability

Guidance is concrete and executable in most respects — a copy-paste Info.plist XML snippet, exact API names (scanForPeripherals(withServices:options:), maximumWriteValueLength(for:)), and specific constants (CBCentralManagerOptionRestoreIdentifierKey, bluetooth-central). It sits at score 4 rather than 5 only because the body contains no Swift code for the most common case (setting up CBCentralManager and its delegate flow); that lives in the reference file.

4 / 5

Workflow Clarity

The numbered 'Core Communication Contract' establishes the critical ordering (wait for .poweredOn before scan/connect/advertise, retain before connect, check canSendWriteWithoutResponse before unacknowledged writes) and the 'Review Checklist' provides checkpoints, matching 'clear sequence with most checkpoints present'. No destructive/batch cap applies since BLE connection management is neither, but it is not score 5 because there is no explicit inline feedback loop for error recovery (e.g., on didDisconnect or failed writes) — those are delegated to the reference file.

4 / 5

Progressive Disclosure

The SKILL.md is a genuine overview: a Contents list plus a 'Route by Task' section whose seven links (e.g., references/ble-patterns.md#swiftui-ble-integration, #l2cap-channels, #write-flow-control) were verified to match real headings in the single 449-line bundle file, one level deep with no nested references. This matches the score-5 anchor 'clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation'.

5 / 5

Total

17

/

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 that pairs a comprehensive, concrete 'what' with an explicit 'Use for...' trigger clause in third-person voice. Trigger terms are natural and domain-specific; only minor synonym variations are absent.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete capabilities — 'GATT discovery, state restoration, MTU sizing, and background modes' plus 'BLE scanning, peripheral connection, characteristic reads/writes/notifications, or peripheral advertisement' — covering both central and peripheral roles comprehensively. This matches the score-5 anchor 'lists multiple specific concrete actions; comprehensive coverage' rather than score 4, which expects minor coverage gaps.

5 / 5

Completeness

It explicitly answers both questions: what it does ('Build direct Bluetooth Low Energy central or peripheral workflows with Core Bluetooth, including GATT discovery, state restoration, MTU sizing, and background modes') and when to use it ('Use for BLE scanning, peripheral connection, characteristic reads/writes/notifications, or peripheral advertisement'). This matches the score-5 anchor with concrete trigger phrases; score 4 would require the 'when' clause to be less explicit, which it is not.

5 / 5

Trigger Term Quality

Natural trigger phrases like 'BLE scanning', 'peripheral connection', 'characteristic reads/writes/notifications', and 'peripheral advertisement' give good coverage of what users would actually say. A few natural variations are missing (e.g., 'Bluetooth' alone, 'BLE device', 'connect to a Bluetooth accessory'), so it falls just short of score 5's 'comprehensive coverage of natural terms including synonyms' while clearly exceeding score 3's 'missing common variations'.

4 / 5

Distinctiveness Conflict Risk

Naming 'Core Bluetooth', 'GATT', 'BLE', and both central/peripheral roles carves out a clear niche with distinct triggers, matching the score-5 anchor of minimal conflict risk. Score 4 ('minor overlap risk with closely related skills') fits less well since the description is anchored to one specific iOS framework and its unambiguous API vocabulary.

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/core-bluetooth/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.