vmctl-ops

Use when vmctl is already installed and the agent must immediately run safe post-install checks and first lifecycle actions without guessing.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "vmctl-ops" with this command: npx skills add bashrusakh/vmctl-ops

vmctl Post-Install Operations

Overview

This skill defines what the agent should do right after vmctl installation on the Hermes host.

Goal: quickly verify that vmctl is operational, run a safe smoke cycle, clean artifacts, and report status in operator-friendly form.

Installation source (performed by operator):

Important:

  • This is a post-install skill.
  • If vmctl is not installed, the agent must stop and ask operator to install from the repo/release link above.
  • Do not attempt bootstrap installation. If vmctl is missing, stop and redirect operator to repo/release install docs.

When to Use

  • vmctl was just installed or reinstalled.
  • ESXi/helper credentials are already configured.
  • Operator asks: "run a test", "check after install", "why is it not working".

Do not use for:

  • bootstrap installation itself;
  • modifying ESXi host accounts/roles;
  • production VM provisioning with non-test names.

Default Execution Mode

  • Run as plain vmctl CLI (no privilege escalation or forced user switching in this skill).
  • Workdir: /opt/hermes-vmctl
  • Do not guess values; use config/secrets already deployed by installer.

Runtime Requirements

  • Required binary: vmctl must be available in PATH.
  • Required config path: /opt/hermes-vmctl/config/vmctl.yaml.
  • Required state paths: /opt/hermes-vmctl/state and /opt/hermes-vmctl/state/deleted.
  • Required credential context: ESXi/helper credentials are already configured by installer.

Minimum Permissions and Credential Scope

  • Minimum needed operations: mode, preflight, doctor, list, create, status, delete, purge, recover.
  • This skill must not be used for account/role management or bootstrap installation.
  • Expected credential scope should be limited to vmctl helper workflow and test VM lifecycle operations.
  • Prefer test-only VM names (vmctl-test-*) and avoid touching non-test resources unless operator explicitly asks for it.

Quick Reference

# baseline checks
vmctl mode
vmctl preflight
vmctl doctor
vmctl list --all

# recover state drift
vmctl recover --dry-run
vmctl recover --apply

Procedure

Phase 1 — Mandatory health gate

Run in order:

vmctl mode
vmctl preflight
vmctl doctor
vmctl list --all

Rules:

  1. If preflight or doctor is red -> stop and report blocker.
  2. If list --all shows pending/failed from old runs, recover/cleanup before new create-tests.

Phase 2 — Safe smoke create test

Use a test name only:

  • vmctl-test-<purpose>-<timestamp>

Minimal smoke command:

vmctl create \
  --name vmctl-test-smoke-<timestamp> \
  --template alma10 \
  --cpu 2 \
  --ram-mb 4096 \
  --disk-gb 40 \
  --user hermes \
  --ssh-key-file /tmp/vmctl_test_key.pub

Then:

vmctl status <name>

Success criteria:

  • state is ready
  • IPv4 exists
  • no exception from create/status

Phase 3 — Cleanup policy

Delete+purge test VM after smoke run unless operator asked to keep it.

vmctl delete <name> --force

Important: purge uses deleted tombstone name, not original VM name.

# discover tombstone
python3 - <<'PY'
import glob, os
vm='<name>'
paths=glob.glob('/opt/hermes-vmctl/state/deleted/*.json')
c=[p for p in paths if vm in os.path.basename(p)]
if c:
    c.sort(key=os.path.getmtime, reverse=True)
    print(os.path.basename(c[0])[:-5])
PY

vmctl purge <deleted_name>

Recovery flow (if state drift exists)

If ESXi has managed VM but state is missing:

vmctl recover --dry-run
vmctl recover --apply

Then run delete/purge again.

Operator Output Format

Report concise facts:

  • preflight: pass/fail
  • doctor: pass/fail
  • create: pass/fail + vm name
  • cleanup: deleted + purged / blocked
  • residual check: recover --dry-run actions count

Common Pitfalls

  1. Running commands with hardcoded elevated wrappers from old docs.
  2. Purging by original VM name -> deleted tombstone not found.
  3. Reusing stale test names -> clone/file already exists errors.
  4. Treating orphan datastore folders as vmctl-managed state.

Verification Checklist

  • mode confirms helper-only effective mode.
  • preflight is green.
  • doctor is green.
  • smoke create reaches ready.
  • test VM removed by delete --force.
  • tombstone purged by deleted-name.
  • recover --dry-run has no unexpected actions.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Moltoffer Recruiter

MoltOffer recruiter agent. Auto-post jobs, reply to candidates, screen talent - agents match through conversation to reduce repetitive hiring work.

Registry SourceRecently Updated
Automation

Moltoffer Candidate

MoltOffer candidate agent. Auto-search jobs, comment, reply, and have agents match each other through conversation - reducing repetitive job hunting work.

Registry SourceRecently Updated
Automation

Moltbook Backup

The social network for AI agents. Post, comment, upvote, and create communities.

Registry SourceRecently Updated
Automation

OGT Docs Create Task

Create and manage task documents in the docs/todo/ workflow. Use when creating new tasks, updating task status, or moving tasks between workflow stages. Provides complete task lifecycle management with verification.

Registry SourceRecently Updated