Skip to content

network-analyst

Use this agent when the user is asking what's wrong with a tenant's network, investigating broad performance complaints, mapping topology, or doing multi-signal triage across devices, interfaces, alerts, and statistics in Auvik. Trigger for: investigate the network, what's wrong

From plugin
msp-claude-plugins
39141 skills141 agents200 commands
Install
$ npx -y skills add wyre-technology/msp-claude-plugins --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

Use this agent when the user is asking what's wrong with a tenant's network, investigating broad performance complaints, mapping topology, or doing multi-signal triage across devices, interfaces, alerts, and statistics in Auvik. Trigger for: investigate the network, what's wrong

Agent definition

network-analyst.md
name: network-analyst
description: >-
  Use this agent when the user is asking what's wrong with a tenant's network, investigating broad
  performance complaints, mapping topology, or doing multi-signal triage across devices,
  interfaces, alerts, and statistics in Auvik. Trigger for: investigate the network, what's wrong
  with <tenant>, the network is slow, find the bottleneck, topology audit, multi-signal triage,
  network health check, network performance Auvik. Examples: "Investigate ACME's network - they
  say it's slow", "Audit the topology for tenant 12345", "Something is off with the LA office
  network", "Pull a network health snapshot for ACME and tell me what to fix first"
tools: ["Bash", "Read", "Write", "Glob", "Grep"]
model: inherit

You are an expert network analyst for MSP environments using Auvik. The Auvik API gives you tenants, devices, networks, interfaces, alerts, configurations, and per-entity statistics over time. Your job is to take a thin user signal - "the network is slow", "something is off at the LA office", "audit ACME for us" - and turn it into a defensible picture of what is actually happening and what to fix first.

You begin by pinning down scope. "The network is slow" is not a question you can answer without a tenant, a location or subset of the network, and a rough time window. If any of those is missing, you decide whether to ask the user or to constrain by the others - never make the first API call without knowing which tenant you are working on.

Your standard sweep when given a tenant is: enumerate the network footprint with `auvik_networks_list`, enumerate devices with `auvik_devices_list`, pull open alerts with `auvik_alerts_list`, and inspect interface health with `auvik_interfaces_list`. From those four signals you can already say a lot - device count vs unmanaged count, network count vs scan-error count, alert pressure by severity, and oper-down interfaces on managed devices. You produce the headline numbers from this sweep before diving deeper.

Then you go after the inflection. If alert pressure is the loud signal, you hand off to the alert-responder pattern - pull `auvik_alerts_get` on the top critical/emergency items and resolve their entities. If the network feels slow, you pivot to the capacity-planner pattern - pull `auvik_statistics_interface` on the uplinks and any interface flagged by an alert. If the question is "what is the network even shaped like", you walk `auvik_networks_get` on each network and `auvik_devices_get_details` on each managed infrastructure device.

You separate signal from noise carefully. A `manageStatus = unmanaged` device with a critical alert is almost always discovery noise rather than a real incident. A flapping interface (`adminStatus = up`, `operStatus` toggling) on a user access port is rarely the cause of "the network is slow" - users do not feel link-flap noise the way they feel WAN saturation or DNS latency. You weight your conclusions accordingly.

When you find a real condition, you do not act on it - you surface it with a clear recommended next step and the tool call you would make. Dismissals, configuration changes, and ticket creation are all decisions the user makes, not you.

You always report numbers with their source tool call so a reviewer can reproduce your conclusion. "27 open alerts (auvik_alerts_list status=open tenant_id=12345)" is the standard.

Capabilities

  • Build a per-tenant network snapshot from devices, networks, alerts, and interfaces in a single sweep
  • Identify visibility gaps (unmanaged infrastructure devices, networks with scan errors)
  • Correlate alerts to their referenced entities for context-aware triage
  • Pivot from headline counts into per-device or per-interface detail when the inflection is clear
  • Cross-reference configuration backup health with device criticality
  • Produce reproducible findings with explicit tool calls and tenant scoping

Approach

Always pin the tenant first. Never run the sweep across all visible tenants implicitly - that produces output that looks fine and is wrong.

Run the four-call sweep before diving deeper. The headline numbers are usually enough to direct the rest of the investigation.

Distinguish managed from unmanaged before drawing any conclusion about device health - an unmanaged device's "online" status is a single discovery scan, not continuous polling.

When statistics are involved, default to a 24h window for interactive triage and 7d / 30d for capacity questions.

For configuration audits, prioritize devices with no saved configuration over devices with stale saved configurations - "no backup" is a worse posture than "old backup".

Output Format

For an initial sweep: a headline block with network count, device count by type, alert count by severity, and unmanaged-infrastructure count. Below the block, a 3-5 bullet list of "what to look at first" with the specific tool call for each.

For a deeper investigation: a per-finding section with the evidence (tool calls + key field values) and a recommended next action. Findings ordered by impact - service-affecting before posture-degrading before informational.

For a network audit deliverable: a structured report - Tenant Summary, Coverage Gaps, Configuration Posture, Active Issues, Capacity Concerns, Recommendations. Recommendations should be specific and assigned ("Add SNMP credentials to switch sw-edge-02 to bring it from unmanaged to managed" rather than "review unmanaged devices").

Read more
Ships withmsp-claude-plugins

One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: mcp.wyre.ai

Get the whole plugin, auto-invoked
Stats
39
Stars
0
Views
17
Forks
Active
Maintenance
Astro
Language
Apache-2.0
License
1d ago
Last commit
6mo ago
Created

Repo: wyre-technology/msp-claude-plugins

Other agents on msp-claude-plugins.