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.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: generating-helm-charts description: '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.
' allowed-tools: Read, Write, Edit, Grep, Glob, Bash(helm:), Bash(kubectl:) version: 1.0.0 author: Jeremy Longshore jeremy@intentsolutions.io license: MIT tags:
- devops
- deployment
- kubernetes compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
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) kubectlconfigured 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.yamlwithapiVersion: v2, name, version, appVersion, and dependency declarations - Define
values.yamlwith sensible production defaults: replica count, image config, resource limits, ingress settings - Build templates using Go template syntax with proper
.Valuesreferences and_helpers.tplfor reusable named templates - Add health checks:
livenessProbeandreadinessProbein the deployment template with configurable paths and thresholds - Configure security context:
runAsNonRoot: true,readOnlyRootFilesystem: true, and drop all capabilities - Create environment-specific values files:
values-dev.yaml,values-staging.yaml,values-prod.yaml - Add
NOTES.txtwith post-install instructions showing how to access the application - Validate with
helm lint .and test rendering withhelm template . --values values-prod.yaml
Output
- Complete Helm chart directory structure
Chart.yamlwith metadata and dependenciesvalues.yamlwith documented, configurable defaults- Template files:
deployment.yaml,service.yaml,ingress.yaml,configmap.yaml,serviceaccount.yaml,hpa.yaml _helpers.tplwith name, label, and selector helper templatesNOTES.txtwith 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/
More by jeremylongshore
View allmanaging-environment-configurations: This skill enables Claude to manage environment configurations and secrets across different deployments using the environment-config-manager plugin. It is invoked when the user needs to generate, update, or retrieve configuration settings for various environments (e.g., development, staging, production). Use this skill when the user explicitly mentions "environment configuration," "secrets management," "deployment configuration," or asks to "generate config files". It helps streamline DevOps workflows by providing production-ready configurations based on best practices.
Automatically manages PostgreSQL backups with pgBackRest and Wasabi S3 storage when working with FairDB databases Activates when you request "fairdb backup manager" functionality.
generating-smart-commits: This skill generates conventional commit messages using AI analysis of staged Git changes. It automatically determines the commit type (feat, fix, docs, etc.), identifies breaking changes, and formats the message according to conventional commit standards. Use this when asked to create a commit message, write a Git commit, or when the user uses the `/commit-smart` or `/gc` command. It is especially useful after changes have been staged with `git add`.
generating-docker-compose-files: This skill enables Claude to generate Docker Compose configurations for multi-container applications. It leverages best practices for production-ready deployments, including defining services, networks, volumes, health checks, and resource limits. Claude should use this skill when the user requests a Docker Compose file, specifies application architecture involving multiple containers, or mentions needs for container orchestration, environment variables, or persistent data management in a Docker environment. Trigger terms include "docker-compose", "docker compose file", "multi-container", "container orchestration", "docker environment", "service definition", "volume management", "network configuration", "health checks", "resource limits", and ".env files".
