account-hygiene
Periodic hygiene review of a client's 1Password account for QBRs and license true-ups: reconciling active and suspended seats…
Domotz network observation: the collector's topology graph, its own interfaces, detected IP conflicts, and the two SNMP surfaces — polled variables and custom sensors — with their history endpoints and the tools and error modes for each.
Claude Code
$ npx -y skills add wyre-ai/msp-claude-plugins --skill network --agent claude-code
Codex
$ npx skills add wyre-ai/msp-claude-plugins --skill network -a codex -y
Cursor
$ npx skills add wyre-ai/msp-claude-plugins --skill network -a cursor -y
Gemini CLI
$ npx skills add wyre-ai/msp-claude-plugins --skill network -a gemini-cli -y
GitHub Copilot
$ npx skills add wyre-ai/msp-claude-plugins --skill network -a github-copilot -y
OpenCode
$ npx skills add wyre-ai/msp-claude-plugins --skill network -a opencode -y
Windsurf
$ npx skills add wyre-ai/msp-claude-plugins --skill network -a windsurf -y
name: "Domotz Network" description: > Domotz network observation: the collector's topology graph, its own interfaces, detected IP conflicts, and the two SNMP surfaces — polled variables and custom sensors — with their history endpoints and the tools and error modes for each. when_to_use: >- When reading network topology, checking for IP conflicts, or pulling SNMP metrics and their history through Domotz agents. Use when: domotz network, snmp, network topology, ip conflict, duplicate ip, interface counters, snmp sensor, snmp variable, bandwidth counters, or snmp polling.
Domotz agents observe the network they sit on: they map how devices connect, detect addressing collisions, and poll SNMP-capable devices for operational metrics. Everything in this skill is read-only and scoped to one agent.
Domotz discovery is **passive and continuous** — the agent scans on its own schedule. There is no tool that triggers a scan on demand, so "rescan the network" is not an action available here; a fresh census means re-reading `domotz_devices_list` and comparing.
collector's own interfaces and SNMP counters, not switch port configuration. Meraki switch ports are `meraki-devices`.
port-probe tool. Synthetic service checks are `betterstack-monitors`.
`betterstack-monitors` or the ISP's own reporting.
site at a time; fleet-wide interface and utilisation history is `auvik-networks`.
monitoring, not security assessment; use `runzero`.
The agent builds a connectivity graph of the devices it has discovered — which device is reachable through which, and how the site hangs together. It is derived from what the collector can observe from its own vantage point, so it reflects one LAN, not a routed multi-site estate.
Domotz flags addressing collisions it observes — the same IP answering for more than one MAC. These are usually a static address colliding with a DHCP lease, and they present as intermittent, hard-to-reproduce faults.
Domotz has two separate SNMP lists per device, and they are not interchangeable:
a device as SNMP-capable (interface counters, system resources). Addressed by `variable_id`.
that device. Addressed by `sensor_id`.
Each has its own history endpoint. A `variable_id` will not resolve against the sensor history tool, or vice versa.
| Tool | Description | Arguments | |------|-------------|-----------| | `domotz_network_topology` | Connectivity graph for the agent's network | `agent_id` | | `domotz_network_interfaces` | Network interfaces on the **collector itself** | `agent_id` | | `domotz_network_ip_conflicts` | Detected IP address conflicts | `agent_id` | | `domotz_metrics_variables_list` | SNMP metrics/variables polled for a device | `agent_id`, `device_id` | | `domotz_metrics_variable_history` | Time series for one variable | `agent_id`, `device_id`, `variable_id` | | `domotz_metrics_snmp_sensors_list` | Custom SNMP sensors configured on a device | `agent_id`, `device_id` | | `domotz_metrics_sensor_history` | History for one custom sensor | `agent_id`, `device_id`, `sensor_id` |
All IDs are numbers. None of these tools takes a time range, a page, or a limit — history endpoints return whatever window Domotz retains, and you narrow it after the fact.
1. Call `domotz_metrics_variables_list` for the device to see what is actually being polled. 2. Identify the interface counters (`ifInOctets` / `ifOutOctets` style entries) and note their `variable_id`. 3. Call `domotz_metrics_variable_history` per variable. 4. Counters are cumulative — derive utilisation from the delta between samples and the interval, not from the raw value. 5. Flag interfaces trending toward capacity.
1. Call `domotz_metrics_snmp_sensors_list` for the device. 2. For any sensor of interest, call `domotz_metrics_sensor_history` with its `sensor_id`. 3. An empty sensor list means nobody configured custom sensors on that device — it does not mean SNMP is unavailable. Check `domotz_metrics_variables_list` before concluding the device is not polled.
1. Call `domotz_network_ip_conflicts` for the agent. 2. For each conflicting address, call `domotz_devices_list` and match on IP to identify which devices are involved. 3. Resolve at the DHCP scope or the statically-addressed device.
1. Call `domotz_network_topology` for the agent. 2. Cross-reference node IDs against `domotz_devices_list` for names, vendors, and status. 3. Identify the devices everything else depends on, and check their uptime with `domotz_devices_uptime`.
Treat the output as sensitive: a topology graph plus the device census is close to what an attacker would want for lateral movement. See `GOVERNANCE.md`, *Data handling*.
1. Call `domotz_devices_list` for the agent. 2. Compare against your previous snapshot, or sort by `first_seen`. 3. New entries appear as the agent's own scan cycle finds them — there is no way to force that cycle from here, so a device plugged in moments ago may not be present yet.
**Cause:** Device does not support SNMP, SNMP is not enabled, or the community string on the agent does not matc
One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: wyre-ai.github.io/msp-claude-plugins
Periodic hygiene review of a client's 1Password account for QBRs and license true-ups: reconciling active and suspended seats…
1Password MCP fundamentals through Conduit: the region plus two independent credential halves (Events Reporting token, Users API…
How to review a departing or departed user's 1Password footprint with the read-only tools: confirm the seat is suspended, find…
Triage of 1Password sign-in attempts for one client account: pulling the sign-in feed over a window, grouping failures by user,…
3CX's live-operations surface: read-only visibility into active calls, recordings, voicemail, department and queue membership,…
3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.