agentCLAWHUBUnverified

vmware-vks

Use this skill whenever the user needs to manage vSphere Kubernetes Service (VKS) — Supervisor clusters, vSphere Namespaces, and TKC cluster lifecycle. Directly handles: check VKS compatibility, create/delete namespaces, create/scale/upgrade/delete TKC clusters, get kubeconfig, check Harbor registry. Always use this skill for "create Kubernetes cluster", "scale workers", "upgrade K8s version", "create namespace", "get kubeconfig", or any VKS/TKC task. Do NOT use for vanilla VM operations (use vmware-aiops), non-vSphere Kubernetes (e.g., kubeadm, EKS, AKS), or AVI/AKO load balancing (use vmware-avi). For networking use vmware-nsx.

OpenClaw

Rank

62

Safety

84

Downloads

5.2k

Updated

Oct 9, 2026

Version

1.12.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 5.2K downloads reported by the source. Last updated 10/9/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 9, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 9, 2026
Adoption signal
5.2K downloadsadoption · observed Oct 9, 2026
Latest release
1.12.0release · observed Sep 20, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:vmware-vks
  1. Install using `clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:vmware-vks` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/zw008/vmware-vks before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-zw008-vmware-vks/snapshot"

Documentation

CLAWHUB

151,979 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: vmware-vks
description: >
  Use this skill whenever the user needs to manage vSphere Kubernetes Service (VKS) — Supervisor clusters, vSphere Namespaces, and TKC cluster lifecycle.
  Directly handles: check VKS compatibility, create/delete namespaces, create/scale/upgrade/delete TKC clusters, get kubeconfig, check Harbor registry.
  Always use this skill for "create Kubernetes cluster", "scale workers", "upgrade K8s version", "create namespace", "get kubeconfig", or any VKS/TKC task.
  Do NOT use for vanilla VM operations (use vmware-aiops), non-vSphere Kubernetes (e.g., kubeadm, EKS, AKS), or AVI/AKO load balancing (use vmware-avi).
  For networking use vmware-nsx.
installer:
  kind: uv
  package: vmware-vks
allowed-tools:
  - Bash
metadata: {"openclaw":{"requires":{"anyBins":["vmware-vks","uvx"]},"optional":{"env":["VMWARE_VKS_CONFIG","VMWARE_VKS_<TARGET>_PASSWORD","VMWARE_VKS_<TARGET>_USERNAME","VMWARE_AUDIT_APPROVED_BY"],"bins":["vmware-policy"]},"homepage":"https://github.com/vmware-skills/VMware-VKS","emoji":"☸️","os":["macos","linux"]}}
compatibility: >
  vmware-policy auto-installed as Python dependency (provides @vmware_tool decorator and audit logging). MCP tool calls and remote CLI commands audited to ~/.vmware/audit.db (SQLite, via vmware-policy); write operations also mirrored to ~/.vmware-vks/audit.log.
  Credentials: Each vCenter target requires a per-target password env var in ~/.vmware-vks/.env following the pattern VMWARE_VKS_<TARGET_NAME_UPPER>_PASSWORD (e.g., target "vcenter-01" → VMWARE_VKS_VCENTER_01_PASSWORD). Passwords are never logged, never echoed, never included in audit entries. get_supervisor_kubeconfig and get_tkc_kubeconfig are credential access, not reads: the kubeconfig embeds a Supervisor bearer token (JWT from /wcp/login) that acts as the configured vCenter account until it expires (typically hours, independent of this process). Both are annotated readOnlyHint=false so MCP clients ask before running them; call them only on explicit user request and write the result to an owner-only (0600) file with output_path / -o rather than printing it. The audit log records the call but redacts the returned kubeconfig.
---

# VMware VKS

