workspace/skills/nso-service-mgmt/SKILL.md
Cisco NSO service management — discover service types, list service instances, orchestrate network services. Use when listing NSO services, checking service health, auditing deployed service instances, or asking what services NSO can provision.
npx skillsauth add automateyournetwork/netclaw nso-service-mgmtInstall 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.
cisco-nso-mcp-server (pip-installed, stdio transport)NSO_ADDRESS, NSO_USERNAME, NSO_PASSWORD environment variables| Tool | Parameters | What It Does |
|------|-----------|-------------|
| get_service_types | none | List all available service types in NSO (L3VPN, VPLS, ACL, etc.) |
| get_services | service_type | List all service instances for a given service type |
NSO services are the core value of NSO. Instead of configuring devices one at a time, you define a service (e.g., "L3VPN between Site-A and Site-B") and NSO:
Common service types include:
When a user asks "what services does NSO have?" or "what can NSO provision?":
get_service_types to list all available service packagesget_services to list deployed instancesWhen a user needs to understand what's deployed:
get_service_typesget_services with the service type nameget_device_config (nso-device-ops) to see the config NSO deployedWhen validating that NSO services are properly deployed:
get_service_types → get_services for each typecheck_device_sync (nso-device-ops)Before making manual device changes:
get_service_types → get_services for each type| Scenario | Skills Involved | |----------|----------------| | Audit deployed services | nso-service-mgmt + nso-device-ops (verify device configs match services) | | Service drift detection | nso-service-mgmt + nso-device-ops (check_device_sync) | | Document services | nso-service-mgmt → github-ops (commit service inventory to repo) | | Service impact analysis | nso-service-mgmt + pyATS (verify service is working at network level) | | Service report delivery | nso-service-mgmt → msgraph-teams or Slack (post service inventory) | | Lab service testing | nso-service-mgmt + cml-lab-lifecycle (test services against CML lab) |
| Concept | Meaning | |---------|---------| | Service Type | A service package (e.g., l3vpn) — defines what parameters are needed and how to translate to device config | | Service Instance | A deployed service (e.g., "l3vpn-siteA-siteB") — a specific instantiation with actual parameters | | Service Meta-Data | NSO tracks which config lines belong to which service — enables clean rollback | | FASTMAP | NSO's algorithm that maps service intent to device config — handles create, modify, delete | | Reactive FASTMAP | Services that react to external events (e.g., device state changes) | | Nano Services | Multi-step services with state machines for complex provisioning workflows | | Service Package | The code (YANG models + templates + logic) that defines a service type |
"What services are running on NSO?" → get_service_types → list of available service packages → get_services for each type → count of deployed instances → Report: "NSO has 4 service types: l3vpn (12 instances), acl-mgmt (8 instances), qos-policy (5 instances), interface-std (20 instances)"
"Show me all L3VPN services" → get_services("l3vpn") → list of all L3VPN instances with their parameters → Report: "12 L3VPN services deployed across 6 PE routers"
"Are any services out of sync?" → get_service_types → get_services for each → get affected devices → check_device_sync for each affected device → Report: "2 of 12 L3VPN services have out-of-sync devices: PE1, PE3"
"What services touch router PE1?" → get_service_types → get_services for each → filter for PE1 → Report: "PE1 participates in: l3vpn-customer-a, l3vpn-customer-b, qos-gold, acl-mgmt-edge"
check_device_sync shows out-of-sync, service config may not match intended stateSame as nso-device-ops:
NSO_SCHEME, NSO_ADDRESS, NSO_PORT, NSO_USERNAME, NSO_PASSWORD, NSO_VERIFY, NSO_TIMEOUTtesting
Human-in-the-loop escalation via HumanRail — route low-confidence agent decisions, pre-destructive operation approvals, and ambiguous incident tickets to real human engineers. Human answers are verified and returned as structured output. Workers are paid via Lightning Network. Use when the agent is uncertain, when a destructive change needs explicit human sign-off beyond a ServiceNow CR, or when an ambiguous ticket requires human triage before automated handling.
testing
Manage EVE-NG node lifecycle. Use when listing nodes, checking runtime state, creating or deleting nodes, starting or stopping nodes or whole labs, verifying node details, or wiping node NVRAM back to factory defaults.
development
Manage EVE-NG labs and platform inventory. Use when listing labs, checking lab metadata, creating or deleting labs, importing or exporting lab archives, checking EVE-NG health or auth, or verifying available node images before build work.
tools
Execute live CLI commands on running EVE-NG nodes over telnet console. Use when running show commands, making live config changes, verifying protocol state, testing connectivity, checking console readiness, or interacting with IOS, Junos, VPCS, EOS, or NX-OS nodes.