Agent skill

Kcli Vm Operations

by karmab in karmab/kcli

Guides VM lifecycle operations with kcli. An agent skill from karmab/kcli.

Apache-2.0Auto-check: warningsDevOps & Cloud

Install Kcli Vm Operations

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add karmab/kcli --skill kcli-vm-operations -a claude-code

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

GitHub CLI
$ gh skill install karmab/kcli kcli-vm-operations --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/karmab/kcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kcli-vm-operations .claude/skills/kcli-vm-operations && 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
kcli-vm-operations
GitHub stars
653
Token cost
~1.5k tokens
SKILL.md length
104 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides VM lifecycle operations with kcli. An agent skill from karmab/kcli.

  • Works in 6 steps: kvirt/defaults.py - Built-in defaults → ~/.kcli/config.yml default section → Provider-specific section in config.yml → …
  • Troubleshooting virtual machines across providers
  • SKILL.md covers VM Lifecycle Commands, SSH Access, Console Access and Disk Operations, plus 9 more sections
  • Calls ssh

What it does

Kcli Vm Operations is an agent skill from karmab/kcli. Guides VM lifecycle operations with kcli. Use when creating, managing, or troubleshooting virtual machines across providers.

Its SKILL.md is about 1.5k 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 DevOps & Cloud. The repository describes itself as: Management tool for virtualization and kubernetes platforms. The licence is Apache-2.0.

When your agent uses it

  • Troubleshooting virtual machines across providers

Example prompts

  • “Use the kcli-vm-operations skill to guide VM lifecycle operations with kcli. An agent skill from karmab/kcli”
  • “/kcli-vm-operations”

Workflow steps

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

  1. kvirt/defaults.py - Built-in defaults
  2. ~/.kcli/config.yml default section
  3. Provider-specific section in config.yml
  4. Profile definition (~/.kcli/profiles.yml)
  5. Plan file parameters
  6. Command-line -P overrides

What it can do on your machine

Read from SKILL.md and the folder at commit 30a28e3. 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:

    • ssh

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

  • Network

    No URLs in SKILL.md. Its commands use ssh, which can reach the network depending on how they are called.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Kcli Vm Operations loads about 1.5k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 104 words of instructions outside code blocks.

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

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: warnings

The automated check found patterns that need a careful read before installing.

  • NoteRuns commands with sudoSKILL.md:255
    sudo virsh list --all               # Check libvirt state
  • NoteRuns commands with sudoSKILL.md:256
    sudo virsh start myvm               # Try direct start
  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:278
    ssh -i ~/.kcli/id_rsa user@<ip>

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 karmab/kcli at commit 30a28e3, republished under its Apache-2.0 licence (© karmab). 104 words, ~1,475 tokens.

