nutanix-aiops
Use this skill whenever the user needs to operate a Nutanix estate through Prism Central (v4 REST API) — an estate/cluster health overview, cluster & host inventory and utilization, VM lifecycle across AHV and ESXi (list/get/power/create/update/clone/delete/migrate), storage containers, subnets/network, images & categories, data protection / DR (snapshots, recovery points, protection domains, VM protect, failover), alerts & events with alert RCA (analyze_alert), LCM firmware/software upgrades, capacity runway forecasting, and read-only diagnostics/RCA over the whole estate (cluster_health_rca, alert_triage_rca). Always use this skill for "Nutanix", "Prism Central", "AHV", "cluster health", "list VMs", "power on/off a VM", "clone/migrate a VM", "delete a VM", "snapshot", "recovery point", "protection domain", "failover", "why did this alert fire" / "root cause this alert", "LCM upgrade / firmware", "days until storage is full" / "capacity runway", "what's wrong with my cluster" / "diagnose the estate", "triage my alerts", when the context is a Nutanix cluster or Prism Central. Do NOT use when the target is a non-Nutanix platform — those belong to their own AIops-tools sibling; this skill is Prism Central v4 only. Governed Nutanix Prism Central operations with a built-in governance harness (audit, token budget, undo, descriptive risk-tier labels).
Rank
62
Safety
84
Downloads
1.8k
Updated
Oct 10, 2026
Version
0.11.4
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.8K downloadsadoption · observed Oct 10, 2026
- Latest release
- 0.11.4release · observed Sep 16, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:nutanix-aiops- Install using `clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:nutanix-aiops` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/zw008/nutanix-aiops before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-zw008-nutanix-aiops/snapshot"
Documentation
CLAWHUB
149,869 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: nutanix-aiops
slug: nutanix-aiops
displayName: "Nutanix AIops"
summary: "Governed Nutanix Prism Central v4 ops: clusters/VMs/storage/DR/LCM/RCA, ETag-safe, 51 tools."
license: MIT
homepage: https://github.com/AIops-tools/Nutanix-AIops
tags: [aiops, mcp, governance, nutanix]
description: >
Use this skill whenever the user needs to operate a Nutanix estate through Prism Central (v4 REST API) — an estate/cluster health overview, cluster & host inventory and utilization, VM lifecycle across AHV and ESXi (list/get/power/create/update/clone/delete/migrate), storage containers, subnets/network, images & categories, data protection / DR (snapshots, recovery points, protection domains, VM protect, failover), alerts & events with alert RCA (analyze_alert), LCM firmware/software upgrades, capacity runway forecasting, and read-only diagnostics/RCA over the whole estate (cluster_health_rca, alert_triage_rca).
Always use this skill for "Nutanix", "Prism Central", "AHV", "cluster health", "list VMs", "power on/off a VM", "clone/migrate a VM", "delete a VM", "snapshot", "recovery point", "protection domain", "failover", "why did this alert fire" / "root cause this alert", "LCM upgrade / firmware", "days until storage is full" / "capacity runway", "what's wrong with my cluster" / "diagnose the estate", "triage my alerts", when the context is a Nutanix cluster or Prism Central.
Do NOT use when the target is a non-Nutanix platform — those belong to their own AIops-tools sibling; this skill is Prism Central v4 only.
Governed Nutanix Prism Central operations with a built-in governance harness (audit, token budget, undo, descriptive risk-tier labels).
installer:
kind: uv
package: nutanix-aiops
argument-hint: "[VM/cluster extId or describe your Nutanix task]"
allowed-tools:
- Bash
metadata: {"openclaw":{"requires":{"anyBins":["nutanix-aiops","uvx"]},"optional":{"env":["NUTANIX_AIOPS_CONFIG","NUTANIX_AIOPS_MASTER_PASSWORD"]},"homepage":"https://github.com/AIops-tools/Nutanix-AIops","emoji":"🧊","os":["macos","linux"]}}
compatibility: >
Standalone, self-governed Nutanix Prism Central operations. The governance harness (audit, token/runaway budget, undo, descriptive risk-tier labels) is bundled in the package — no external skill-family dependency.
Connects to Prism Central on HTTPS :9440 with HTTP Basic auth (username + password). The v4 REST API requires an ETag/If-Match on every mutation; nutanix-aiops fetches and sends it automatically. All list tools paginate automatically; vm_list returns both AHV and ESXi VMs.
All write operations are audited to a local SQLite DB under ~/.nutanix-aiops/ (relocatable via NUTANIX_AIOPS_HOME).
Credentials: the Prism Central password is stored ENCRYPTED in ~/.nutanix-aiops/secrets.enc (Fernet/AES-128 + scrypt-derived key) — never plaintext on disk. Run 'nutanix-aiops init' to onboard, or 'nutanix-aiops secret set <target>' to add one. The store is unlocked by a master password from NUTANIX_AIOPS_MASTER_PA_meta.json
{
"ownerId": "kn7b067awq2s97bn3d7p5qfhw5827pxc",
"slug": "nutanix-aiops",
"version": "0.11.4",
"publishedAt": 1789601176071
}references/agent-guardrails.md
# Agent guardrails — running nutanix-aiops with a smaller / local model
If you drive these tools with a local model (Llama, Qwen, Mistral … via Goose,
Ollama, LM Studio, or any OpenAI-compatible runtime), you will get noticeably
better results with a short system prompt. This page gives you one, and — more
importantly — tells you which guardrails you **no longer need to write**, because
the tool now enforces them itself.
The distinction matters. A guardrail in a prompt is a request. A guardrail in the
harness is a guarantee. Anything below that we could move into the harness, we did.
## What the tool now enforces — do not waste prompt budget on these
Authorization is not this tool's job — decide it via the account you connect it
with, or the agent's own prompt. What the harness does guarantee:
| You might be tempted to prompt | Why you don't need to |
|---|---|
| "Fetch the ETag before you change anything" | Prism Central v4 requires an `If-Match` ETag on most mutations (optimistic concurrency). Every write tool fetches the entity's current ETag itself and sends it back. There is **no ETag parameter for the model to get wrong**, and no read it must remember to run first. |
| "Don't invent a value when a field is missing" | A field Prism Central did not return comes back as `null`, never as `""`. Absent and empty are distinguishable in the payload — which matters here, because v4 omits a great many fields (`description`, `hypervisorType`, host and cluster names, LCM version strings, alert `impactType`). |
| "Tell me if the output was cut off" | Every list tool returns `{"<items>": [...], "returned": N, "limit": L, "truncated": true/false}`. Truncation is **measured** (one extra row is fetched), not guessed from a length coincidence. `vm_list`, `cluster_list`, `host_list`, `alert_list`, `event_list`, `audit_list`, `task_list`, `image_list`, `category_list`, `subnet_list`, `snapshot_list`, `recovery_point_list`, `protection_domain_list`, `storage_container_list`, `lcm_inventory` and `undo_list` all take a `limit` and report against it. |
| "Preserve the ordering / tell me what's most urgent" | `cluster_health_rca` and `alert_triage_rca` findings carry an explicit 1-based `rank`, worst-first. Priority is in the payload, not implied by list position, and every finding cites the measured percentage or the raw Prism state string that tripped it. |
| "Confirm before anything destructive" | Destructive tools (`vm_delete`, `vm_migrate`, `snapshot_delete`, `snapshot_restore`, `image_delete`, `subnet_delete`, `storage_container_delete`, `lcm_update`, `pd_failover`) take `dry_run=True` for a preview and are `risk=high`, tagged `review` on the audit row. ⚠️ **The CLI double confirmation exists only for `vm_delete` and `vm_migrate`** — the other seven have no CLI command and are reachable only over MCP, where nothing prompts. Keep your own confirmation for those. |
| "Run the LCM precheck before upgrading" | `lcm_update` **refuses** unless you hand back threferences/capabilities.md
# nutanix-aiops capabilities
> **51 MCP tools** (24 read, 27 write) over the Nutanix
> **Prism Central v4 REST API** (HTTPS :9440, HTTP Basic auth). Every mutation
> handles **ETag / If-Match** automatically; every list is **paginated**
> automatically. Paths below are the v4 API prefixes actually called; validate
> against a live Prism Central / Community Edition before production use.
## Clusters (4 read)
| Tool | API path | Returns |
|------|----------|---------|
| `cluster_list` | `GET /api/clustermgmt/v4.0/config/clusters` | extId, name, AOS version, hypervisors, node count |
| `cluster_health` | `GET /api/clustermgmt/v4.0/config/clusters/{extId}` | services, resiliency / fault-tolerance, upgrade state |
| `host_list` | `GET /api/clustermgmt/v4.0/config/hosts` | host extId, cluster, hypervisor, CPU / memory |
| `cluster_utilization` | `GET /api/clustermgmt/v4.0/config/clusters/{extId}` | point-in-time CPU / memory / storage / IOPS |
## VMs (2 read, 9 write) — base `GET /api/vmm/v4.0/ahv/config/vms`
| Tool | Risk | API path | Returns / undo |
|------|------|----------|----------------|
| `vm_list` | read | `GET …/vms` (paginated) | VMs across **AHV + ESXi** (extId, name, cluster, power, vCPU, mem, hypervisor) |
| `vm_get` | read | `GET …/vms/{extId}` | one VM, **surfaces its ETag** for downstream mutations |
| `vm_power_on` | write · low | `POST …/vms/{extId}/$actions/power-on` | task ref |
| `vm_guest_shutdown` | write · med | `POST …/vms/{extId}/$actions/shutdown` | graceful guest shutdown |
| `vm_power_off` | write · med | `POST …/vms/{extId}/$actions/power-off` | hard power off |
| `vm_reboot` | write · med | `POST …/vms/{extId}/$actions/reboot` | task ref |
| `vm_create` | write · med | `POST …/vms` | new VM extId |
| `vm_update` | write · med | `PUT …/vms/{extId}` (If-Match) | **undo captures prior CPU / memory** |
| `vm_clone` | write · med | `POST …/vms/{extId}/$actions/clone` | clone extId |
| `vm_delete` | write · **HIGH** | `DELETE …/vms/{extId}` | **dry_run**; double-confirm at CLI |
| `vm_migrate` | write · **HIGH** | `POST …/vms/{extId}/$actions/migrate` | **dry_run**; **undo → prior host** |
## Storage (1 read, 3 write) — base `GET /api/clustermgmt/v4.0/config/storage-containers`
| Tool | Risk | API path | Returns / undo |
|------|------|----------|----------------|
| `storage_container_list` | read | `GET …/storage-containers` | extId, name, cluster, capacity, usage |
| `storage_container_create` | write · med | `POST …/storage-containers` | new container extId |
| `storage_container_update` | write · med | `PUT …/storage-containers/{extId}` (If-Match) | **undo captures prior config** |
| `storage_container_delete` | write · **HIGH** | `DELETE …/storage-containers/{extId}` | **dry_run** |
## Network (2 read, 2 write) — base `GET /api/networking/v4.0/config/subnets`
| Tool | Risk | API path | Returns / undo |
|------|------|----------|----------------|
| `subnet_list` | read | `GET …/subnets` | extId, name, type, VLAN,references/cli-reference.md
# nutanix-aiops CLI reference > Talks to Nutanix **Prism Central v4** on HTTPS `:9440` > with HTTP Basic auth. The CLI is a convenience subset; the full **51-tool** > surface is via the MCP server (`nutanix-aiops mcp`). ## Setup & diagnostics ```bash nutanix-aiops init # interactive onboarding wizard nutanix-aiops doctor [--skip-auth] # config + secret store + connectivity + REST-RBAC preflight nutanix-aiops mcp # start the MCP server (stdio transport) ``` `doctor` checks the config file, the encrypted secret store and its permissions, that a password is present per target, and (unless `--skip-auth`) connectivity plus a **REST-RBAC preflight** against Prism Central — confirming the account can actually call the v4 APIs, not just log in to the Web UI. ## Estate & clusters (read) ```bash nutanix-aiops overview [--target <t>] # one-shot estate summary nutanix-aiops cluster list # registered clusters (extId, AOS, hypervisors, nodes) nutanix-aiops cluster health <cluster_ext_id> # services, resiliency, upgrade state nutanix-aiops cluster hosts # hosts across all clusters nutanix-aiops cluster util <cluster_ext_id> # CPU / memory / storage / IOPS utilization ``` ## Diagnostics / RCA (read-only) ```bash nutanix-aiops diagnose cluster-health # resiliency, storage >80%/>90%, nodes down — worst first nutanix-aiops diagnose alert-triage # active alerts by severity + oldest unresolved ``` Both print a worst-first findings table (severity · resource · signal · detail · action) or a green all-clear line when every measured value is under threshold. ## VMs ```bash nutanix-aiops vm list [--esxi | --no-esxi] # AHV + ESXi VMs (ESXi included by default) nutanix-aiops vm get <vm_ext_id> # one VM detail (shows its ETag) nutanix-aiops vm power <vm_ext_id> <on|off|shutdown|reboot> [--dry-run] nutanix-aiops vm delete <vm_ext_id> [--dry-run] # (HIGH) dry-run + double confirm nutanix-aiops vm migrate <vm_ext_id> <target_host_ext_id> [--dry-run] # (HIGH) dry-run + double confirm ``` ## Secrets (encrypted store `~/.nutanix-aiops/secrets.enc`) ```bash nutanix-aiops secret set <target> [--value <pw>] # store PC password (hidden prompt if no --value) nutanix-aiops secret list # names only — values never shown nutanix-aiops secret rm <target> nutanix-aiops secret migrate # import legacy plaintext env (NUTANIX_<T>_PASSWORD) nutanix-aiops secret rotate-password # re-encrypt the store under a new master password ``` ## Common options - `--target, -t <name>` — target name from `config.yaml` (omit to use the default / first target) - `--dry-run` — print the API call that would be made, change nothing - `--esxi / --no-esxi` — include or exclude ESXi-managed VMs in `vm list` (default: include) - Destructive commands (`vm delete`
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/zw008/skills/nutanix-aiops",
"sourceUrl": "https://clawhub.ai/zw008/skills/nutanix-aiops",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T00:59:20.333Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-nutanix-aiops/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-nutanix-aiops/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T00:59:20.333Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.8K downloads",
"href": "https://clawhub.ai/zw008/nutanix-aiops",
"sourceUrl": "https://clawhub.ai/zw008/nutanix-aiops",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T00:59:20.333Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.11.4",
"href": "https://clawhub.ai/zw008/nutanix-aiops",
"sourceUrl": "https://clawhub.ai/zw008/nutanix-aiops",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-16T23:26:16.071Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-nutanix-aiops/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-nutanix-aiops/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.11.4",
"description": "- Removed the skill-card.md file. - Updated references/agent-guardrails.md. - No major user-facing changes to functionality. - Documentation or internal references update only.",
"href": "https://clawhub.ai/zw008/nutanix-aiops",
"sourceUrl": "https://clawhub.ai/zw008/nutanix-aiops",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-16T23:26:16.071Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
