workspace/skills/cml-node-operations/SKILL.md
CML node operations — start, stop, console access, CLI execution, config management, node details. Use when starting or stopping a CML node, running show commands on a lab router, setting startup configs, or reading console logs.
npx skillsauth add automateyournetwork/netclaw cml-node-operationsInstall 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.
cml-mcp (pip-installed, stdio transport)CML_URL, CML_USERNAME, CML_PASSWORD environment variablescml-mcp[pyats] for CLI execution via pyATS| Tool | Parameters | What It Does |
|------|-----------|-------------|
| start_node | lab_id/lab_title, node_id/node_label | Start (boot) a single node |
| stop_node | lab_id/lab_title, node_id/node_label | Stop (shutdown) a single node |
| get_node | lab_id/lab_title, node_id/node_label | Get node details: state, CPU, RAM, interfaces, config |
| get_nodes | lab_id/lab_title | List all nodes with their current states |
| wipe_node | lab_id/lab_title, node_id/node_label | Wipe a node's configuration (reset to default) |
| Tool | Parameters | What It Does |
|------|-----------|-------------|
| set_node_config | lab_id/lab_title, node_id/node_label, config | Set a node's startup configuration |
| get_node_config | lab_id/lab_title, node_id/node_label | Get a node's current configuration |
| download_lab_configs | lab_id/lab_title | Download all node configs from a running lab |
| Tool | Parameters | What It Does |
|------|-----------|-------------|
| get_node_console | lab_id/lab_title, node_id/node_label | Get console connection details (URL, protocol) |
| get_node_console_log | lab_id/lab_title, node_id/node_label, lines? | Retrieve console log output from a running node |
| execute_command | lab_id/lab_title, node_id/node_label, command | Execute a CLI command on a running node (requires pyATS) |
| State | Meaning |
|-------|---------|
| DEFINED_ON_CORE | Node exists but is not running |
| BOOTING | Node is in the process of booting |
| BOOTED | Node has finished booting and is reachable |
| STOPPED | Node has been shut down |
When a user wants to configure a specific node:
get_node to see current stateset_node_config with the full configurationstart_node to boot itexecute_command to run show version or show ip int briefWhen a user wants to back up or review configs:
get_lab to check statedownload_lab_configs gets everything at onceget_node_config for individual nodesWhen a user needs to see what happened during boot or troubleshoot a node:
get_node — node must be BOOTED or BOOTINGget_node_console_log to retrieve recent console output%PARSER-4-BADCFG — invalid configuration commands%LINK-3-UPDOWN — interface state changes%OSPF-5-ADJCHG — OSPF adjacency changes%BGP-5-ADJCHANGE — BGP neighbor state changes%SYS-5-RESTART — system restart messagesWhen a user wants to run show commands or make live changes:
get_node to check stateexecute_command with the CLI commandexecute_command per commandCommon commands to execute:
show ip interface brief
show ip ospf neighbor
show ip bgp summary
show running-config
show cdp neighbor
show version
show ip route
show interfaces status
When a user wants to start fresh with a node:
stop_nodewipe_node resets to factory defaultset_node_config with the new startup configurationstart_nodehostname {HOSTNAME}
!
interface Loopback0
ip address {LOOPBACK_IP} 255.255.255.255
!
interface GigabitEthernet0/0
ip address {MGMT_IP} {MASK}
no shutdown
!
interface GigabitEthernet0/1
ip address {P2P_IP} {MASK}
no shutdown
!
router ospf 1
router-id {LOOPBACK_IP}
network {LOOPBACK_IP} 0.0.0.0 area 0
network {P2P_NETWORK} {WILDCARD} area 0
!
line con 0
logging synchronous
line vty 0 4
login local
transport input ssh
!
end
hostname {HOSTNAME}
!
interface Loopback0
ip address {LOOPBACK_IP} 255.255.255.255
!
interface GigabitEthernet0/1
ip address {PEER_IP} {MASK}
no shutdown
!
router bgp {LOCAL_AS}
bgp router-id {LOOPBACK_IP}
bgp log-neighbor-changes
neighbor {NEIGHBOR_IP} remote-as {REMOTE_AS}
!
address-family ipv4
network {LOOPBACK_IP} mask 255.255.255.255
neighbor {NEIGHBOR_IP} activate
exit-address-family
!
end
hostname {HOSTNAME}
!
feature ospf
feature bgp
feature nv overlay
feature vn-segment-vlan-based
!
interface loopback0
ip address {LOOPBACK_IP}/32
!
interface Ethernet1/1
description To-Spine1
no switchport
ip address {P2P_IP}/30
no shutdown
!
router ospf 1
router-id {LOOPBACK_IP}
!
router bgp {AS}
router-id {LOOPBACK_IP}
neighbor {SPINE_IP} remote-as {AS}
update-source loopback0
address-family l2vpn evpn
send-community extended
!
end
hostname {HOSTNAME}
!
interface Loopback0
ipv4 address {LOOPBACK_IP} 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address {P2P_IP} {MASK}
no shutdown
!
router isis CORE
is-type level-2-only
net 49.0001.{SYSTEM_ID}.00
address-family ipv4 unicast
metric-style wide
!
interface Loopback0
passive
address-family ipv4 unicast
!
!
interface GigabitEthernet0/0/0/0
address-family ipv4 unicast
!
!
!
end
execute_command requires pyATS — the cml-mcp[pyats] extra must be installedset_node_config sets the startup config; apply it before bootCML_URL — CML server URLCML_USERNAME — CML usernameCML_PASSWORD — CML passwordCML_VERIFY_SSL — Verify SSL certificate (true/false)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.