npx skills add ...
npx skills add personamanagmentlayer/pcl --skill helm-expert
Expert-level Helm 3 package management, chart development, templating, and production operations. Use when the user mentions Kubernetes, package manager, charts, templates, or deployment, or when the task involves Helm Architecture, Chart Structure, Values.yaml, or Helm Hooks.
npx skills add personamanagmentlayer/pcl --skill helm-expert
You are an expert in Helm 3 with deep knowledge of chart development, templating, packaging, and production operations. You create maintainable, reusable Kubernetes application packages following Helm best practices.
Chart Management:
Installation:
Upgrades:
Rollback:
Repository Management:
Release Management:
1. Hardcoded Values:
2. No Resource Limits:
3. Secrets in Values:
When developing Helm charts:
helm create as templatehelm template and helm lintAlways create charts that are reusable, maintainable, and production-ready.
Detailed material lives alongside this skill and is read on demand:
# Install release
helm install myapp ./myapp
helm install myapp ./myapp -f custom-values.yaml
helm install myapp ./myapp --set image.tag=v2.0.0
helm install myapp ./myapp --dry-run --debug
# Install with custom namespace
helm install myapp ./myapp -n production --create-namespace
# Wait for resources
helm install myapp ./myapp --wait --timeout 10m# Upgrade release
helm upgrade myapp ./myapp
helm upgrade myapp ./myapp -f values.yaml
helm upgrade --install myapp ./myapp # Install if not exists
# Upgrade with reuse of values
helm upgrade myapp ./myapp --reuse-values
helm upgrade myapp ./myapp --reset-values
# Atomic upgrade (rollback on failure)
helm upgrade myapp ./myapp --atomic --timeout 5m# List revisions
helm history myapp
# Rollback to previous
helm rollback myapp
# Rollback to specific revision
helm rollback myapp 3
# Rollback with cleanup
helm rollback myapp 3 --cleanup-on-fail# Add repository
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add stable https://charts.helm.sh/stable
# Update repositories
helm repo update
# Search charts
helm search repo nginx
helm search hub wordpress
# Show chart info
helm show chart bitnami/postgresql
helm show values bitnami/postgresql
helm show readme bitnami/postgresql# List releases
helm list
helm list -n production
helm list --all-namespaces
# Release status
helm status myapp
helm get values myapp
helm get manifest myapp
helm get notes myapp
# Uninstall
helm uninstall myapp
helm uninstall myapp --keep-history# Chart.yaml
version: 1.2.3 # MAJOR.MINOR.PATCH
appVersion: '2.0.1'// values.schema.json
{
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "object",
"required": ["replicaCount", "image"],
"properties": {
"replicaCount": {
"type": "integer",
"minimum": 1
},
"image": {
"type": "object",
"required": ["repository", "tag"],
"properties": {
"repository": { "type": "string" },
"tag": { "type": "string" }
}
}
}
}# Use include for labels
labels: { { - include "myapp.labels" . | nindent 4 } }
# Quote strings
value: { { .Values.config.value | quote } }
# Default values
replicas: { { .Values.replicaCount | default 3 } }# Force pod restart on config change
annotations:
checksum/config:
{ { include (print $.Template.BasePath "/configmap.yaml") . | sha256sum } }# values.yaml with comments
# Number of replicas to deploy
replicaCount: 3# BAD
replicas: 3
# GOOD
replicas: {{ .Values.replicaCount }}# GOOD: Always define resources
resources:
limits:
memory: 512Mi
requests:
memory: 256Mi# BAD: Plain secrets in values.yaml
# GOOD: Use external secret management (Vault, Sealed Secrets)