Agent skill

Clab Lab Management

by automateyournetwork in automateyournetwork/netclaw

ContainerLab network lab lifecycle management — authenticate, list, deploy, inspect, execute commands on, and destroy containerized network labs via the ContainerLab API.

Apache-2.0Auto-check: notesMobile

Install Clab Lab Management

skills CLI
$ npx skills add automateyournetwork/netclaw --skill clab-lab-management -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install automateyournetwork/netclaw clab-lab-management --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/automateyournetwork/netclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/workspace/skills/clab-lab-management .claude/skills/clab-lab-management && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
clab-lab-management
GitHub stars
676
Token cost
~1.7k tokens
SKILL.md length
546 words
Files
1
Skills in repo
120
Repo updated
First seen
Licence
Apache-2.0

At a glance

ContainerLab network lab lifecycle management — authenticate, list, deploy, inspect, execute commands on, and destroy containerized network labs via the ContainerLab API.

  • Works in 5 steps: List existing labs: listLabs — check… → Deploy topology: deployLab with a… → Inspect lab: inspectLab with details:… → …
  • Deploying containerized network labs
  • SKILL.md covers MCP Server, How to Call Tools, Available Tools and Workflow: Deploy a New Lab, plus 6 more sections
  • Calls python3; needs CLAB_API_PASSWORD

What it does

Clab Lab Management is an agent skill from automateyournetwork/netclaw. ContainerLab network lab lifecycle management — authenticate, list, deploy, inspect, execute commands on, and destroy containerized network labs via the ContainerLab API. Use when deploying containerized network labs, spinning up SR Linux or cEOS topologies, running commands on lab nodes, or tearing down test environments.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile. It works with Linux and iOS. The repository describes itself as: An AI agent that claws through your network. The licence is Apache-2.0.

When your agent uses it

  • Deploying containerized network labs
  • Spinning up SR Linux
  • CEOS topologies
  • Running commands on lab nodes

Example prompts

  • “/clab-lab-management”

Requirements

  • Python 3
  • Docker

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. List existing labs: listLabs — check what's already running, avoid name conflicts
  2. Deploy topology: deployLab with a topology JSON object
  3. Inspect lab: inspectLab with details: true — verify success, get management IPs
  4. Execute commands: execCommand — run show commands to verify connectivity
  5. Report back: Tell the user the lab is ready with node names and management IPs

What it can do on your machine

