Help us improve
Share bugs, ideas, or general feedback.
From claude-mac-guardian
This skill should be used when the user asks to "debug bluetooth", "bluetooth not working", "check bluetooth", "airpods not connecting", "bluetooth devices", or mentions pairing issues. Collects Bluetooth state on macOS and writes a JSON result to ~/.mac-guardian/data/.
npx claudepluginhub dennisonbertram/claude-mac-guardian --plugin claude-mac-guardianHow this skill is triggered — by the user, by Claude, or both
Slash command
/claude-mac-guardian:bluetooth-debugThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reports on the Bluetooth subsystem: controller power state, paired devices, connected devices, battery levels where available, and recent log events.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Reports on the Bluetooth subsystem: controller power state, paired devices, connected devices, battery levels where available, and recent log events.
Trigger on phrases like: "debug bluetooth", "bluetooth not working", "check bluetooth", "airpods not connecting", "bluetooth devices".
system_profiler SPBluetoothDataType -json 2>/dev/null.
Parse the resulting JSON with jq when available, otherwise with grep/awk. Key fields of interest:
controller_properties.controller_state (On / Off)controller_properties.controller_addressdevice_connected (array of currently connected devices)device_not_connected (array of paired but disconnected devices)For each device, extract:
device_name (or first key if unnamed)device_addressdevice_batteryLevelMain / device_batteryLevelLeft / device_batteryLevelRight / device_batteryLevelCasedevice_firmwareVersiondevice_productID / device_vendorIDwarn with summary "Bluetooth is off."warn per device.ok.log show --style compact --last 2h --predicate 'subsystem CONTAINS "bluetooth"' 2>/dev/null | tail -40.
Truncate and include in raw.log_tail. Skip gracefully on no output.
Standard envelope. Write to ~/.mac-guardian/data/bluetooth-debug-<ISOdate>.json.
Summary example: "Controller on, 3 paired (2 connected). AirPods Pro 14% battery."
bash ${CLAUDE_PLUGIN_ROOT}/scripts/render-single.sh bluetooth-debug.daily-health-report, return JSON path only.sudo.system_profiler is not installed (very unusual), emit an info finding explaining the missing tool and exit cleanly.