| name | wifi-audit |
|---|---|
| description | Audit and optimize a home or mesh Wi-Fi network from a macOS machine. Use when the user wants to analyze, troubleshoot, speed up, or "make better/faster/stronger" their Wi-Fi, mesh, router, or home internet. It gathers REAL data with networking tools (signal, channel congestion, latency/loss/jitter, LAN device inventory, topology, router vendor), then returns a concise, ranked, data-backed tuning plan plus exactly where to change each setting. macOS only. |
Measure first, then recommend. Never give generic Wi-Fi advice from memory — run the collector, read the numbers, and tie every recommendation to a measured value.
Run the read-only collector (no sudo):
bash ~/.claude/skills/wifi-audit/scripts/collect.sh
Pass a non-default Wi-Fi interface as arg 1 if en0 is not Wi-Fi (check
networksetup -listallhardwareports). It takes ~40s (two 15-count pings + a /24 sweep).
For each LAN MAC that is NOT marked [private/randomized MAC], look up its OUI (first 3
octets) with WebFetch on https://api.macvendors.com/<oui>. Private/randomized MACs are
Apple devices (iPhone/Mac with "Private Wi-Fi Address" on) — no lookup needed.
- Signal (RSSI): −30..−50 excellent · −50..−60 good · −60..−67 ok · −67..−75 weak (move a node closer / fix roaming) · <−75 poor.
- SNR (signal − noise): >30 great · 20–30 ok · <20 poor.
- Link rate vs streams (5GHz, 80MHz, Wi-Fi 5): ~433 = 1 stream · ~866 = 2 streams. A strong signal but only ~half the 2-stream rate = stuck at 1 stream → interference or placement.
- Real throughput ≈ 40–55% of link rate. Compare to the WAN speed to find the real bottleneck. If Wi-Fi link caps below the fiber/cable speed, the client or RF is the limit, not the ISP.
- Latency/loss: any loss, or gateway ping jitter (stddev) >5 ms, points to RF contention. Internet path is healthy at <20 ms and 0% loss.
- Channel congestion: if your channel is shared by a neighbor stronger than ~−70 dBm, that is airtime contention → move channel.
- Double-NAT: more than one private-range hop (
10.,192.168.,172.16–31.) in the traceroute = double NAT → put one router in bridge mode. - Client Wi-Fi generation by Mac model: Intel Macs (
MacBookPro16,*and earlier) = Wi-Fi 5 (ac). M1/M2 = Wi-Fi 6. M3/M4+ = Wi-Fi 6E. A dual-band AP (no 6GHz radio) makes 6E/7's 6GHz irrelevant — all clients share 5GHz.
- 2.4GHz: only 1, 6, 11 (20MHz). Pick the one with no strong neighbor.
- 5GHz width: 80MHz is the sweet spot. Use 160MHz only if the WAN clearly exceeds what 80MHz delivers and DFS radar drops are acceptable.
- 5GHz channels by region (read Country Code from the scan):
- EU/NL: 36–64 (UNII-1/2A) and 100–140 (DFS). 149–165 is usually NOT allowed.
- US: adds 149–165 (UNII-3).
- Assign each AP a different channel; prefer empty DFS (100–140) to escape neighbor-packed low channels. Apple/Roku handle DFS fine; some cheap IoT do not.
- Bottleneck — one line naming the single limiting factor.
- Evidence — max 5 measured bullets (real numbers from the scan).
- Do now — numbered, ranked, max 5. Each item states the fix AND where to change it (see settings map below). Biggest measured win first.
- Offer click-by-click for the hardest step.
Honor the user's style: lead with the action, rank everything, do not pad.
Name the exact path for the user's gear. Common cases:
- TP-Link Omada (EAP APs — app or controller):
- Channel / width / Tx power: Devices → tap the AP → Config → Radio (2.4/5GHz).
- Minimum RSSI (force roaming): Devices → AP → Config → Advanced (or Roaming).
- WPA3, Fast Roaming, Band Steering: Settings → Wireless Networks → SSID → Edit → Security / Advanced.
- New IoT/guest SSID: Settings → Wireless Networks → Create.
- Zyxel ISP router (
http://192.168.1.1, password on the sticker):- Turn off built-in Wi-Fi: Network Setting → Wireless → General → disable (both bands).
- Bridge mode: Network Setting → Broadband or Operation Mode (may be ISP-locked; if so, just disable Wi-Fi).
- eero / Google Nest (app only): limited manual control — focus on placement, wired backhaul, and letting the app auto-pick channels.
- Netgear Orbi / ASUS (web admin): full manual channel, band, backhaul, WPA3.
- Wire any stationary device and the mesh backhaul when a cable is possible.
- One SSID across all nodes + band steering + fast roaming, so clients pick the best AP.
- WPA2/WPA3-mixed with PMF.
- Put IoT and phone hotspots on a separate 2.4GHz SSID.