Agent Skills: Generating Helm Charts

|

UncategorizedID: jeremylongshore/claude-code-plugins-plus-skills/generating-helm-charts

Install this agent skill to your local

pnpm dlx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/HEAD/plugins/devops/helm-chart-generator/skills/generating-helm-charts

Skill Files

Browse the full folder contents for generating-helm-charts.

Download Skill

Loading file tree…

plugins/devops/helm-chart-generator/skills/generating-helm-charts/SKILL.md

Skill Metadata

Name
generating-helm-charts
Description
|

Generating Helm Charts

Overview

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

  1. Analyze the application: identify container images, ports, environment variables, volumes, and dependencies
  2. Scaffold the chart structure: Chart.yaml, values.yaml, templates/, charts/, .helmignore
  3. Create Chart.yaml with apiVersion: v2, name, version, appVersion, and dependency declarations
  4. Define values.yaml with sensible production defaults: replica count, image config, resource limits, ingress settings
  5. Build templates using Go template syntax with proper .Values references and _helpers.tpl for reusable named templates
  6. Add health checks: livenessProbe and readinessProbe in the deployment template with configurable paths and thresholds
  7. Configure security context: runAsNonRoot: true, readOnlyRootFilesystem: true, and drop all capabilities
  8. Create environment-specific values files: values-dev.yaml, values-staging.yaml, values-prod.yaml
  9. Add NOTES.txt with post-install instructions showing how to access the application
  10. Validate with helm lint . and test rendering with helm template . --values values-prod.yaml

Output

  • Complete Helm chart directory structure
  • Chart.yaml with metadata and dependencies
  • values.yaml with documented, configurable defaults
  • Template files: deployment.yaml, service.yaml, ingress.yaml, configmap.yaml, serviceaccount.yaml, hpa.yaml
  • _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."

Resources

  • Helm documentation: https://helm.sh/docs/
  • Chart best practices: https://helm.sh/docs/chart_best_practices/
  • Template function reference: https://helm.sh/docs/chart_template_guide/function_list/
  • Artifact Hub (chart discovery): https://artifacthub.io/