From proxmox-mgmt
Use when the user wants to perform maintenance, diagnostics, or configuration on their Proxmox VE host via SSH or the Proxmox API. Reads connection details from `$CLAUDE_USER_DATA/proxmox-mgmt/config.json` (populated by the `onboard` skill in this plugin). Triggers on phrases like "proxmox maintenance", "check proxmox", "connect to proxmox", "list VMs", "list containers", "proxmox host".
How this skill is triggered — by the user, by Claude, or both
Slash command
/proxmox-mgmt:proxmox-maintenanceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Inspect and maintain a Proxmox VE host. All host- and credential-specific values come from the plugin's config — never hard-code them.
Inspect and maintain a Proxmox VE host. All host- and credential-specific values come from the plugin's config — never hard-code them.
Resolve the plugin data directory (${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/proxmox-mgmt/) and load config.json. If it doesn't exist or is incomplete, tell the user to run the onboard skill first and stop.
Available fields after load: host, ssh_user, ssh_port, ssh_key_path, web_url, node_name, api.enabled, api.token_id, api.token_secret_ref, api.verify_tls.
SSH_OPTS=( -p "$SSH_PORT" )
[ -n "$SSH_KEY_PATH" ] && SSH_OPTS+=( -i "$SSH_KEY_PATH" )
ssh "${SSH_OPTS[@]}" "$SSH_USER@$HOST" "<command>"
pveversion # PVE version + kernel
pvesh get /nodes/$NODE_NAME/status # CPU, RAM, uptime
pvesh get /cluster/resources # All VMs/CTs/storage at once
qm list # All VMs on this node
qm status <vmid> # Single VM status
qm config <vmid> # VM config dump
qm start <vmid> # Start
qm shutdown <vmid> # Graceful shutdown
qm stop <vmid> # Force stop (destructive — confirm first)
pct list # All containers
pct status <ctid>
pct config <ctid>
pct start <ctid>
pct stop <ctid>
pct enter <ctid> # Interactive shell — only when user explicitly asks
pvesm status # All storage pools
zpool status # ZFS pool health
zpool list # ZFS capacity per pool
zfs list -t snapshot | head -50 # Snapshots
df -h # Filesystem usage
journalctl -u pveproxy --since "1 hour ago"
journalctl -u pve-cluster --since "1 hour ago"
tail -100 /var/log/syslog
apt update
apt list --upgradable
# apt dist-upgrade — DO NOT run without explicit user confirmation
api.enabled)Resolve token_secret from api.token_secret_ref at runtime (1Password / env / file). Don't log it.
AUTH="PVEAPIToken=${TOKEN_ID}=${TOKEN_SECRET}"
TLS_FLAG=""
[ "$VERIFY_TLS" = "false" ] && TLS_FLAG="-k"
curl $TLS_FLAG -H "Authorization: $AUTH" \
"$WEB_URL/api2/json/nodes/$NODE_NAME/qemu"
Common endpoints (under /api2/json):
| Path | Purpose |
|---|---|
/nodes/{node}/qemu | List VMs |
/nodes/{node}/lxc | List containers |
/nodes/{node}/qemu/{vmid}/status/current | VM live status |
/nodes/{node}/storage | Storage pools |
/cluster/resources | Everything in one call |
qm destroy, pct destroy, zfs destroy, pvesm remove — all require an extra "yes I'm sure" step.apt dist-upgrade without confirmation. Kernel upgrades require a reboot and may interrupt VMs.npx claudepluginhub danielrosehill/claude-code-plugins --plugin proxmox-mgmtGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.