Wifi debug
This skill should be used when the user asks to "debug wifi", "wifi not working", "check wifi", "why is wifi slow", "wifi signal", or mentions SSID, RSSI, channel, noise, or AirPort. Collects wifi state on macOS and writes a JSON result to ~/.mac-guardian/data/.From its SKILL.md
npx -y skills add dennisonbertram/claude-mac-guardian --skill wifi-debugAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.9 KB, as published. Nobody here has run it
wifi-debug
Reports on the active wifi association: SSID, RSSI, channel, noise, Tx rate, BSSID, surrounding networks, and recent disconnect events.
When to invoke
Trigger on phrases like: "debug wifi", "wifi not working", "check wifi", "why is wifi slow", "wifi signal".
Data sources and fallbacks
macOS Sonoma and later deprecate airport. Use a layered approach:
wdutil info— authoritative on newer macOS. Non-elevated output is usually redacted but still includes SSID, channel, and RSSI on many systems. Invoke without sudo:wdutil info 2>/dev/null. Do not callsudo.- Legacy
airport—/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I. If the binary exists and returns output, prefer it for RSSI / noise / Tx rate numbers. networksetup—networksetup -getairportnetwork en0for SSID,networksetup -getinfo "Wi-Fi"for MAC / IP.
If none yield data, emit severity info, summary "Wi-Fi interface off or unavailable."
What to extract
- SSID (string)
- BSSID (string, may be redacted without location permissions — record as "redacted" then)
- Channel (integer + band, e.g.
36 (5GHz)) - RSSI dBm — integer. Severity mapping:
- ≥ −60:
ok - −60 to −70:
info - −70 to −80:
warn - < −80:
critical
- ≥ −60:
- Noise dBm — integer.
warnif > −80. - Tx rate — Mbps.
infoif < 72,warnif < 24. - Security type —
okif WPA2/WPA3,warnif WEP or Open. - MCS index (if available, raw only).
Surrounding networks
If on a legacy macOS where airport -s works, include a count of discovered networks plus the strongest 10 in raw. On Sonoma+, skip with an info finding "airport -s no longer available."
Recent wifi events
log show --style compact --last 1h --predicate 'subsystem == "com.apple.wifi"' 2>/dev/null | tail -60. Skip gracefully if log is unavailable or produces no output. Do not pipe directly into the user's terminal; store the tail in the raw.log_tail field (truncated to ~4 KB).
Output contract
Standard envelope. Write to ~/.mac-guardian/data/wifi-debug-<ISOdate>.json.
Top-level severity = max of RSSI, noise, Tx rate, security severities. Summary example: "SSID HomeNet5G, RSSI −58 dBm, 867 Mbps (ok)."
Handoff
- On direct invocation:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/render-single.sh wifi-debug. - When invoked by
daily-health-report, return JSON path only.
Safety
- Never run
sudo wdutil infoor similar. Report truthfully when detail is redacted. - Read-only. Do not join / leave / change networks.