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
OpenClaw
Suspicious
medium confidencePurpose & 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 ziplatest
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
- k8s-multicluster - Multi-cluster operations
- k8s-operations - kubectl operations
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
