workspace/skills/catalyst-center-readonly/SKILL.md
Query Cisco Catalyst Center read-only — device inventory, site hierarchy, wireless, assurance health, compliance, software images, events. All 514 read-only API operations reachable through 8 grouped dispatchers. Use when asked what Catalyst Center manages, where a device sits, what its health or compliance state is, or to reconcile controller state against the devices themselves.
npx skillsauth add automateyournetwork/netclaw catalyst-center-readonlyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
catc-mcp — a NetClaw client over Cisco's official tool catalogue
(cisco-en-programmability/catc-mcp-oss, Apache-2.0, release/2.3.7.11). Strictly read-only: all
514 GET operations, the one mutating operation excluded. Manifest 1,821 tokens, where inlining
every upstream tool would cost 64,420.
Start with discovery — the catalogue is far too large to carry in the tool list:
| Tool | Use |
|---|---|
| catc_find(query, group, limit) | Search all 514 operations by keyword or URI. Start here |
| catc_describe_operation(name) | Full parameter schema for one operation |
Then dispatch — catc_<group>(operation, params):
catc_devices · catc_sites · catc_wireless · catc_health · catc_compliance ·
catc_software · catc_events · catc_other
Operation names are not guessable. They are generated from Cisco's API spec — the device list is
api_getSites-style naming, not getDeviceList. Always catc_find first. Guessing wastes a call and
gets a refusal that names near-matches.
Zero devices means this controller manages none. It does not mean the network is empty. The causes are different and matter:
| Cause | What it means | |---|---| | Discovery has not run | devices exist, Catalyst Center has not found them | | RBAC scopes the account | the estate is larger than this account can see | | The wrong appliance | you are asking a controller that manages nothing | | A filter excluded everything | your parameters, not the network | | Genuinely nothing onboarded | the only case that is about the estate |
This is not hypothetical. The two DevNet sandboxes share credentials and are not equivalent —
sandboxdnac.cisco.com has 4 devices and 25 sites; sandboxdnac2.cisco.com has 0 devices and
authenticates perfectly. An inventory answer from the second looks exactly like a real empty estate.
That is why every response names the appliance it came from, and why an empty result or a zero count carries an explicit caveat. Repeat the appliance name when you report a count, especially a zero.
reachabilityStatus is the controller's last polling result, not ground truth. A device shown
Unreachable may be perfectly healthy and merely unreachable from the controller — a management-VRF
problem, an ACL, a dead SNMP/NETCONF agent on an otherwise forwarding switch.
Catalyst Center is a database of what it last learned. A device can be listed and long dead, or absent
and carrying traffic. Say when it was observed, and if the answer matters, confirm against the device
with pyats or multivendor-cli.
| outcome | Means |
|---|---|
| ok | records returned |
| empty | this controller returned nothing — see rule 1, never report as a network fact |
| unreachable | the appliance could not be reached. Not an empty result |
| auth_failed | credentials rejected or token expired. State is unknown, not empty |
| forbidden | RBAC denied it — and a related answer you did get may be scoped, not complete |
| not_configured | no appliance is configured at all |
| refused | unknown operation, or a missing path parameter |
unreachable, auth_failed and empty are three different facts. Never collapse them.
| Want to… | Use |
|---|---|
| Read the device itself | pyats, multivendor-cli — when they disagree with the controller, the device is right |
| Intended state | netbox, nautobot — this is discovered state. A device here and not in NetBox is a reconciliation finding, not an error |
| Search Cisco documentation | devnet-catalyst-search — that reads docs; this queries an appliance |
| Wireless client experience over time | thousandeyes, prometheus |
| Change anything | nothing here. Read-only; no mutation is reachable |
catc_find before dispatching. Operation names are generated, not guessable.forbidden on one call means other answers may be scoped. Say so.tools
Zoom meeting intelligence — correlates a live or referenced Zoom meeting discussion against NetClaw's historical meeting record (via the official Zoom Meetings MCP) and today's actual network state. Use when someone in a Zoom meeting references a past discussion or incident ('didn't we have this issue before?'), or asks to search prior meetings for a topic. Does not itself recognize live in-meeting questions — that happens automatically inside zoom-rtms-mcp's own extractor (spec 118) before this skill is ever invoked.
tools
Manage Lantronix out-of-band (OOB) infrastructure via Percepxion central management platform: device inventory, serial port inspection via SLC CLI, firmware compliance, config management, security auditing, and closed-loop incident remediation. Use during outages, maintenance windows, compliance cycles, and AI-assisted automation workflows.
tools
Federate your NetClaw with other NetClaw operators over the BGP mesh — exchange capability inventories and ask your claw what a peer can do. (US1; remote invocation and chat land in later phases.)
tools
Track token consumption, enforce session budgets, and display cost for every NetClaw interaction.