cisco-netautolisted
Install: claude install-skill bradmccloskey/claude-cisco-skills
## Cisco Network Automation (API/SDN) Scripts
Write Python scripts for API-driven Cisco network automation. Follow these standards:
### Supported APIs
#### RESTCONF (IOS-XE)
- Base URL: `https://{device}/restconf/data/`
- YANG models: `Cisco-IOS-XE-native`, `ietf-interfaces`, `ietf-routing`
- Use for: interface config, routing, ACLs, system settings
- Content-Type: `application/yang-data+json`
#### NETCONF (IOS-XE / NX-OS)
- Port 830, SSH subsystem
- Use `ncclient` library
- Operations: `get`, `get-config`, `edit-config`, `commit`
- Filter with XPATH or subtree XML
#### DNA Center
- Token auth: `POST /dna/system/api/v1/auth/token`
- Device inventory: `GET /dna/intent/api/v1/network-device`
- Command runner: `POST /dna/intent/api/v1/network-device-poller/cli/read-request`
- Template deployment, path trace, client health
#### Meraki Dashboard API
- Base URL: `https://api.meraki.com/api/v1/`
- API key via header: `X-Cisco-Meraki-API-Key`
- Organizations, networks, devices, SSIDs, VLANs
### Libraries to Use
- `requests` for REST APIs (RESTCONF, DNA Center, Meraki)
- `ncclient` for NETCONF
- `xmltodict` for XML parsing
- `meraki` (official SDK) for Meraki
- `dnacentersdk` for DNA Center
- `yang-suite` references for YANG model exploration
- `urllib3` (disable warnings for lab self-signed certs)
### Script Patterns
#### RESTCONF Example Structure
```python
import requests
import urllib3
urllib3.disable_warnings()
BASE_URL = "https://{host}/restconf/data"
HEADERS = {
"