Pre-deployment checks for router and switch configuration, including dangerous commands, duplicate addresses, subnet overlaps, stale references, management-plane risk, and IOS-style security hygiene.
network-config-validation provides pre-deployment checks for router and switch configuration, targeting Cisco IOS and IOS-XE style snippets. It solves the problem of catching risky changes before a change window or an automation run touches production devices, surfacing dangerous commands, duplicate IP addresses, subnet overlaps, stale references, management-plane exposure, and IOS-style security hygiene gaps. It treats validation as layered evidence rather than a complete parser: regex checks are useful for pre-flight warnings, but final approval still needs a network engineer to review intent, platform syntax, and rollback steps.
The skill prescribes a validation order and ships concrete Python routines for each layer. It detects destructive commands via a DANGEROUS_PATTERNS list (reload, erase startup/nvram/flash, format, no router bgp/ospf/eigrp, no interface, aaa new-model, crypto key zeroize/generate) with find_dangerous_commands. It extracts interface IPs and networks and finds duplicate addresses and overlapping subnets using the ipaddress module (find_duplicate_ips, find_subnet_overlaps). Management-plane checks parse VTY blocks section by section (iter_blocks, check_vty_blocks) to flag Telnet transport, missing inbound access-class restrictions, and missing exec-timeout. Security hygiene checks flag default or SNMPv2 communities, SSH version 1, enable password instead of enable secret, and local username password instead of secret, while best-practice checks warn on missing NTP, log timestamps, logging destinations, SNMPv3 authPriv groups, and login banners.
It is aimed at network engineers and automation authors doing change-window preflights or auditing config generated by scripts and templates. It describes using validation as a blocking gate before Netmiko, NAPALM, Ansible, or vendor API pushes, failing closed on dangerous commands and credentials and warning on out-of-scope best-practice gaps. Stated anti-patterns include treating regex validation as a device parser, applying config without a dry-run diff, recommending SNMPv2 communities, and using regex that spans unrelated VTY sections. The skill also references related agents (network-config-reviewer, network-troubleshooter) and the network-interface-health skill.
The recommended order is: destructive commands first, then credential and management-plane exposure, then duplicate addresses and overlapping subnets, then stale references to ACLs, route-maps, prefix-lists, and interfaces, and finally operational hygiene such as NTP, timestamps, remote logging, and banners.
The DANGEROUS_PATTERNS list flags reload, erase startup/nvram/flash, format, no router bgp/ospf/eigrp, no interface, aaa new-model, and crypto key zeroize/generate, each with a reason such as causing downtime or erasing persistent storage.
No. The skill explicitly treats config validation as layered evidence, not a complete parser. Regex checks give pre-flight warnings, but final approval still needs a network engineer to review intent, platform syntax, and rollback steps.
Use it as a blocking gate before Netmiko, NAPALM, Ansible, or vendor API automation pushes a generated config. Fail closed on dangerous commands and credentials, and warn on best-practice gaps that are outside the change scope.
It flags default SNMP communities (public/private), SNMPv2 community strings (preferring SNMPv3 authPriv), SSH version 1, enable password instead of enable secret, and local usernames using password instead of secret. It also warns when NTP, log timestamps, logging, SNMPv3 authPriv groups, or login banners are missing.
Quick Setup:
.claude/skills/Repository
affaan-m/everything-claude-code