Download SKILL.mdSave it as .claude/skills/kcli-vm-operations/SKILL.md (or your agent's skills folder).
name
kcli-vm-operations
description
Guides VM lifecycle operations with kcli. Use when creating, managing, or troubleshooting virtual machines across providers.

Important: Before creating a VM, always run kcli create vm -h to check the latest available flags and examples.

kcli VM Operations

VM Lifecycle Commands

Create VM
bash
# From image
kcli create vm -i fedora40 myvm

# With parameters
kcli create vm -i centos9stream -P memory=4096 -P numcpus=4 -P disks=[20,50] myvm

# From profile
kcli create vm -p myprofile myvm

# Create multiple VMs at once with -c (count)
kcli create vm -c 3 myvm

# Create 3 VMs to emulate baremetal
kcli create vm -P start=false -P memory=20480 -P numcpus=16 -P disks=[200] -P uefi=true -P nets=[default] -c 3 myvm

# Create a VM with a static IP
kcli create vm -i centos9stream -P nets=['{"name":"default","ip":"192.168.122.250","netmask":"24","gateway":"192.168.122.1"}'] myvm

# Create a VM with a DNS reservation
kcli create vm -i centos9stream -P nets=['{"name":"default","reservedns":"true"}'] myvm

# Create a VM with a DHCP reservation
kcli create vm -i centos9stream -P nets=['{"name":"default","ip":"192.168.122.250","reserveip":"true"}'] myvm
List VMs
bash
kcli list vm                    # All VMs
kcli list vm -o yaml            # YAML output
kcli list vm -o json            # JSON output
VM Info
bash
kcli info vm myvm               # Full info
kcli info vm myvm -f ip         # Specific field
kcli info vm myvm -o yaml       # YAML format
Start/Stop/Restart
bash
kcli start vm myvm
kcli stop vm myvm
kcli restart vm myvm
Delete VM
bash
kcli delete vm myvm             # With confirmation
kcli delete vm myvm --yes       # Skip confirmation
kcli delete vm myvm --snapshots # Delete snapshots too

SSH Access

bash
kcli ssh myvm                   # SSH as default user
kcli ssh -u root myvm           # SSH as specific user
kcli ssh -l myvm                # List SSH command only

Console Access

bash
kcli console myvm               # Graphical console (VNC/SPICE)
kcli console myvm --serial      # Serial console

Disk Operations

bash
# Add disk
kcli create disk -s 20 -p default myvm  # 20GB disk
kcli create disk -s 50 --thin myvm      # Thin provisioned

# Delete disk
kcli delete disk myvm-disk1 myvm

# List disks
kcli list disk

NIC Operations

bash
# Add NIC
kcli create nic -n mynetwork myvm

# Delete NIC
kcli delete nic eth1 myvm

# Update NIC
kcli update nic -n newnetwork myvm --index 0

Snapshots

bash
# Create snapshot
kcli create snapshot myvm mysnapshot

# List snapshots
kcli list snapshot myvm

# Revert to snapshot
kcli revert snapshot myvm mysnapshot

# Delete snapshot
kcli delete snapshot myvm mysnapshot

VM Configuration

Configuration Hierarchy

Parameters are resolved in order (later overrides earlier):

  1. kvirt/defaults.py - Built-in defaults
  2. ~/.kcli/config.yml default section
  3. Provider-specific section in config.yml
  4. Profile definition (~/.kcli/profiles.yml)
  5. Plan file parameters
  6. Command-line -P overrides
Common Parameters
yaml
# Compute
numcpus: 2                      # CPU count
memory: 512                     # Memory in MB
cpumodel: host-model            # CPU model

# Storage
pool: default                   # Storage pool
disks:                          # Disk configuration
  - size: 20                    # Size in GB
  - size: 50
    pool: otherpool
    thin: true

# Network
nets:                           # Network configuration
  - default                     # Simple: network name only
  - name: mynet                 # Advanced: with options
    ip: 192.168.1.10
    netmask: 255.255.255.0
    gateway: 192.168.1.1
    mac: aa:bb:cc:dd:ee:ff

# OS Customization
image: fedora40                 # Base image
cloudinit: true                 # Enable cloud-init
keys:                           # SSH public keys
  - ssh-rsa AAAA... user@host
cmds:                           # Post-boot commands
  - dnf -y update
  - systemctl enable nginx
files:                          # Files to inject
  - path: /etc/myconfig
    content: |
      key=value

Images

bash
# List available images
kcli list image

# Download image
kcli download image fedora40
kcli download image centos9stream -p mypool

# Delete image
kcli delete image fedora40

# List all available images (from kcli catalog)
kcli list available-images

Profiles

Profiles in ~/.kcli/profiles.yml:

yaml
small:
  numcpus: 1
  memory: 1024
  disks:
    - size: 10

medium:
  numcpus: 2
  memory: 2048
  disks:
    - size: 20

webserver:
  image: centos9stream
  numcpus: 2
  memory: 4096
  nets:
    - default
  cmds:
    - dnf -y install nginx
    - systemctl enable --now nginx

Usage:

bash
kcli create vm -p webserver myweb

Update Operations

bash
# Update memory
kcli update vm myvm -P memory=8192

# Update CPUs
kcli update vm myvm -P numcpus=4

# Update metadata
kcli update vm myvm -P information="Production server"

Clone VM

bash
kcli clone vm myvm myclone
kcli clone vm myvm myclone --full  # Full clone (not linked)

Export VM

bash
kcli export vm myvm                 # Export to image
kcli export vm myvm --image myimage # Custom image name

Troubleshooting

VM Won't Start
bash
kcli -d start vm myvm              # Debug output
sudo virsh list --all               # Check libvirt state
sudo virsh start myvm               # Try direct start
No IP Address
bash
# Check DHCP is enabled on network
kcli info network default

# Check cloud-init completed
kcli ssh myvm
cat /var/log/cloud-init.log
SSH Connection Issues
bash
# Get SSH command details
kcli ssh -l myvm

# Check VM has IP
kcli info vm myvm -f ip

# Try direct SSH
ssh -i ~/.kcli/id_rsa user@<ip>

© karmab, 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 skills/kcli-vm-operations of karmab/kcli.

Open the folder on GitHubat commit 30a28e3

Compare with similar skills

Kcli Vm Operations 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.

Kcli Vm Operations compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kcli Vm Operations this skillkarmab/kcli653—~1.5kAutomated safety check: WarnApache-2.0
Monitor CInrwl/nx29k5 repos~4.7kAutomated safety check: PassMIT
Terraform and OpenTofu Guideagentscope-ai/QwenPaw35k6 repos~4.2kAutomated safety check: PassApache-2.0
Vercel Optimize Auditvercel-labs/agent-skills32k8 repos~4.3kAutomated safety check: PassNone
Analyze GitHub Action Logswithastro/astro63k1 repos~1.3kAutomated safety check: PassCustom licence
Docs Learn PR Previewnetdata/netdata81k—~2kAutomated safety check: PassGPL-3.0

Similar skills

  • Monitor CI

    nrwl/nx

    Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.

    29k GitHub starsUsed in 5 repos~4.7k tokens
    DevOps & CloudAuto-check passed
  • Terraform and OpenTofu Guide

    agentscope-ai/QwenPaw

    Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.

    35k GitHub starsUsed in 6 repos~4.2k tokens
    DevOps & CloudAuto-check passed
  • Vercel Optimize Audit

    vercel-labs/agent-skills

    Official

    Runs a metrics-first audit of a deployed Vercel project, gating investigations on real signals to produce ranked, citation-backed cost and performance recommendations.

    32k GitHub starsUsed in 8 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Official

    Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.

    63k GitHub starsUsed in 1 repo~1.3k tokens
    DevOps & CloudAuto-check passed
  • Docs Learn PR Preview

    netdata/netdata

    Use only when the user explicitly asks to build, run, preview, inspect, or validate learn.netdata.cloud locally using the contents of a PR or documentation branch before merge.

    81k GitHub stars~2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Repo Mirror Sources

    netdata/netdata

    Inspect Netdata-org source checkouts under NETDATAREPOSDIR, or set up and synchronize that mirror when requested.

    81k GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check: notes

More from karmab/kcli

All 8 skills in this repo
  • Guides deployment and management of Kubernetes clusters with kcli.

    653 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Kcli

    karmab/kcli

    Comprehensive guide for kcli usage. An agent skill from karmab/kcli.

    653 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: warnings
  • Guides creation of kcli plan files for deploying VMs, networks, and infrastructure.

    653 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Guides implementation of new virtualization providers for kcli.

    653 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Guides kcli configuration and provider setup. An agent skill from karmab/kcli.

    653 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check: warnings
  • Kcli Ksushy

    karmab/kcli

    Guides interaction with kcli VMs via ksushy (Redfish emulator).

    653 GitHub stars~1k tokensUpdated yesterday
    Auto-check: warnings

Categories

Questions about Kcli Vm Operations

What does Kcli Vm Operations do?

Guides VM lifecycle operations with kcli. An agent skill from karmab/kcli. Kcli Vm Operations is an agent skill from karmab/kcli. Guides VM lifecycle operations with kcli.

When should I use Kcli Vm Operations?

Kcli Vm Operations fits situations like: troubleshooting virtual machines across providers.

How do I install Kcli Vm Operations in Claude Code?

Run `npx skills add karmab/kcli --skill kcli-vm-operations -a claude-code`. Or copy the skill folder (skills/kcli-vm-operations in karmab/kcli) into .claude/skills/kcli-vm-operations in your project. Claude Code loads it when a task matches its description.

How do I install Kcli Vm Operations in Codex?

Run `npx skills add karmab/kcli --skill kcli-vm-operations -a codex`. Or copy the skill folder (skills/kcli-vm-operations in karmab/kcli) into .agents/skills/kcli-vm-operations in your project. Codex loads it when a task matches its description.

Can I use Kcli Vm Operations 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 karmab/kcli --skill kcli-vm-operations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kcli-vm-operations, .gemini/skills/kcli-vm-operations, .github/skills/kcli-vm-operations and .opencode/skills/kcli-vm-operations in your project.

What does Kcli Vm Operations need to run?

Going by SKILL.md and its folder, Kcli Vm Operations needs the command-line tools its instructions call (ssh).

Does Kcli Vm Operations access the network?

SKILL.md contains no URLs. Its commands use ssh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Kcli Vm Operations safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Kcli Vm Operations use?

Kcli Vm Operations is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kcli Vm Operations use?

About 1.5k tokens (SKILL.md is roughly 5.9k 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 Kcli Vm Operations?

Skills that share tags, products or a category with Kcli Vm Operations: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 35k stars), Vercel Optimize Audit (vercel-labs/agent-skills, 32k stars) and Analyze GitHub Action Logs (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kcli Vm Operations?

karmab (a GitHub user) maintains it in karmab/kcli, which has 653 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.

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