modules/programs/agents/shared/skills/proxmox/SKILL.md
Proxmox VE sysadmin for home lab infrastructure. Use when triaging services, checking container/VM status, viewing logs, managing resources, or debugging self-hosted apps. Can discover infrastructure dynamically via SSH.
npx skillsauth add MichaelVessia/nixos-config proxmoxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Sysadmin skill for managing Proxmox VE home lab infrastructure.
# Proxmox host (requires 2FA - password then OTP)
ssh proxmox
# Synology NAS (see ~/.ssh/config for Host entry)
ssh nas
# All containers with status, IPs
ssh proxmox "pct list"
# All VMs
ssh proxmox "qm list"
# Detailed resource usage (CPU, memory, disk) for everything
ssh proxmox "pvesh get /cluster/resources --type vm --output-format json" | jq
# Container config (shows IP, mounts, resources)
ssh proxmox "pct config <CTID>"
# VM config
ssh proxmox "qm config <VMID>"
# Find container IP
ssh proxmox "pct exec <CTID> -- ip -4 addr show eth0"
# What's listening in a container
ssh proxmox "pct exec <CTID> -- ss -tlnp"
# Host network config
ssh proxmox "cat /etc/network/interfaces"
# Storage pools
ssh proxmox "pvesm status"
# Storage config
ssh proxmox "cat /etc/pve/storage.cfg"
# NFS mounts
ssh proxmox "mount | grep nfs"
# Disk usage
ssh proxmox "df -h"
# Start/stop/restart
ssh proxmox "pct start <CTID>"
ssh proxmox "pct shutdown <CTID>" # graceful
ssh proxmox "pct stop <CTID>" # force
ssh proxmox "pct reboot <CTID>"
# Enter container shell
ssh proxmox "pct enter <CTID>"
# Run command in container
ssh proxmox "pct exec <CTID> -- <command>"
ssh proxmox "qm start <VMID>"
ssh proxmox "qm shutdown <VMID>"
ssh proxmox "qm stop <VMID>" # force
ssh proxmox "qm reboot <VMID>"
ssh proxmox "qm status <VMID>"
# List systemd services in container
ssh proxmox "pct exec <CTID> -- systemctl list-units --type=service --state=running"
# Check specific service
ssh proxmox "pct exec <CTID> -- systemctl status <service>"
# Service logs
ssh proxmox "pct exec <CTID> -- journalctl -u <service> -n 100 --no-pager"
# Follow logs live
ssh proxmox "pct exec <CTID> -- journalctl -u <service> -f"
# All recent logs in container
ssh proxmox "pct exec <CTID> -- journalctl -n 100 --no-pager"
Most containers run a single main service. Discover with:
ssh proxmox "pct exec <CTID> -- systemctl list-units --type=service --state=running" | grep -v systemd
Typical patterns: jellyfin, AdGuardHome, caddy, sonarr, radarr, sabnzbd, tailscaled
# Overview
ssh proxmox "pvesh get /nodes/pve/status"
# Quick health
ssh proxmox "uptime && free -h && df -h /"
# ZFS status
ssh proxmox "zpool status"
# Host logs
ssh proxmox "journalctl -n 100 --no-pager"
# Backup job config
ssh proxmox "cat /etc/pve/jobs.cfg"
# List backups in storage
ssh proxmox "pvesm list <storage-name> --content backup"
ssh proxmox "pct config <CTID>" # check config
ssh proxmox "df -h" # disk space
ssh proxmox "ls /var/lock/pve-manager/pve-config/" # stale locks
# 1. Container running?
ssh proxmox "pct status <CTID>"
# 2. Service running?
ssh proxmox "pct exec <CTID> -- systemctl status <service>"
# 3. Logs
ssh proxmox "pct exec <CTID> -- journalctl -u <service> -n 100 --no-pager"
# 4. Port listening?
ssh proxmox "pct exec <CTID> -- ss -tlnp"
# 5. Restart
ssh proxmox "pct exec <CTID> -- systemctl restart <service>"
ssh proxmox "mount | grep nfs" # current mounts
ssh proxmox "cat /etc/fstab | grep nfs" # configured mounts
ssh proxmox "mount -a" # remount all
# Find tailscale container
ssh proxmox "pct list" | grep -i tail
# Check status (replace CTID)
ssh proxmox "pct exec <CTID> -- tailscale status"
Detailed infrastructure docs (IPs, service configs, setup history) are in:
~/obsidian/Notes/PROXMOX_SETUP.md
Read this file if you need static reference info not discoverable via commands.
Important: After making significant changes to the Proxmox setup (adding/removing
containers or VMs, resizing disks, changing IPs, modifying mounts, updating
services), read and update ~/obsidian/Notes/PROXMOX_SETUP.md to reflect the
new state. Keep the note in sync with reality.
development
Restate the last message in plain human language, with no jargon.
testing
Fan out a batch of work items into one PR each via isolated worktree agents, review every PR before it opens, then babysit all PRs through green CI and review feedback. Use when the user wants to fan out PRs, dispatch parallel PR agents over a list of items, or run a batch of independent changes as separate PRs.
development
Dispatch user-visible coding or research agents through Herdr with Codex-Desktop-like thread ergonomics. Use when the user asks to use Herdr to spawn, dispatch, fan out, inspect, follow up with, or monitor agent workspaces/threads.
development
Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to nicobailon/visual-explainer.