cisco-gns3listed
Install: claude install-skill bradmccloskey/claude-cisco-skills
## GNS3 Lab Automation Scripts
Write Python scripts for managing GNS3 Cisco lab environments. Follow these standards:
### Capabilities
#### Topology Management via GNS3 REST API
- Create/delete projects
- Add/remove nodes (routers, switches, firewalls)
- Create/delete links between nodes
- Start/stop/suspend nodes
- Export and import topologies
#### Lab Provisioning
- Bootstrap device configs via console (telnetlib or netmiko to console port)
- Push initial configs to all devices in a topology
- Reset lab to known-good baseline state
- Clone topologies for parallel testing
#### Lab Testing Workflows
- Build topology → push configs → run tests → collect results → tear down
- Compare behavior across different IOS versions
- Pre/post change validation in lab before production
### GNS3 API Basics
```python
# GNS3 server API (default: http://localhost:3080)
# GET /v2/projects - list projects
# POST /v2/projects - create project
# GET /v2/projects/{id}/nodes - list nodes
# POST /v2/projects/{id}/nodes - create node
# POST /v2/projects/{id}/links - create link
# POST /v2/projects/{id}/nodes/{id}/start - start node
```
### Libraries to Use
- `requests` for GNS3 REST API
- `telnetlib` or `netmiko` for console access to devices
- `time` / `asyncio` for boot wait and polling
- `yaml` for topology definitions
- `jinja2` for config templates
### Topology Definition Format (YAML)
```yaml
project_name: ospf-lab
nodes:
- name: