Install any skill in seconds. Free to start, no credit card required.
Get Started Free →JunOS system operations via pyATS — chassis health, hardware inventory, system info, NTP, SNMP, files/logs, firewall counters, DDoS protection, services accounting. Use when checking Juniper chassis alarms, auditing hardware inventory, reviewing system uptime, or inspecting JunOS firewall counters.
.claude/skills/automateyournetwork-pyats-junos-system/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 206% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 226% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 14% | 0% |
Juniper devices in the pyATS testbed with os: junos:
yamldevices: juniper-rtr-01: os: junos type: router connections: cli: protocol: ssh ip: 10.0.0.1 port: 22 credentials: default: username: "%ENV{NETCLAW_USERNAME}" password: "%ENV{NETCLAW_PASSWORD}"
bashPYATS_TESTBED_PATH=$PYATS_TESTBED_PATH python3 $MCP_CALL "${PYATS_PYTHON:-python3} -u $PYATS_MCP_SCRIPT" pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"<command>"}'
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis alarms"}'
Active alarms on the chassis. Check first — any active alarm indicates a hardware or environmental issue.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis environment"}'
Temperature, fan speed, power supply status across all components. Variants:
show chassis environment fpc — FPC-specific temperature and statusshow chassis environment routing-engine — RE temperature and statusshow chassis environment {component} — Specific component (e.g., cb0, pem0)bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis fpc"}'
FPC slot status, state (Online/Offline), temperature, CPU/memory utilization. Variants:
show chassis fpc detail — Extended FPC details including uptimeshow chassis fpc pic-status — PIC status within each FPC slotbashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis pic fpc-slot 0 pic-slot 0"}'
Specific PIC details — port types, speeds, operational state.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis hardware"}'
Hardware inventory: model, serial numbers, descriptions for all components (RE, FPC, PIC, PEM, fan trays). Variants:
show chassis hardware detail — Extended details with part numbersshow chassis hardware detail no-forwarding — Skip forwarding engine detailsshow chassis hardware extensive — Maximum hardware detailshow chassis hardware extensive no-forwarding — Extensive without forwardingbashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis fabric summary"}'
Switch fabric plane status. Also: show chassis fabric plane for per-plane details.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis firmware"}'
Firmware versions on all components. Also: show chassis firmware no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis power"}'
Power supply status, input/output watts, capacity, redundancy mode.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show chassis routing-engine"}'
RE slot, status, model, memory, CPU utilization, uptime, load averages. Also: show chassis routing-engine no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show version"}'
JunOS version, hostname, model, serial number. Variants:
show version detail — Build info, kernel versionshow version detail no-forwarding — Skip forwarding engineshow version invoke-on all-routing-engines — Version on all REs (dual RE systems)bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system uptime"}'
Current time, uptime, last configured timestamp, boot time, protocol daemon restart. Also: show system uptime no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system information"}'
Hardware model, serial, hostname, domain.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system users"}'
Currently logged-in users — terminal, login time, idle time, source IP.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system commit"}'
Configuration commit history — who committed, when, commit comment.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system storage"}'
Filesystem usage — /dev/gpt, /var, /config. Also: show system storage no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system buffers"}'
Kernel buffer pool statistics. Also: show system buffers no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system queues"}'
Packet queue statistics. Also: show system queues no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system statistics"}'
Protocol statistics (IP, ICMP, TCP, UDP counters). Also: show system statistics no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system connections"}'
Active TCP/UDP connections on the RE — useful for verifying management sessions.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show system core-dumps"}'
Core dump files — indicates past crashes. Also: show system core-dumps no-forwarding.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show task memory"}'
Routing protocol daemon memory usage per task (BGP, OSPF, IS-IS, etc.). Also: show task replication for GRES/NSR replication state.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show ntp associations"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show ntp status"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show configuration system ntp"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show configuration system ntp | display set"}'
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show snmp statistics"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show snmp mib walk system"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show configuration snmp"}'
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"file list"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"file list /var/log detail"}'
Browse filesystem — check log sizes, config backups, core dumps.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show log messages"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show log messages | match OSPF"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show log messages | match BGP | except Peer"}'
Flexible log filtering with match/except pipes.
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show firewall"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show firewall log"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show firewall counter filter my-filter block"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show firewall counter filter my-filter my-counter"}'
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show ddos-protection statistics"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show ddos-protection protocols ospf"}'
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show services accounting status"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show services accounting flow"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show services accounting usage"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show services accounting memory"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show services accounting errors"}' pyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show services accounting aggregation template template-name my-template extensive"}'
bashpyats_run_show_command '{"device_name":"juniper-rtr-01","command":"show security policies hit-count"}'
pyats_list_devices → identify JunOS devices
→ show chassis alarms → active alarms (CRITICAL if any)
→ show chassis environment → temperature, fans, power
→ show chassis fpc → FPC online/offline, CPU/memory
→ show chassis routing-engine → RE status, load averages
→ show chassis hardware → hardware inventory baseline
→ Severity-sort → GAITshow version → JunOS version, model, serial
→ show system uptime → device stability
→ show system commit → recent config changes
→ show system storage → disk usage (>80% = WARNING)
→ show system core-dumps → crash history (any = WARNING)
→ show ntp associations → time sync (stratum, offset)
→ Cross-reference version with NVD CVE → vulnerability exposure
→ GAITshow firewall → active filters
→ show firewall log → recent filter hits
→ show ddos-protection statistics → DDoS protection state
→ show security policies hit-count → policy utilization
→ show snmp statistics → SNMP polling load
→ GAIT| Skill | Integration | |-------|-------------| | junos-network | JunOS MCP (PyEZ/NETCONF) for config management; pyATS for operational CLI show commands | | pyats-junos-interfaces | Interface-specific commands complement chassis/system view | | pyats-junos-routing | Routing protocol commands complement system/hardware view | | pyats-health-check | Extend standard health checks to include JunOS chassis metrics | | netbox-reconcile | Cross-reference chassis hardware (serial, model) with NetBox DCIM | | nvd-cve | Scan JunOS versions from show version against NVD | | gait-session-tracking | Every command logged in GAIT |
show chassis alarms first — active alarms take priorityOther measured skills in the registry, with their headline benchmark lift.