> **Disclaimer**: This is a community-maintained open-source project and is **not affiliated with, endorsed by, or sponsored by VMware, Inc. or Broadcom Inc.** "VMware" and "vSphere" are trademarks of Broadcom. Source code is publicly auditable at [github.com/vmware-skills/VMware-VKS](https://github.com/vmware-skills/VMware-VKS) under the MIT license.

AI-powered VMware vSphere Kubernetes Service (VKS) management — 23 MCP tools.

> Requires vSphere 8.x+ with Workload Management enabled.
> **Companion skills**: [vmware-aiops](https://github.com/vmware-skills/VMware-AIops) (VM lifecycle), [vmware-monitor](https://github.com/vmware-skills/VMware-Monitor) (monitoring), [vmware-storage](https://github.com/vmware-skills/VMware-Storage) (storage), [vmware-nsx](https://github.com/vmware-ski

_meta.json

{
  "ownerId": "kn7b067awq2s97bn3d7p5qfhw5827pxc",
  "slug": "vmware-vks",
  "version": "1.12.0",
  "publishedAt": 1789915978167
}

references/agent-guardrails.md

# Operating vmware-vks with a local / small model

Claude-class models drive this skill without special instruction. Smaller and
locally-hosted models — Llama 3.3 70B, Qwen, Mistral, and similar, served
through Goose, Ollama, or OpenShift AI — need explicit operating rules to call
tools reliably.

This page exists because an operator wrote those rules by hand first. The
guardrails below are adapted, with thanks, from the working configuration
[@juanpf-ha](https://github.com/juanpf-ha) developed while running
vmware-monitor and vmware-aria against a production vSphere estate with Llama
3.3 70B FP8 on an on-prem H100
([VMware-AIops#31](https://github.com/vmware-skills/VMware-AIops/issues/31)). The
cross-skill rules are identical across this family; the parts below marked
vmware-vks are specific to this skill.

vmware-vks exposes 23 MCP tools. Two things make it distinctive for a small
model: deleting a namespace or a Tanzu Kubernetes cluster destroys running
workloads, and two of its tools hand back live credentials — a kubeconfig
whose bearer token acts as the configured vCenter account for hours.
`get_supervisor_kubeconfig` and `get_tkc_kubeconfig` are credential access, not
reads: both are annotated `readOnlyHint: false`, so an MCP client that honours
the annotation asks before running them.

> **Disclaimer**: This is a community-maintained open-source project and is
> **not affiliated with, endorsed by, or sponsored by VMware, Inc. or Broadcom
> Inc.** "VMware" and "vSphere" are trademarks of Broadcom.

---

## First: the rules you no longer need to write

Several guardrails from the original configuration are now enforced by the
skill itself. Prompt instructions are advisory — a model can ignore them.
These are structural, so it cannot.

| Guardrail you would otherwise prompt for | Now enforced by |
|---|---|
| "Preview a namespace or cluster creation before applying it" | **`confirm` defaults to false.** `create_namespace` and `create_tkc_cluster` return `blast_radius` (spec / YAML plan) and change nothing unless `confirm=True`. Preview is the default path, not a habit the model must maintain. |
| "Confirm before deleting anything" | **A bare delete only previews.** `delete_namespace` and `delete_tkc_cluster` return what they would destroy; `confirm=True` is refused while TKC clusters exist inside the namespace, while workloads run (unless `force=True`), or when any part of the blast radius could not be read. |
| "Use explicit limits for queries that may return large amounts of data" | **The list envelope.** `list_namespaces`, `list_supervisor_storage_policies` and `list_vm_classes` return `{items, returned, limit, total, truncated, hint}`, so the model reads truncation instead of guessing at it. These three read their collection in one un-paged call, so `total` is the real count and `truncated` is always `false`. |
| "If a listing came back empty, say so rather than claiming the call failed" | Same envelope. Empty `items` with `truncated: fa

references/capabilities.md

# Capabilities

Detailed capability breakdown for all 23 MCP tools.

## Automation Level Reference

Each operation is classified by autonomy level per the Enterprise Harness Engineering framework:

| Level | Meaning | Agent autonomy | Examples in this skill |
|:-:|---|---|---|
| **L1** | Read-only, raw data | Always auto-run | `check_vks_compatibility`, `get_supervisor_status`, `list_supervisor_storage_policies`, `list_namespaces`, `get_namespace`, TKC list/get, `get_harbor_info`, `list_namespace_storage_usage` |
| **L2** | Read + analysis / recommendation | Always auto-run | namespace quota analysis, TKC health correlation, storage policy compatibility checks |
| **Credential** | Returns live access material (bearer token) | **Never auto-run** — only on explicit user request; write to a file, report the path | `get_supervisor_kubeconfig`, `get_tkc_kubeconfig` |
| **L3** | Single write — user must approve | Only after explicit confirmation; destructive ops require double-confirm + `--dry-run` | `create_namespace`, `update_namespace`, `delete_namespace`, `create_tkc_cluster`, `upgrade_tkc_cluster`, `scale_tkc_cluster`, `delete_tkc_cluster` |
| **L4** | Multi-step plan / apply workflow | Plan generation auto; apply gated by user approval | *(roadmap — TKC fleet upgrades, multi-namespace bootstrapping plans)* |
| **L5** | Auto-remediation from learned pattern | Pattern library only; requires `risk:low` + `reversible:true` + `repeatable:true` | *(roadmap — candidates: stuck TKC reconciliation, namespace quota bumps)* |

**Notes**:
- L1/L2 tools are always safe for agents to call without confirmation. Credential tools are not: they are annotated `readOnlyHint: false`, so an MCP client asks before running them.
- L3 tools always pass through the `@vmware_tool` decorator: connection check → policy check → audit log → double-confirm.
- Kubeconfig retrieval is credential access. The kubeconfig embeds a Supervisor bearer token (JWT from `/wcp/login`) that acts as the configured vCenter account until it expires — typically hours, not tied to the vmware-vks process. Both tools are `readOnlyHint: false`, `risk_level: medium`, and `sensitive_result=True` (the audit row records the call; the returned kubeconfig is redacted). Always pass `output_path` (MCP) / `-o <path>` (CLI): the file is created owner-only (0600), including when it replaces an existing file, and a symlink target is refused. `output_path` truncates the named file, so `~/.kube/config` would be replaced.

## 1. Supervisor Layer (Read-Only)

| Tool | What it returns |
|------|----------------|
| `check_vks_compatibility` | vCenter version (pass/fail for 8.x+), WCP enabled status, network backend type |
| `get_supervisor_status` | Cluster ID, config status, Kubernetes status, API endpoint URL, network provider, and `kubernetes_version` (read from the `software/clusters` endpoint; null with a `kubernetes_version_hint` if that call fails) |
| `list_supervisor_storage_policies` | List envelope; `items

references/cli-reference.md

# CLI Reference

Full command reference for `vmware-vks` CLI.

All commands accept an optional `--target <name>` parameter to specify a named vCenter from your config.

## Pre-flight Check

```bash
vmware-vks check   # or: vmware-vks doctor — same checks, both names
```

Verifies connectivity, credentials, and WCP status for all configured vCenters (or a specific target).

## Supervisor

```bash
# Get Supervisor cluster status (ID, API endpoint, K8s version, state)
vmware-vks supervisor status <cluster-id> [--target <name>]

# List vCenter storage policies (Policy ID / Name / Description).
# Pass the Policy ID — not the display name — when creating a Namespace or TKC.
vmware-vks supervisor storage-policies [--target <name>]
```

## Namespace

```bash
# List all vSphere Namespaces
vmware-vks namespace list [--target <name>]

# Get Namespace detail (quotas, storage bindings, role bindings)
vmware-vks namespace get <name> [--target <name>]

# Create Namespace with resource quotas and storage policy
# Defaults to dry-run (shows plan). Pass --apply to execute.
vmware-vks namespace create <name> --cluster <id> \
  [--cpu <mhz>] [--memory <mb>] \
  [--storage-policy <name>] [--apply]

# Update Namespace CPU/memory quotas
vmware-vks namespace update <name> \
  [--cpu <mhz>] [--memory <mb>] [--target <name>]

# Delete Namespace (rejects if TKC clusters exist inside)
vmware-vks namespace delete <name> [--target <name>]

# List available VM classes for TKC nodes (ID / CPU / Memory (MB) / GPU)
vmware-vks namespace vm-classes [--target <name>]
```

## TKC (TanzuKubernetesCluster)

```bash
# List TKC clusters (all namespaces or specific)
vmware-vks tkc list [-n <namespace>] [--target <name>]

# Get TKC cluster detail (nodes, versions, health conditions)
vmware-vks tkc get <cluster-name> -n <namespace> [--target <name>]

# List available K8s versions for a namespace
vmware-vks tkc versions -n <namespace> [--target <name>]

# Create TKC cluster (defaults to dry-run, pass --apply to execute)
vmware-vks tkc create <cluster-name> -n <namespace> \
  [--version <k8s-ver>] \
  [--control-plane <n>] [--workers <n>] \
  [--vm-class <name>] [--storage-policy <name>] \
  [--apply]

# Scale worker node count
vmware-vks tkc scale <cluster-name> -n <namespace> \
  --workers <n> [--target <name>]

# Upgrade TKC cluster to a newer K8s version
vmware-vks tkc upgrade <cluster-name> -n <namespace> \
  --version <k8s-ver> [--target <name>]

# Delete TKC cluster (rejects if workloads running, use --force to override)
vmware-vks tkc delete <cluster-name> -n <namespace> \
  [--skip-workload-check] [--target <name>]
# Asks you to type the cluster name back before it deletes. No bypass flag;
# --skip-workload-check only skips the running-workload guard.
```

## Kubeconfig

```bash
# Get Supervisor-level kubeconfig (stdout, or -o to write a file)
vmware-vks kubeconfig supervisor -n <namespace> [-o <output-path>] [--target <name>]

# Get TKC cluster kubeconfig (stdout, or -o to write a f
Github ReposUpdated 5h agoRank 70

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!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

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

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

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/vmware-vks",
      "sourceUrl": "https://clawhub.ai/zw008/skills/vmware-vks",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T04:14:22.565Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-vmware-vks/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-vmware-vks/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-09T04:14:22.565Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "5.2K downloads",
      "href": "https://clawhub.ai/zw008/vmware-vks",
      "sourceUrl": "https://clawhub.ai/zw008/vmware-vks",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T04:14:22.565Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.12.0",
      "href": "https://clawhub.ai/zw008/vmware-vks",
      "sourceUrl": "https://clawhub.ai/zw008/vmware-vks",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-20T14:52:58.167Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-vmware-vks/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-vmware-vks/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.12.0",
      "description": "MCP instructions now name the configured targets and how to choose one; a config that cannot be read says so instead of falling silent.",
      "href": "https://clawhub.ai/zw008/vmware-vks",
      "sourceUrl": "https://clawhub.ai/zw008/vmware-vks",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-20T14:52:58.167Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to vmware-vks and adjacent AI workflows.