Execute use when generating Helm charts for Kubernetes applications. Trigger with phrases like "create Helm chart", "generate chart for app", "package Kubernetes deployment", or "helm template". Produces production-ready charts with Chart.yaml, values.yaml, templates, and best practices for multi-environment deployments.
Generate production-ready Helm 3 charts for Kubernetes applications with Chart.yaml, values.yaml, Go templates, and helper functions. Support multi-environment deployments with values overrides, dependency management, security contexts, health probes, and resource limits following Helm best practices.
Prerequisites
Helm 3.x installed (helm version)
kubectl configured with cluster access for testing chart installation
Container images available in a registry accessible from the cluster
Understanding of application resource requirements (CPU, memory, ports, volumes)
Chart repository access if publishing (ChartMuseum, OCI registry, or GitHub Pages)
Instructions
Analyze the application: identify container images, ports, environment variables, volumes, and dependencies
Scaffold the chart structure: Chart.yaml, values.yaml, templates/, charts/,
.helmignore
Create Chart.yaml with apiVersion: v2, name, version, appVersion, and dependency declarations
Define values.yaml with sensible production defaults: replica count, image config, resource limits, ingress settings
Build templates using Go template syntax with proper .Values references and _helpers.tpl for reusable named templates
Add health checks: livenessProbe and readinessProbe in the deployment template with configurable paths and thresholds
Configure security context: runAsNonRoot: true, readOnlyRootFilesystem: true, and drop all capabilities
_helpers.tpl with name, label, and selector helper templates
NOTES.txt with post-install access instructions
Environment-specific values override files
Error Handling
Error
Cause
Solution
Chart.yaml: version is required
Missing or malformed version field
Add a valid SemVer version string to Chart.yaml
parse error in template
Go template syntax error (missing end, wrong function)
Run helm template . to pinpoint the error; check bracket matching and function names
dependency not found
Chart dependency not downloaded
Run helm dependency update to fetch dependencies into charts/
release failed: timed out waiting for condition
Pods not reaching ready state during install
Check pod logs; verify image exists, resource limits are sufficient, and probes are correct
values override not applied
Wrong values file path or key mismatch
Verify --values file path and that keys match the structure in values.yaml exactly
Examples
"Generate a Helm chart for a Node.js API with 3 replicas, an Nginx ingress, PostgreSQL subchart dependency, and environment-specific values for dev and prod."
"Create a Helm chart for a stateful application with PersistentVolumeClaim, headless service, and configurable storage class."
"Package an existing set of Kubernetes manifests into a Helm chart with parameterized image tag, replica count, and resource limits."