.claude/skills/kubernetes-deployer/SKILL.md
Package and deploy applications to Kubernetes with Dockerfiles, Helm charts, and local Minikube deployment. Use when containerizing applications, creating Kubernetes manifests, setting up Helm charts, deploying to Minikube, or preparing cloud-ready configurations. Focuses on local-first deployment with stateless services.
npx skillsauth add Asmayaseen/hackathon-2 kubernetes-deployerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Deploy applications to Kubernetes with production-ready configurations, starting locally with Minikube.
1. Dockerfile → Containerize application
2. Helm Chart → Package Kubernetes manifests
3. Local Deploy → Test in Minikube
4. Cloud Ready → Configure for production
# Python example (see references for other languages)
FROM python:3.11-slim AS builder
WORKDIR /build
COPY pyproject.toml ./
RUN pip install --no-cache-dir .
FROM python:3.11-slim
WORKDIR /app
RUN useradd -m -u 1000 appuser
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY app ./app
USER appuser
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
Copy assets/helm-template/ to charts/<app-name>/ and customize:
cp -r assets/helm-template charts/myapp
# Edit Chart.yaml: name, description
# Edit values.yaml: image, ports, resources
# Start Minikube
minikube start
# Build image in Minikube's Docker
eval $(minikube docker-env)
docker build -t myapp:local .
# Deploy with Helm
helm upgrade --install myapp ./charts/myapp \
--set image.repository=myapp \
--set image.tag=local \
--set image.pullPolicy=Never
# Access service
kubectl port-forward svc/myapp 8080:80
charts/<app-name>/
├── Chart.yaml # Metadata
├── values.yaml # Default config
└── templates/
├── _helpers.tpl # Template functions
├── deployment.yaml
├── service.yaml
├── ingress.yaml # Optional
└── hpa.yaml # Optional
# values.yaml
env:
- name: DATABASE_URL
value: "postgresql://..."
- name: LOG_LEVEL
value: "info"
# From secrets
envFrom:
- secretRef:
name: app-secrets
kubectl create secret generic app-secrets \
--from-literal=DATABASE_PASSWORD=secret123 \
--from-literal=API_KEY=key456
# values.yaml
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 10
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 5
minikube start # Start cluster
minikube dashboard # Open dashboard
eval $(minikube docker-env) # Use Minikube Docker
minikube service myapp --url # Get service URL
helm lint ./charts/myapp # Validate chart
helm template myapp ./charts/myapp # Preview manifests
helm upgrade --install myapp ./charts/myapp # Deploy
helm uninstall myapp # Remove
kubectl get pods # List pods
kubectl logs <pod> # View logs
kubectl describe pod <pod> # Debug pod
kubectl port-forward svc/myapp 8080:80 # Access locally
# values-dev.yaml
replicaCount: 1
resources:
limits:
cpu: 200m
memory: 256Mi
# values-prod.yaml
replicaCount: 3
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 10
Deploy with environment:
helm upgrade --install myapp ./charts/myapp \
-f values.yaml \
-f values-prod.yaml
| Issue | Command |
|-------|---------|
| Pod not starting | kubectl describe pod <name> |
| Image not found | minikube ssh docker images |
| Service unreachable | kubectl get endpoints |
| Logs | kubectl logs <pod> -f |
development
Systematic methodology for debugging bugs, test failures, and unexpected behavior. Use when encountering any technical issue before proposing fixes. Covers root cause investigation, pattern analysis, hypothesis testing, and fix implementation. Use ESPECIALLY when under time pressure, "just one quick fix" seems obvious, or you've already tried multiple fixes. NOT for exploratory code reading.
development
Build beautiful, accessible UIs with shadcn/ui components in Next.js. Use when creating forms, dialogs, tables, sidebars, or any UI components. Covers installation, component patterns, react-hook-form + Zod validation, and dark mode setup. NOT when building non-React applications or using different component libraries.
tools
Implement real-time streaming UI patterns for AI chat applications. Use when adding response lifecycle handlers, progress indicators, client effects, or thread state synchronization. Covers onResponseStart/End, onEffect, ProgressUpdateEvent, and client tools. NOT when building basic chat without real-time feedback.
tools
Builds AI agents using OpenAI Agents SDK with async/await patterns and multi-agent orchestration. Use when creating tutoring agents, building agent handoffs, implementing tool-calling agents, or orchestrating multiple specialists. Covers Agent class, Runner patterns, function tools, guardrails, and streaming responses. NOT when using raw OpenAI API without SDK or other agent frameworks like LangChain.