A normalized device and network health sweep across whatever network-monitoring tools (Auvik, Meraki, Domotz) are connected: each vendor family's data model and native status fields mapped into one Down/Degraded/Unknown/Healthy taxonomy, default interface error and utilization thresholds, topology-change detection, and why an offline Domotz collector renders its devices "unknown" rather than "down".
Scanned 9/5/2026
Install to Claude Code
npx -y skills add WYRE-AI/msp-claude-plugins --skill network-health-sweep --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Network Health Sweep?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/wyre-ai-network-health-sweep)More formats (shields.io, HTML) on the badges page.
---
name: "Network Health Sweep"
description: >
A normalized device and network health sweep across whatever
network-monitoring tools (Auvik, Meraki, Domotz) are connected: each vendor
family's data model and native status fields mapped into one
Down/Degraded/Unknown/Healthy taxonomy, default interface error and
utilization thresholds, topology-change detection, and why an offline
Domotz collector renders its devices "unknown" rather than "down".
when_to_use: >-
When running a portfolio-wide or single-client network health check across
whatever network monitoring tools are connected. Use when: network health,
network audit, device down, device offline, interface errors, interface
utilization, topology change, network status review, is the network okay.
---
# Network Health Sweep
## Overview
"Is the network healthy" is a portfolio question, not a single-device question.
This skill runs a normalized health check across every connected
network-monitoring tool and rolls the result up into one ranked view — the same
sweep a senior network engineer would run by hand across each vendor's console,
made explicit, repeatable, and vendor-agnostic.
This is infrastructure-substrate health: is the network itself up, are
interfaces clean, has the topology changed unexpectedly. It is not ticket
triage (see `ops-pack`) and it is not application-layer reliability (see
`devops-pack`, if connected) — this skill only answers whether the wires,
switches, firewalls, and access points a client depends on are functioning.
## Anti-triggers
- **One vendor's device, alert, or interface data** — use `auvik-devices`,
`auvik-alerts`, `meraki-devices`, or `domotz-devices` when the question is
what that platform returns, rather than how to rank findings across all of
them.
- **Hands-on diagnostics against a specific device** — ping, cable test,
throughput, and reboots are live tools, not a sweep; use
`meraki-troubleshooting`.
- **Collector health as its own subject** — use `domotz-agents`; this skill
checks agent status only to decide whether "down" or "unknown" applies to
the devices behind it.
## Discovering available tools first
Because this pack is cross-vendor, never assume which network-monitoring tool
is connected, or what its tools are literally named:
1. Call `conduit__search_tools` with a query like `"list devices"`,
`"network health"`, or `"device status"` to discover which
network-monitoring connector(s) are actually live for this org, and the
exact tool names each exposes (they follow `<vendor-slug>__<tool_name>`,
e.g. `auvik__devices_list`, `meraki__list_networks`,
`domotz__list_agents`).
2. More than one network-monitoring tool can be connected at once (e.g. Auvik
for one site, Meraki for another) — discovery may return multiple vendor
families. Sweep all of them; do not stop at the first match.
3. Only after discovery, call the concrete tools that came back. Never
speculatively call a tool name that discovery didn't return — an
unrecognized tool call is a worse failure mode than reporting "no network
monitoring connector found."
## Key Concepts
### Each vendor family's data model, and how they normalize
| Concern | Auvik | Meraki | Domotz |
|---|---|---|---|
| Unit of "connected" | Tenant → Network → Device → Interface | Organization → Network → Device | Agent (collector) → Network → Device |
| Device-down signal | Device status field (`online`/`offline`/`warning`) via `auvik__devices_list` / `auvik__devices_get_details` | Device status via Meraki's device/network status tools | Device status per agent, reported by the local Domotz collector |
| Interface/link health | Per-interface stats (errors, discards, utilization) via `auvik__interfaces_list` / `auvik__statistics_interface` | Per-port/uplink stats surfaced at the network/device level | Interface-level detail is thinner — Domotz is stronger on device reachability than deep interface counters |
| Topology-change detection | Auvik's core differentiator — topology/config diffs surfaced via configuration and audit history tools (`auvik__configurations_list`, `auvik__entities_list_audits`) | Not a first-class primitive — infer from device/network membership changes between sweeps | Agent-scoped network scans can surface new/missing devices between runs |
| Collection unit that can itself be "down" | N/A — cloud-polled via SNMP/API | N/A — cloud-managed dashboard | The agent itself — if the collector host is offline, every device behind it reads as unknown, not necessarily down. Always check agent status first. |
Normalize every vendor's native status into one shared health taxonomy before
combining results:
- **Down** — device confirmed offline/unreachable.
- **Degraded** — device online but showing interface errors, high utilization,
or a warning-level status.
- **Unknown** — the collector/agent responsible for that device can't be
confirmed healthy itself (this matters most for Domotz — an offline agent
means "unknown," not "down," for everything behind it).
- **Healthy** — no findings.
### Interface errors and utilization thresholds
In the absence of a documented client-specific threshold, use these as
defaults and state clearly that they're defaults, not tuned policy:
- **Utilization** — sustained (not momentary) utilization above 80% on an
uplink or trunk interface is a capacity/degradation flag; above 90% is
urgent.
- **Errors/discards** — any non-zero, climbing error or discard counter on an
interface across two consecutive sweeps is a degraded-link flag. A single
static, non-climbing count is likely historical and lower priority.
### Topology-change detection
A topology change (new device joins, a device disappears, an uplink moves) is
not automatically bad — but it's a signal that deserves a callout, because
unplanned topology changes are how MSPs miss rogue devices or a client's
in-house change that wasn't communicated. Where the connected tool exposes
audit/config history (Auvik is strongest here), surface changes since the
last sweep rather than silently absorbing them into the current-state view.
## Common Workflows
### Portfolio-wide sweep
1. Discover connected network-monitoring tools via `conduit__search_tools`
(see above).
2. For each connected vendor family, pull the device/network list and resolve
status per the normalized taxonomy above.
3. For Domotz specifically, check agent/collector status first — an offline
agent invalidates the "down" reading for everything behind it, so it
should be reported as its own top-line finding, not buried under a wall of
"unknown" devices.
4. Pull interface-level detail where the vendor exposes it (strongest on
Auvik) and apply the utilization/error thresholds above.
5. Where available, pull topology/config-change history since the last sweep
and surface it as its own section.
6. Roll up into one ranked list: Down first, then Degraded, then
Unknown-due-to-collector-issue, then a topology-changes section, then a
clean summary count of Healthy devices.
### Single-client or single-site check
Same steps, scoped to the client/site/network identified by the caller.
Resolve the client/network first (name lookup) before pulling device data —
don't assume a network ID.
## Error Handling
### No network-monitoring connector discovered
Say so explicitly: "No network-monitoring connector (Auvik, Meraki, or
Domotz) is available through the gateway, so there's no network health data
to report." Do not fabricate device status.
### One vendor connected, others aren't
Report on what's connected and state plainly which vendor families weren't
available — never silently narrow scope without saying so.
### Domotz agent itself is offline
Call this out as the top-line finding for that site, not a footnote — every
device behind an offline agent should read as "unknown, pending agent
recovery," not "healthy" (no news isn't good news when the collector can't
report) or "down" (unconfirmed).
### Vendor tool call fails mid-sweep
Report the partial results gathered so far, note which vendor/section failed
and why, and don't let one vendor's failure suppress the rest of the report.
## Best Practices
- Keep each vendor's native status visible alongside the normalized status in
the output, so a technician can cross-check against the vendor's own
console if needed.
## Related Skills
- [Cloud Capacity Planning](../cloud-capacity-planning/SKILL.md) — the cloud
side of infrastructure health, for Azure/DigitalOcean resource
right-sizing rather than network device/link health
- [Cloud Cost Management](../cloud-cost-management/SKILL.md) — spend
anomalies and reclaimable cost, a different axis from health
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!