CtrlK
BlogDocsLog inGet started
Tessl Logo

ble-gatt

GATT service/characteristic enumeration on BLE peripherals, unauthenticated read/write exploitation, pairing downgrade to Just Works, and over-the-air sniffing with Sniffle or Ubertooth. Covers firmware update channels, hidden debug services, and missing auth on sensitive characteristics.

65

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/iot/ble-gatt/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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 a well-sequenced, highly actionable BLE engagement playbook with lean executable examples and OPSEC/evidence handling. Its main limitation is implicit rather than explicit validation checkpoints for destructive operations like OTA firmware writes.

Suggestions

Make validation checkpoints explicit for destructive/batch operations: add a verify step (e.g., re-read the characteristic after write, confirm handle/value before OTA) with a fix-and-retry loop.

For OTA/DFU writes, surface the approval-gate and recovery-plan check as a numbered pre-flight checklist rather than a prose OPSEC note.

If the skill grows, move the UUID attack-target table and verbose sniffing commands into a reference file and link from SKILL.md to deepen progressive disclosure.

DimensionReasoningScore

Conciseness

Mostly lean command and code blocks with terse comments and no padded concept explanation; a few inline justifications could be trimmed but overall efficient and respectful of token budget.

4 / 5

Actionability

Copy-paste ready gatttool/bluetoothctl commands and complete bleak Python snippets across all phases, with a concrete UUID attack-target table covering common cases.

5 / 5

Workflow Clarity

Clear five-phase sequence with evidence capture and OPSEC gating (OTA approval + recovery plan); checkpoints are present but partly implicit (caught read errors, sha256 evidence) rather than explicit validate-fix-retry loops, so it sits just below 5.

4 / 5

Progressive Disclosure

Well-organized single-file skill with clear section headers and a References section of external URLs; no bundle files exist (references/scripts/assets absent), so all content is appropriately inline with good but not maximally split structure.

4 / 5

Total

17

/

20

Passed

Description

75%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 highly specific and distinctive with comprehensive concrete actions, but it lacks an explicit 'Use when...' trigger clause, leaving the activation guidance only implied and capping completeness.

Suggestions

Add an explicit 'Use when...' clause naming natural user triggers (e.g., 'Use when assessing Bluetooth Low Energy devices, enumerating GATT services/characteristics, or testing pairing and OTA firmware security').

Broaden trigger-term coverage with consumer-friendly synonyms and tool names users actually say (e.g., 'Bluetooth Low Energy', 'BLE', 'nRF Connect', 'gatttool', 'pairing').

Keep the third-person, action-oriented voice but pair each capability with a brief situational trigger so 'when' is explicit, not implied.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'GATT service/characteristic enumeration', 'unauthenticated read/write exploitation', 'pairing downgrade to Just Works', 'over-the-air sniffing with Sniffle or Ubertooth' — plus concrete targets (firmware update channels, hidden debug services), matching the comprehensive-coverage anchor.

5 / 5

Completeness

The 'what' is clearly and concretely answered, but there is no explicit 'Use when...' trigger clause — 'when' is only weakly implied, so per guideline completeness caps at 3.

3 / 5

Trigger Term Quality

Strong natural terms (GATT, BLE, Just Works, Sniffle, Ubertooth, characteristic, pairing) but missing some common consumer phrasings and synonyms a user would naturally say; good but not fully comprehensive.

4 / 5

Distinctiveness Conflict Risk

A clear narrow niche (BLE GATT exploitation) with highly specific triggers and minimal overlap risk against other skills.

5 / 5

Total

17

/

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
PurpleAILAB/Decepticon
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.