Install
openclaw skills install @rohitg00/k8s-coreCore Kubernetes resource management for pods, namespaces, configmaps, secrets, and nodes. Use when listing, inspecting, or managing fundamental K8s objects.
openclaw skills install @rohitg00/k8s-coreManage fundamental Kubernetes objects using kubectl-mcp-server's core tools.
Requires the
diagnostics,opstoolsets: start kubectl-mcp-server with--toolsets default,diagnostics,ops(orMCP_TOOLSETS=default,diagnostics,ops).
Use this skill when:
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Check namespace exists before operations | CRITICAL | kubectl_get |
| 2 | Never expose secrets in plain text | CRITICAL | Handle kubectl_get output carefully |
| 3 | Use labels for filtering | HIGH | label_selector parameter |
| 4 | Check events after changes | MEDIUM | kubectl_get |
| Task | Tool | Example |
|---|---|---|
| List pods | kubectl_get | kubectl_get(resource_type="pods", namespace="default") |
| Describe pod | kubectl_describe | kubectl_describe(name, namespace) |
| Get logs | kubectl_logs | kubectl_logs(name, namespace) |
| List namespaces | kubectl_get | kubectl_get(resource_type="namespaces") |
| Get configmap | kubectl_get | kubectl_get(resource_type="configmaps", name, namespace) |
| List nodes | kubectl_get | kubectl_get(resource_type="nodes") |
kubectl_get(resource_type="pods", namespace="default")
kubectl_get(resource_type="pods", namespace="kube-system", label_selector="app=nginx")
kubectl_describe(resource_type="pod", name="my-pod", namespace="default")
kubectl_logs(pod_name="my-pod", namespace="default")
kubectl_logs(pod_name="my-pod", namespace="default", previous=True)
delete_resource(resource_type="pod", name="my-pod", namespace="default")
kubectl_get(resource_type="namespaces")
kubectl_create(resource_type="namespace", name="my-namespace")
delete_resource(resource_type="namespace", name="my-namespace")
kubectl_get(resource_type="configmaps", namespace="default")
kubectl_get(resource_type="configmaps", name="my-config", namespace="default")
kubectl_apply(manifest="""
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
namespace: default
data:
key: value
config.yaml: "setting: true"
""")
kubectl_get(resource_type="secrets", namespace="default")
kubectl_get(resource_type="secrets", name="my-secret", namespace="default")
kubectl_apply(manifest="""
apiVersion: v1
kind: Secret
metadata:
name: db-credentials
namespace: default
stringData:
username: <username>
password: <password>
""")
kubectl_get(resource_type="nodes")
kubectl_describe(resource_type="node", name="node-1")
get_nodes_summary()
node_management(action="cordon", node_name="node-1")
node_management(action="uncordon", node_name="node-1")
node_management(action="drain", node_name="node-1")
kubectl_get(resource_type="events", namespace="default")
kubectl_get(resource_type="events", namespace="default", field_selector="involvedObject.name=my-pod")
All tools support context parameter:
kubectl_get(resource_type="pods", namespace="default", context="production-cluster")
kubectl_get(resource_type="nodes", context="staging-cluster")