Kubernetes Skills

Cluster API lifecycle management for provisioning, scaling, and upgrading Kubernetes clusters. Use when managing cluster infrastructure or multi-cluster operations.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 1.8k · 3 current installs · 3 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description (Cluster API lifecycle management) align with the SKILL.md which documents capi_* tool calls and kubectl_apply-based workflows for provisioning, scaling, and upgrading clusters.
Instruction Scope
Instructions are narrowly focused on Cluster API operations (listing clusters/machines, getting kubeconfigs, applying manifests). However, they include potentially destructive actions (kubectl_apply) and vague steps like 'Check infrastructure provider logs' that don't specify how to access provider credentials or logs. The skill assumes availability of capi_* tools and appropriate kubeconfig/permissions but doesn't state safeguards (e.g., confirmation before apply).
Install Mechanism
No install spec or code files are present (instruction-only), which minimizes installer risk. The SKILL.md assumes preexisting platform-provided tools rather than installing anything itself.
Credentials
The skill declares no required environment variables or credentials. Example manifests reference AWS provider kinds (AWSCluster, AWSMachineTemplate), which in practice often require cloud credentials somewhere (controller secrets or host config). The absence of any declared credential requirements is explainable but should be confirmed with the platform: who holds the cloud creds and kubeconfigs the skill will use?
!
Persistence & Privilege
No flags are set to prevent autonomous invocation (disableModelInvocation not set). That means the model could call capi_* tools or kubectl_apply automatically, potentially making changes to clusters. For a skill that can apply manifests and manage infrastructure, allowing autonomous invocation is a notable risk and should be explicitly controlled.
What to consider before installing
This skill appears to do what it says (manage Cluster API resources) but there are a few things to check before installing: 1) Confirm the platform supplies the capi_* and kubectl_apply tools and understand which kubeconfig or credentials those tools will use. 2) Ensure cloud provider credentials (if any) are stored and scoped appropriately — the skill itself doesn't declare needing them. 3) Consider disabling autonomous model invocation or requiring explicit user confirmation for any kubectl_apply actions, since the skill can perform destructive changes. 4) Test the skill in a non-production/staging environment first and only enable it if you trust its source and the execution safeguards.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97cssx0myrbmdqe3nb20p8vj17zyndp

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Cluster API Lifecycle Management

Manage Kubernetes clusters using kubectl-mcp-server's Cluster API tools (11 tools).

Check Installation

capi_detect_tool()

List Clusters

# List all CAPI clusters
capi_clusters_list_tool(namespace="default")

# Shows:
# - Cluster name
# - Phase (Provisioning, Provisioned, Deleting)
# - Infrastructure ready
# - Control plane ready

Get Cluster Details

capi_cluster_get_tool(name="my-cluster", namespace="default")

# Shows:
# - Spec (control plane, infrastructure)
# - Status (phase, conditions)
# - Network configuration

Get Cluster Kubeconfig

# Get kubeconfig for workload cluster
capi_cluster_kubeconfig_tool(name="my-cluster", namespace="default")

# Returns kubeconfig to access the cluster

Machines

List Machines

capi_machines_list_tool(namespace="default")

# Shows:
# - Machine name
# - Cluster
# - Phase (Running, Provisioning, Failed)
# - Provider ID
# - Version

Get Machine Details

capi_machine_get_tool(name="my-cluster-md-0-xxx", namespace="default")

Machine Deployments

List Machine Deployments

capi_machinedeployments_list_tool(namespace="default")

# Shows:
# - Deployment name
# - Cluster
# - Replicas (ready/total)
# - Version

Scale Machine Deployment

# Scale worker nodes
capi_machinedeployment_scale_tool(
    name="my-cluster-md-0",
    namespace="default",
    replicas=5
)

Machine Sets

capi_machinesets_list_tool(namespace="default")

Machine Health Checks

capi_machinehealthchecks_list_tool(namespace="default")

# Health checks automatically remediate unhealthy machines

Cluster Classes

# List cluster templates
capi_clusterclasses_list_tool(namespace="default")

# ClusterClasses define reusable cluster configurations

Create Cluster

kubectl_apply(manifest="""
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
  name: my-cluster
  namespace: default
spec:
  clusterNetwork:
    pods:
      cidrBlocks:
      - 192.168.0.0/16
    services:
      cidrBlocks:
      - 10.96.0.0/12
  controlPlaneRef:
    apiVersion: controlplane.cluster.x-k8s.io/v1beta1
    kind: KubeadmControlPlane
    name: my-cluster-control-plane
  infrastructureRef:
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: AWSCluster
    name: my-cluster
""")

Create Machine Deployment

kubectl_apply(manifest="""
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineDeployment
metadata:
  name: my-cluster-md-0
  namespace: default
spec:
  clusterName: my-cluster
  replicas: 3
  selector:
    matchLabels:
      cluster.x-k8s.io/cluster-name: my-cluster
  template:
    spec:
      clusterName: my-cluster
      version: v1.28.0
      bootstrap:
        configRef:
          apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
          kind: KubeadmConfigTemplate
          name: my-cluster-md-0
      infrastructureRef:
        apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
        kind: AWSMachineTemplate
        name: my-cluster-md-0
""")

Cluster Lifecycle Workflows

Provision New Cluster

1. kubectl_apply(cluster_manifest)
2. capi_clusters_list_tool(namespace)  # Wait for Provisioned
3. capi_cluster_kubeconfig_tool(name, namespace)  # Get access

Scale Workers

1. capi_machinedeployments_list_tool(namespace)
2. capi_machinedeployment_scale_tool(name, namespace, replicas)
3. capi_machines_list_tool(namespace)  # Monitor

Upgrade Cluster

1. # Update control plane version
2. # Update machine deployment version
3. capi_machines_list_tool(namespace)  # Monitor rollout

Troubleshooting

Cluster Stuck Provisioning

1. capi_cluster_get_tool(name, namespace)  # Check conditions
2. capi_machines_list_tool(namespace)  # Check machine status
3. get_events(namespace)  # Check events
4. # Check infrastructure provider logs

Machine Failed

1. capi_machine_get_tool(name, namespace)
2. get_events(namespace)
3. # Common issues:
   # - Cloud provider quota
   # - Invalid machine template
   # - Network issues

Related Skills

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…