Agent skill · software engineering · aradotso
whatcable-macos-usb-inspector
macOS menu bar app that identifies USB-C cable capabilities and charging diagnostics using IOKit
Why this skill is useful
Provides specific IOKit service queries and USB Power Delivery decoding logic that the AI wouldn't reliably generate on its own.
What it needs
Requires swift, xcode installed locally. About 7k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.
What this skill does
WhatCable macOS USB-C Inspector Skill by ara.so — Daily 2026 Skills collection. WhatCable is a macOS 14+ menu bar app (Swift/SwiftUI) that reads IOKit services to surface what each USB-C cable plugged into your Mac can actually do — speed, power rating, e-marker data, PDO profiles, and connected device identity — in plain English. Project Structure Install / Build Requires Swift 5.9 / Xcode 15+, macOS 14 (Sonoma) or later. Signed + Notarised Build Key Concepts IOKit Service Families Service Purpose --- --- AppleHPMInterfaceType10/11/12 (M3+) Per-port state, transports, plug orientation, e-marker presence AppleTCControllerType10 (M1/M2) Same, older HPM interface IOPortFeaturePowerSource Full PDO list + live negotiated PDO IOPortTransportComponentCCUSBPDSOP PD Discover Identity VDOs (SOP = partner, SOP' = cable e-marker) USB PD VDO Decoding (PDVDO.swift) The core bit-twiddling follows USB Power Delivery 3.x spec. Cable e-marker VDOs encode speed and current in specific bit fields. Reading IOKit Properties Port Summary Plain-English Logic (PortSummary.swift) PDO Parsing (Power Data Objects) SwiftUI Popover Pattern (ContentView.swift) Menu Bar App Setup (WhatCableApp.swift) Charging Diagnostic Helper Common Patterns Adding a New Port Property 1. Read the raw value from IOKit props in IOKitReader.swift 2. Decode it (bit-fields) in PDVDO.swift or a dedicated decoder 3. Expose it on PortSummary struct 4. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aradotso/whatcable-macos-usb-inspector