Back to Skills

vm

verified

QCOW2 virtual machine management using libvirt. Creates VMs from pre-built images downloaded from R2 CDN with cloud-init customization. Supports SSH, VNC, and virtiofs home directory sharing. Use when users need to create, manage, or connect to bazzite-ai VMs.

View on GitHub

Marketplace

bazzite-ai-plugins

atrawog/bazzite-ai-plugins

Plugin

bazzite-ai

productivity

Repository

atrawog/bazzite-ai-plugins

bazzite-ai/skills/vm/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/atrawog/bazzite-ai-plugins/blob/main/bazzite-ai/skills/vm/SKILL.md -a claude-code --skill vm

Installation paths:

Claude
.claude/skills/vm/
Powered by add-skill CLI

Instructions

# VM - QCOW2 Virtual Machine Management

## Overview

The `vm` command manages bazzite-ai virtual machines using libvirt. VMs are created from pre-built QCOW2 images downloaded from R2 CDN, customized via cloud-init.

**Key Concept:** VMs run in user session (qemu:///session), not requiring root. Home directory is shared via virtiofs at `/workspace` in the VM.

## Quick Reference

| Action | Command | Description |
|--------|---------|-------------|
| Add | `ujust vm add [NAME]` | Add new VM with default image |
| Create | `ujust vm create [NAME]` | Create VM from existing disk |
| Delete | `ujust vm delete [NAME]` | Delete VM and optionally its disk |
| Download | `ujust vm download [BRANCH]` | Download QCOW2 image |
| Exec | `ujust vm exec [NAME] CMD` | Execute command via guest-agent |
| Recreate | `ujust vm recreate [NAME]` | Recreate VM config preserving disk |
| Seed | `ujust vm seed [NAME]` | Regenerate cloud-init seed ISO |
| Serial | `ujust vm serial [NAME]` | Serial console connection |
| SSH | `ujust vm ssh [NAME]` | SSH connection to VM |
| Start | `ujust vm start [NAME]` | Start VM |
| Status | `ujust vm status [NAME]` | Show VM status |
| Stop | `ujust vm stop [NAME]` | Stop VM |
| Update | `ujust vm update [NAME] WHAT` | Update QCOW2 or seed |
| VNC | `ujust vm vnc [NAME]` | VNC graphical connection |

## Parameters

| Parameter | Long Flag | Short | Default | Description |
|-----------|-----------|-------|---------|-------------|
| action | (positional) | - | required | Action: add, update, delete, download, etc. |
| vm_name | (positional) | - | `bazzite-ai` | VM name |
| url | `--url` | - | R2 CDN URL | QCOW2 image URL |
| cpus | `--cpus` | - | `4` | Number of CPUs |
| ram | `--ram` | - | `8192` | Memory in MB |
| disk_size | `--disk-size` | - | `100G` | Disk size |
| username | `--username` | `-u` | `$USER` | VM username |
| password | `--password` | - | (empty) | VM password |
| autologin | `--autologin` | - | `true` | Enable autologin |
| ssh_por

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
7346 chars