WYRE-AI/msp-claude-plugins/msp-claude-plugins/meraki/meraki/skills/devices/SKILL.md
Meraki Devices
Cisco Meraki device inventory and lifecycle: serial-based identity, the MX/MS/MR/MV/MG/MT product lines, org inventory vs network assignment, reboot and removal, and device/uplink status via meraki_raw_request.
- Source repository stars
- 42
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
Cisco Meraki device inventory and lifecycle: serial-based identity, the MX/MS/MR/MV/MG/MT product lines, org inventory vs network assignment, reboot and removal, and device/uplink status via meraki_raw_request.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/meraki/meraki/skills/devices"Inspect the Agent Skill "Meraki Devices" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/meraki/meraki/skills/devices/SKILL.md at commit 5005f73ba2f52cd299f58aa6bb79f4e70ae87103. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Anti-triggers
Hardware that is not Meraki — every tool here keys off a Meraki
Hardware that is not Meraki — every tool here keys off a MerakiPower-cycling something the Dashboard does not manage —Firewall rules, VPN peers, or MX uplink policy — use - 02
Key Concepts
Every device operation keys off the serial number, not a name or internal ID. Names (name field) are optional, mutable, and non-unique across a network. Always resolve to a serial before acting.
Org inventory (merakiorganizationsinventorylist) is the pool of all hardware claimed to the org -- including devices not yet assigned to any network.Network devices (merakideviceslist) are the subset assigned to a specific network.Every device operation keys off the serial number, not a name or internal ID. Names (name field) are optional, mutable, and non-unique across a network. Always resolve to a serial before acting. - 03
The Serial Is the Identity
Every device operation keys off the serial number, not a name or internal ID. Names (name field) are optional, mutable, and non-unique across a network. Always resolve to a serial before acting.
Every device operation keys off the serial number, not a name or internal ID. Names (name field) are optional, mutable, and non-unique across a network. Always resolve to a serial before acting. - 04
Product Lines
Review the “Product Lines” section in the pinned source before continuing.
Review and apply the “Product Lines” source section. - 05
Inventory vs. Network Assignment
A device can be in inventory but unassigned. Removing a device from a network (merakidevicesremove) returns it to inventory; it is not the same as deleting the network.
Org inventory (merakiorganizationsinventorylist) is the pool of all hardware claimed to the org -- including devices not yet assigned to any network.Network devices (merakideviceslist) are the subset assigned to a specific network.- Org inventory (merakiorganizationsinventorylist) is the pool of all hardware claimed to the org -- including devices not yet assigned to any network. - Network devices (merakideviceslist) are the subset assigned to a…
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 96/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 42 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- WYRE-AI/msp-claude-plugins
- Skill path
- msp-claude-plugins/meraki/meraki/skills/devices/SKILL.md
- Commit
- 5005f73ba2f52cd299f58aa6bb79f4e70ae87103
- License
- Apache-2.0
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
Meraki Device Inventory & Lifecycle
Overview
Meraki devices are cloud-managed hardware identified by an immutable serial number (format Q2XX-XXXX-XXXX). Devices are claimed into an organization's inventory, then assigned to a network. This skill covers listing, inspecting, rebooting, and removing devices, plus reading device and uplink status through the meraki_raw_request passthrough.
Anti-triggers
- Hardware that is not Meraki — every tool here keys off a Meraki
serial and the Dashboard API. Mixed-vendor network inventory is
auvik-devices; per-site LAN discovery isdomotz-devices. - Power-cycling something the Dashboard does not manage —
meraki_devices_rebootreboots Meraki hardware only. Cutting power to anything else at the site needs a switched PDU, which the Domotz plugin controls; start fromdomotz-devicesto find it. - Firewall rules, VPN peers, or MX uplink policy — use
meraki-security-appliance. - Proving a device is genuinely unreachable — status fields are
point-in-time and go stale; run live diagnostics with
meraki-troubleshooting.
Key Concepts
The Serial Is the Identity
Every device operation keys off the serial number, not a name or internal ID. Names (name field) are optional, mutable, and non-unique across a network. Always resolve to a serial before acting.
Product Lines
| Line | Product | Notes |
|---|---|---|
| MX | Security appliance / SD-WAN | Firewall, VPN, WAN uplinks |
| MS | Switch | Ports, PoE, VLANs, port statuses |
| MR | Wireless access point | SSIDs, RF, radio status |
| MV | Smart camera | Video, snapshots (raw_request) |
| MG | Cellular gateway | LTE/5G uplink (raw_request) |
| MT | Environmental sensor | Temp/humidity/water/power (raw_request) |
Inventory vs. Network Assignment
- Org inventory (
meraki_organizations_inventory_list) is the pool of all hardware claimed to the org -- including devices not yet assigned to any network. - Network devices (
meraki_devices_list) are the subset assigned to a specific network.
A device can be in inventory but unassigned. Removing a device from a network (meraki_devices_remove) returns it to inventory; it is not the same as deleting the network.
API Patterns
List Org Inventory
meraki_organizations_inventory_list
Parameters:
organization_id-- The org to list inventory for (required unlessMERAKI_ORG_IDis set)
Returns each device's serial, model, MAC, product type, network assignment (or null if unassigned), and claim/license state.
List Devices in a Network
meraki_devices_list
Parameters:
network_id-- The network to list devices for (required)
Get a Device by Serial
meraki_devices_get
Parameters:
serial-- The device serial (required)
Example response:
{
"serial": "Q2XX-XXXX-XXXX",
"name": "HQ-MX-01",
"model": "MX68",
"mac": "00:11:22:33:44:55",
"networkId": "L_123456789012345678",
"productType": "appliance",
"tags": ["hq", "primary"],
"lanIp": "192.168.1.1",
"firmware": "wired-18-107"
}
Reboot a Device
meraki_devices_reboot
Parameters:
serial-- The device to reboot (required)
Returns { "success": true } when the reboot is queued. The device drops offline briefly, then reconnects to the Dashboard cloud.
Remove a Device from a Network
meraki_devices_remove
Parameters:
serial-- The device to remove (required)confirm_destructive_action-- Must betrue(required)
This unassigns the device from its network and returns it to org inventory. It is a destructive operation and requires explicit confirmation.
Device & Uplink Status via Raw Request
The curated device tools do not include a status endpoint. Use meraki_raw_request for status and uplink data:
Org-Wide Device Statuses
meraki_raw_request
method: GET
path: /organizations/{organizationId}/devices/statuses
Returns each device's status (online, offline, alerting, dormant), lastReportedAt, and publicIp. This is the most rate-efficient way to find offline/alerting devices across an entire org -- prefer it over looping per device.
Appliance Uplink Statuses
meraki_raw_request
method: GET
path: /organizations/{organizationId}/appliance/uplink/statuses
Returns per-MX WAN interface status (active, ready, failed, not connected) for WAN1/WAN2/cellular -- useful for spotting failed-over or down uplinks.
Single-Network Uplink Status
meraki_raw_request
method: GET
path: /networks/{networkId}/appliance/uplinks/statuses
Common Workflows
Offline Device Sweep
- Call
meraki_raw_requestGET/organizations/{organizationId}/devices/statuses - Filter for
statusin (offline,alerting,dormant) - For each, enrich with
meraki_devices_get(name, model, network) - Report by network, sorted by product type (appliances first -- they gate connectivity)
Firmware / Model Audit
- Call
meraki_organizations_inventory_list - Group by
modelandfirmware - Flag end-of-life models and devices lagging the recommended firmware train
Controlled Reboot
- Confirm the device and its role with
meraki_devices_get - Warn if it is an appliance (MX) or core switch (MS) -- rebooting drops the site
- Call
meraki_devices_rebootonly after explicit user confirmation - Re-check status via the org device statuses endpoint until it returns
online
Decommission
- Verify the correct serial with
meraki_devices_get - Confirm intent with the user
- Call
meraki_devices_removewithconfirm_destructive_action=true - Optionally verify it now shows unassigned in
meraki_organizations_inventory_list
Error Handling
Device Not Found (404)
Cause: Wrong serial, or the device is not assigned to the network you queried
Solution: Verify the serial via meraki_organizations_inventory_list; check network assignment
Reboot / Remove Rejected
Cause: For remove, confirm_destructive_action was not true; or the account lacks write permission
Solution: Set the confirmation flag after user approval; verify the API key's admin role (403)
Stale Status
Cause: lastReportedAt is old -- the device may be offline or the cloud has not polled recently
Solution: Cross-check with uplink statuses; a device offline for its full check-in interval is genuinely down
Best Practices
- Always identify devices by serial; treat names as display-only
- Use org-wide statuses (
/organizations/.../devices/statuses) instead of per-device polling to conserve the ~10 req/s budget - Warn before rebooting appliances or core switches -- these interrupt the whole site
- Require explicit confirmation before any
meraki_devices_remove - Reconcile network devices against org inventory to spot unassigned or unclaimed hardware
- Track
firmwareandmodelfor lifecycle and upgrade planning
Related Skills
- api-patterns - Auth, pagination, rate limiting, raw_request
- troubleshooting - Live tools (ping, cable test) via raw_request
- security-appliance - MX firewall and VPN
Frequently asked questions
What to verify before installation and use
What does the Meraki Devices source document cover?
Cisco Meraki device inventory and lifecycle: serial-based identity, the MX/MS/MR/MV/MG/MT product lines, org inventory vs network assignment, reboot and removal, and device/uplink status via meraki_raw_request.
How do I install Meraki Devices?
The source record exposes this install command: npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/meraki/meraki/skills/devices". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
coreyhaines31/marketingskills
ab-testing
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
garrytan/gbrain
bulk-ingestion
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
migrate-vstest-to-mtp
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing