kubectl
Files
SKILL.mdagentsreferences
Install
Install the containing plugin
/plugin install ci-cd@llm-skills
Invoke this skill after installation
/ci-cd:kubectl
This skill is bundled inside ci-cd. Install the plugin once, then Claude Code can use any of its included skills. Browse the full plugin repository at github.com/alisonaquinas/llm-ci-dev.
SKILL.md
name: kubectl description: Manage Kubernetes resources, contexts, and workloads with kubectl. Use when tasks mention kubectl, Kubernetes resources, kubeconfig, kubectl apply, kubectl get pods, Kubernetes contexts, or KUBECONFIG.
kubectl
Use this skill to keep Kubernetes resource management deterministic and safe across clusters and namespaces.
Intent Router
| Request | Reference | Load When |
|---|---|---|
| Install, kubeconfig setup, contexts, env vars | references/install-and-setup.md | User needs to install kubectl or configure KUBECONFIG/contexts |
| Core commands: get/describe/apply/delete/logs/exec | references/command-cookbook.md | User needs daily kubectl operations |
| Resources, labels, namespaces, explain | references/resource-management.md | User asks about resource types, labels, selectors, or declarative workflows |
| Pod crashes, ImagePull errors, events, debug | references/troubleshooting.md | User encounters CrashLoopBackOff, OOMKilled, or needs cluster diagnostics |
Quick Start
# Verify connectivity
kubectl cluster-info
kubectl get nodes
# Confirm active context and namespace
kubectl config current-context
kubectl config view --minify
# List pods in all namespaces
kubectl get pods -A
# Apply a manifest
kubectl apply -f deployment.yaml --dry-run=client
kubectl apply -f deployment.yaml
Core Command Tracks
- Read state:
kubectl get/describe <resource>— inspect current cluster state - Apply changes:
kubectl apply -f— declarative reconciliation - Logs:
kubectl logs <pod> [-c <container>] [-f] [--previous] - Shell:
kubectl exec -it <pod> -- bash - Port forward:
kubectl port-forward <pod> 8080:80 - Rollout:
kubectl rollout status/history/undo deployment/<name> - Scale:
kubectl scale deployment/<name> --replicas=3 - Output formats:
-o wide,-o json,-o yaml,-o jsonpath
Safety Guardrails
- Always confirm active context (
kubectl config current-context) before applying changes to prevent applying to the wrong cluster. - Always specify namespace explicitly with
-n <namespace>for production operations; never rely on default namespace alone. - Use
--dry-run=client -o yamlto preview resources before applying. - Use
kubectl diff -f <file>to see what will change before applying. - Confirm before running
kubectl delete— especially with label selectors (-l) which can match many resources. - Never run
kubectl delete namespace <name>without explicit user confirmation; it deletes all resources in the namespace. - Prefer
kubectl rollout undoover direct manifest rewrites for reverting deployments.
# Troubleshoot a crashing pod: check recent events then inspect previous container logs
kubectl get events --sort-by=.lastTimestamp -n my-namespace
kubectl logs my-pod --previous -n my-namespace
Workflow
- Confirm context:
kubectl config current-contextandkubectl config get-contexts. - Inspect current state with
kubectl getandkubectl describebefore making changes. - Preview changes with
kubectl diff -f <file>or--dry-run=client. - Apply changes with
kubectl apply -f <file>. - Monitor rollout with
kubectl rollout status deployment/<name>. - On failure, check events with
kubectl get events --sort-by=.lastTimestamp.
Related Skills
- helm — package manager for Kubernetes applications
- kustomize — overlay-based Kubernetes manifest customization
- docker — container image building for Kubernetes workloads
References
references/install-and-setup.mdreferences/command-cookbook.mdreferences/resource-management.mdreferences/troubleshooting.md- Official docs: https://kubernetes.io/docs/reference/kubectl/
- Command reference: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands