Marketplace virtual-machine-management

Create, manage, and optimize virtual machines in Proxmox. Control VM lifecycle, monitor performance, adjust resources, and plan VM deployment strategies.

install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/dataknifeai/virtual-machine-management" ~/.claude/skills/aiskillstore-marketplace-virtual-machine-management && rm -rf "$T"
manifest: skills/dataknifeai/virtual-machine-management/SKILL.md
source content

Virtual Machine Management Skill

Create, manage, and optimize virtual machines in your Proxmox environment.

What this skill does

This skill enables you to:

  • List virtual machines on specific nodes
  • Get detailed VM configuration and status
  • Start, stop, reboot, suspend, and resume virtual machines
  • Create new virtual machines with basic or advanced configuration
  • Clone existing virtual machines
  • Delete virtual machines
  • Modify VM resource allocation
  • Monitor VM performance metrics
  • Manage VM snapshots
  • Plan VM deployment strategies
  • Optimize resource allocation

When to use this skill

Use this skill when you need to:

  • Check VM status and configuration
  • Manage VM lifecycle (start/stop/reboot)
  • Monitor VM performance and resource usage
  • Adjust VM resources (CPU, memory, storage)
  • Create new virtual machines
  • Troubleshoot VM issues
  • Plan VM migrations
  • Optimize VM placement

Available Tools

  • get_vms
    - List all VMs on a specific node
  • get_vm_status
    - Get detailed VM status and configuration
  • get_vm_config
    - Get full VM configuration details
  • start_vm
    - Start a virtual machine
  • stop_vm
    - Stop a VM immediately
  • shutdown_vm
    - Gracefully shutdown a VM
  • reboot_vm
    - Reboot a virtual machine
  • suspend_vm
    - Suspend (pause) a running VM
  • resume_vm
    - Resume a suspended VM
  • create_vm
    - Create a new virtual machine with basic configuration
  • create_vm_advanced
    - Create a VM with advanced configuration options
  • clone_vm
    - Clone an existing virtual machine
  • update_vm_config
    - Update VM configuration (resources, options, mark as template)
  • delete_vm
    - Delete a virtual machine

Template VM Creation

Creating template VMs allows you to quickly deploy preconfigured virtual machines:

Workflow: Create a Template VM

  1. Create or prepare a base VM

    • Use
      create_vm_advanced
      or clone from an existing VM
    • Install and configure the OS and applications
    • Test thoroughly before templating
  2. Update VM as Template

    • Use
      update_vm_config
      with
      template: 1
      to mark as template
    {
      "template": 1
    }
    
  3. Clone from Template

    • Use
      clone_vm
      to create instances from the template
    • Template VMs cannot be directly used as running instances
    • Each clone becomes a full, independent VM

Example: Mark VM as Template

# First, prepare your VM (install OS, apps, configure)
# Then mark it as a template:
update_vm_config(node="pve2", vmid=100, config={"template": 1})

Example: Clone from Template

# Clone the template to create a new VM
clone_vm(node="pve2", source_vmid=100, new_vmid=200, new_name="web-server-01", full=true)

Typical Workflows

VM Lifecycle Management

  1. Use
    get_vms
    to list available VMs
  2. Use
    get_vm_status
    or
    get_vm_config
    to check VM state
  3. Use start/stop/reboot/suspend/resume to manage VM operations
  4. Monitor VM health during changes

VM Creation & Configuration

  1. Use
    create_vm
    or
    create_vm_advanced
    to provision new VM
  2. Use
    get_vm_status
    to verify configuration
  3. Use
    clone_vm
    to create copies for testing or deployment
  4. Use
    get_vm_config
    to review detailed settings
  5. Document VM details for reference

VM Lifecycle Operations

  1. Use
    suspend_vm
    to pause a running VM (preserves state)
  2. Use
    resume_vm
    to resume operations from suspended state
  3. Use
    shutdown_vm
    for graceful shutdown
  4. Use
    reboot_vm
    to restart VM
  5. Use
    stop_vm
    for immediate termination if needed

VM Troubleshooting

  1. Use
    get_vm_status
    to check VM health
  2. Use reboot/restart to recover from issues
  3. Use snapshots to rollback problematic changes
  4. Analyze performance metrics for root cause

Example Questions

  • "List all VMs on the production node"
  • "What's the status and resource usage of VM 100?"
  • "Get the full configuration of VM 105"
  • "Start the web server VM"
  • "Create a new VM with 4 cores and 8GB RAM"
  • "Clone VM 100 to create a test copy"
  • "Mark VM 100 as a template for future deployments"
  • "Clone the template VM 100 to create web-server-01"
  • "Update VM 105 to use 16GB RAM"
  • "Suspend VM 200 for maintenance"
  • "Resume VM 200 to continue operations"
  • "Gracefully shutdown VM 150"
  • "Delete VM 199 and remove all data"

Response Format

When using this skill, I provide:

  • VM listings with status and resource allocation
  • Detailed VM configuration and performance metrics
  • Status confirmations for VM operations
  • Resource utilization analysis
  • Optimization recommendations

Best Practices

  • Monitor VM performance regularly
  • Use cloning for quick VM deployment
  • Create VMs with appropriate resource allocation
  • Use suspend/resume for temporary pauses
  • Use graceful shutdown to minimize data loss
  • Plan resource allocation carefully
  • Balance VMs across nodes
  • Implement high-availability for critical VMs
  • Keep VM templates updated
  • Document VM configuration and purpose
  • Test changes in non-production first
  • Monitor disk usage to prevent full disks
  • Clean up unused VMs to conserve resources