Read from SKILL.md and the folder at commit aa90e7d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • containerlab.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CLAB_API_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Clab Lab Management loads about 1.7k tokens when it runs. Until then it costs about 86 tokens; SKILL.md has 546 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:152
    ME`, `CLAB_API_PASSWORD` in `~/.openclaw/.env`. If the API server runs in Docker, restart the container after creating t

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from automateyournetwork/netclaw at commit aa90e7d, republished under its Apache-2.0 licence (© automateyournetwork). 546 words, ~1,657 tokens.

Download SKILL.mdSave it as .claude/skills/clab-lab-management/SKILL.md (or your agent's skills folder).
name
clab-lab-management
description
ContainerLab network lab lifecycle management — authenticate, list, deploy, inspect, execute commands on, and destroy containerized network labs via the ContainerLab API. Use when deploying containerized network labs, spinning up SR Linux or cEOS topologies, running commands on lab nodes, or tearing down test environments.
license
Apache-2.0
user-invokable
true

ContainerLab Lab Management

MCP Server

  • Command: python3 -u $CLAB_MCP_SCRIPT (stdio transport)
  • Requires: CLAB_API_SERVER_URL, CLAB_API_USERNAME, CLAB_API_PASSWORD environment variables
  • Auto-authentication: Every tool call auto-authenticates — no explicit authenticate call needed

How to Call Tools

bash
python3 $MCP_CALL "python3 -u $CLAB_MCP_SCRIPT" <tool_name> '<args_json>'

Available Tools

ToolParametersWhat It Does
authenticateapiServerURL, username, passwordManual auth override (optional — auto-auth handles normal usage)
listLabsnoneList all labs on the ContainerLab server
deployLabtopologyContent (JSON object), reconfigure (bool)Deploy a new lab topology
inspectLablabName, details (bool)Get lab details, node status, management IPs
execCommandlabName, command, nodeName (optional)Execute a command on one or all nodes
destroyLablabName, cleanup (bool), graceful (bool)Destroy a lab and clean up resources

Workflow: Deploy a New Lab

When a user wants to create a containerized network lab:

  1. List existing labs: listLabs — check what's already running, avoid name conflicts
  2. Deploy topology: deployLab with a topology JSON object
  3. Inspect lab: inspectLab with details: true — verify success, get management IPs
  4. Execute commands: execCommand — run show commands to verify connectivity
  5. Report back: Tell the user the lab is ready with node names and management IPs
Example: 2-Node SR Linux Lab
bash
# List existing labs
python3 $MCP_CALL "python3 -u $CLAB_MCP_SCRIPT" listLabs '{}'

# Deploy
python3 $MCP_CALL "python3 -u $CLAB_MCP_SCRIPT" deployLab '{"topologyContent":{"name":"srlinux-demo","topology":{"nodes":{"srl1":{"kind":"nokia_srlinux","image":"ghcr.io/nokia/srlinux:latest","type":"ixrd2l"},"srl2":{"kind":"nokia_srlinux","image":"ghcr.io/nokia/srlinux:latest","type":"ixrd2l"}},"links":[{"endpoints":["srl1:e1-1","srl2:e1-1"]},{"endpoints":["srl1:e1-2","srl2:e1-2"]}]}}}'

# Inspect
python3 $MCP_CALL "python3 -u $CLAB_MCP_SCRIPT" inspectLab '{"labName":"srlinux-demo","details":true}'

# Execute command
python3 $MCP_CALL "python3 -u $CLAB_MCP_SCRIPT" execCommand '{"labName":"srlinux-demo","nodeName":"srl1","command":"show version"}'

Workflow: Lab Cleanup

When a user is done with a lab:

  1. Confirm with user: Ask before destroying
  2. Destroy lab: destroyLab with graceful: true and cleanup: true
  3. Record in GAIT: Log the destruction for audit trail
bash
python3 $MCP_CALL "python3 -u $CLAB_MCP_SCRIPT" destroyLab '{"labName":"srlinux-demo","cleanup":true,"graceful":true}'

Topology Design Guidance

ContainerLab topologies define nodes and links in a structured JSON format.

Supported Node Kinds

ContainerLab supports a wide range of network operating systems:

KindPlatformExample Image
cisco_iosxrCisco IOS XRios-xr/xrd-control-plane:latest
cisco_iosxeCisco IOS XE (Cat8000v)c8000v:latest
cisco_nxosCisco NX-OS (Nexus 9000v)n9kv:latest
cisco_ftdvCisco Firepower FTDvftdv:latest
nokia_srlinuxNokia SR Linuxghcr.io/nokia/srlinux:latest
ceosArista cEOSceos:latest
juniper_crpdJuniper cRPDcrpd:latest
frrFRRoutingfrrouting/frr:latest
linuxGeneric Linuxalpine:latest

For the full list, see the ContainerLab documentation.

Basic Topology Structure
json
{
  "name": "lab-name",
  "topology": {
    "nodes": {
      "node1": {
        "kind": "nokia_srlinux",
        "image": "ghcr.io/nokia/srlinux:latest"
      },
      "node2": {
        "kind": "nokia_srlinux",
        "image": "ghcr.io/nokia/srlinux:latest"
      }
    },
    "links": [
      {"endpoints": ["node1:e1-1", "node2:e1-1"]}
    ]
  }
}
Common Lab Patterns

Multi-vendor lab:

"Deploy a 4-node lab:
- 2 x SR Linux switches (leaf1, leaf2)
- 1 x FRR router (spine1)
- 1 x Linux host (client1)
- leaf1 and leaf2 connected to spine1
- client1 connected to leaf1"

Spine-leaf fabric:

"Build a 2-spine, 4-leaf SR Linux fabric:
- Full mesh between spines and leaves
- iBGP between all nodes"
Show full SKILL.md (232 more words)Show less

Integration with Other Skills

  • Use gait-session-tracking to record all lab operations in the audit trail
  • Use markmap-viz to visualize lab topologies as interactive mind maps
  • Use drawio-diagram for lab network diagrams

Important Rules

  • Lab-only operations — ContainerLab operations are lab-only. No ServiceNow CR gating required
  • GAIT audit mandatory — Record all lab operations in the GAIT audit trail
  • List before deploy — Always list existing labs before deploying to avoid name conflicts
  • Inspect after deploy — Always inspect after deployment to verify success and get management IPs
  • Graceful shutdown — Use graceful: true when destroying labs for clean node shutdown
  • Docker restart — If the ContainerLab API server runs in Docker and auth fails, the container may need a restart to pick up new Linux users

Error Handling

  • Auth fails (401): Check CLAB_API_SERVER_URL, CLAB_API_USERNAME, CLAB_API_PASSWORD in ~/.openclaw/.env. If the API server runs in Docker, restart the container after creating the Linux user
  • Deploy fails: Check topology syntax — nodes must have valid kind and image fields. Use listLabs to check for name conflicts
  • Exec fails: Verify the lab is deployed via inspectLab. Check node name is correct
  • Destroy fails: Verify lab name via listLabs. If graceful shutdown times out, retry without graceful: true

Environment Variables

  • CLAB_API_SERVER_URL — ContainerLab API server URL (e.g., http://localhost:8080)
  • CLAB_API_USERNAME — API username (default: netclaw)
  • CLAB_API_PASSWORD — API password
  • CLAB_MCP_SCRIPT — Path to the Python MCP server script (set by install.sh)
  • MCP_CALL — Path to mcp-call.py wrapper (set by install.sh)

© automateyournetwork, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in workspace/skills/clab-lab-management of automateyournetwork/netclaw.

Open the folder on GitHubat commit aa90e7d

Compare with similar skills

Clab Lab Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Clab Lab Management compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Clab Lab Management this skillautomateyournetwork/netclaw676—~1.7kAutomated safety check: NotesApache-2.0
Engine Whats Newflutter/flutter179k—~978Automated safety check: PassBSD-3-Clause
OdevioOdevio/Odevio-CLI423—~7.6kAutomated safety check: PassMIT
Jetpack Composedarriousliu/PiPixiv263—~1.5kAutomated safety check: PassApache-2.0
Ccapwysaid/CameraCapture191—~1.4kAutomated safety check: PassMIT
Maui AI DebuggingRedth/Maui.Gtk101—~4.1kAutomated safety check: PassMIT

Similar skills

  • Engine Whats New

    flutter/flutter

    Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).

    179k GitHub stars~978 tokensUpdated yesterday
    MobileAuto-check passed
  • Odevio

    Odevio/Odevio-CLI

    Take a Flutter project to an iPhone or the App Store with Odevio - build, sign and publish iOS apps from Windows, Linux or macOS with no Mac and no Xcode.

    423 GitHub stars~7.6k tokensUpdated 16 days ago
    MobileAuto-check passed
  • Jetpack Compose

    darriousliu/PiPixiv

    Jetpack Compose expert skill for Android UI development. An agent skill from darriousliu/PiPixiv.

    263 GitHub stars~1.5k tokensUpdated yesterday
    MobileAuto-check passed
  • Ccap

    wysaid/CameraCapture

    Install or use the ccap CLI for camera capture, webcam inspection, device listing, frame capture, and video metadata.

    191 GitHub stars~1.4k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Maui AI Debugging

    Redth/Maui.Gtk

    End-to-end workflow for building, deploying, inspecting, and debugging .NET MAUI and MAUI Blazor Hybrid apps as an AI agent.

    101 GitHub stars~4.1k tokensUpdated 5 mo ago
    MobileAuto-check passed
  • Install Mimi Remote

    gaixianggeng/mimi-remote

    安装、配置、配对、迁移、升级、诊断、回滚或卸载 Mimi Remote;在 macOS 上安装和维护 Mimi Remote Mac 菜单栏 App / DMG,或通过 Homebrew、Linux user-systemd 部署 agentd;从源码构建 iPhone/iPad App;配置 Codex 主通道和可选 Claude Code 实验 Runtime。用户提出“安装 Mimi…

    104 GitHub stars~2.8k tokensUpdated today
    MobileAuto-check passed

More from automateyournetwork/netclaw

All 120 skills in this repo
  • EVE-NG Lab Topology Design

    automateyournetwork/netclaw

    Entry point for designing EVE-NG network labs: classifies the request, gathers missing requirements, proposes options and validates the resulting topology.

    676 GitHub stars~612 tokensUpdated yesterday
    Auto-check passed
  • ACI Policy Change Deployment

    automateyournetwork/netclaw

    Deploys Cisco ACI policy changes only behind an approved ServiceNow Change Request, capturing pre and post-change fault baselines and rolling back automatically on a fault delta.

    676 GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed
  • Cisco ACI Fabric Health Audit

    automateyournetwork/netclaw

    Runs a phased health audit of a Cisco ACI fabric through MCP tools: node status, links, tenant and policy review, faults and endpoint learning.

    676 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Anta Validation

    automateyournetwork/netclaw

    Validate Arista EOS network state against ANTA's pre-built 208-test catalogue, with structured pass/fail verdicts.

    676 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Arista Cvp

    automateyournetwork/netclaw

    Arista CloudVision Portal (CVP) automation via REST API — device inventory, events, connectivity monitoring, tag management (4 tools).

    676 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes
  • AWS Cloud Monitoring

    automateyournetwork/netclaw

    AWS CloudWatch monitoring — metrics, alarms, log queries, VPC flow log analysis, network performance.

    676 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Clab Lab Management

What does Clab Lab Management do?

ContainerLab network lab lifecycle management — authenticate, list, deploy, inspect, execute commands on, and destroy containerized network labs via the ContainerLab API. Clab Lab Management is an agent skill from automateyournetwork/netclaw. ContainerLab network lab lifecycle management — authenticate, list, deploy, inspect, execute commands on, and destroy containerized network labs via the ContainerLab API.

When should I use Clab Lab Management?

Clab Lab Management fits situations like: deploying containerized network labs; spinning up SR Linux; CEOS topologies; running commands on lab nodes.

How do I install Clab Lab Management in Claude Code?

Run `npx skills add automateyournetwork/netclaw --skill clab-lab-management -a claude-code`. Or copy the skill folder (workspace/skills/clab-lab-management in automateyournetwork/netclaw) into .claude/skills/clab-lab-management in your project. Claude Code loads it when a task matches its description.

How do I install Clab Lab Management in Codex?

Run `npx skills add automateyournetwork/netclaw --skill clab-lab-management -a codex`. Or copy the skill folder (workspace/skills/clab-lab-management in automateyournetwork/netclaw) into .agents/skills/clab-lab-management in your project. Codex loads it when a task matches its description.

Can I use Clab Lab Management in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add automateyournetwork/netclaw --skill clab-lab-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clab-lab-management, .gemini/skills/clab-lab-management, .github/skills/clab-lab-management and .opencode/skills/clab-lab-management in your project.

What does Clab Lab Management need to run?

Going by SKILL.md and its folder, Clab Lab Management needs the command-line tools its instructions call (python3) and credentials named CLAB_API_PASSWORD. Our summary lists: Python 3; Docker.

Does Clab Lab Management access the network?

SKILL.md names 1 domain. As links in the text: containerlab.dev. This is read from the text; nothing was executed.

Is Clab Lab Management safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Clab Lab Management use?

Clab Lab Management is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Clab Lab Management use?

About 1.7k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Clab Lab Management?

Skills that share tags, products or a category with Clab Lab Management: Engine Whats New (flutter/flutter, 179k stars), Odevio (Odevio/Odevio-CLI, 423 stars), Jetpack Compose (darriousliu/PiPixiv, 263 stars) and Ccap (wysaid/CameraCapture, 191 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Clab Lab Management?

automateyournetwork (a GitHub user) maintains it in automateyournetwork/netclaw, which has 676 GitHub stars. The repository holds 120 skills in this directory. The repository was last updated on October 9, 2026.

Source: automateyournetwork/netclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.