
Helm Chart Scaffolding
Package a Kubernetes app as a reusable Helm chart with values, helpers, and multi-environment defaults before you ship or hand off ops.
Install
npx skills add https://github.com/wshobson/agents --skill helm-chart-scaffoldingWhat is this skill?
- Step-by-step production-ready Helm chart structure and organization
- Templating patterns, values.yaml documentation, and template helpers for DRY manifests
- Multi-environment values management and optional resources via conditions
- Chart validation before packaging and semantic versioning for chart vs app version
- Eight documented best practices including naming conventions and pinned dependencies
Adoption & trust: 7.5k installs on skills.sh; 36.5k GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Helm is the canonical packaging layer for running workloads on Kubernetes—solo builders land here when moving from manifests to repeatable, versioned deploy artifacts. Chart scaffolding, dependency pinning, and repository setup are infrastructure deliverables, not feature coding.
Common Questions / FAQ
Is Helm Chart Scaffolding safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Helm Chart Scaffolding
# Helm Chart Scaffolding Comprehensive guidance for creating, organizing, and managing Helm charts for packaging and deploying Kubernetes applications. ## Purpose This skill provides step-by-step instructions for building production-ready Helm charts, including chart structure, templating patterns, values management, and validation strategies. ## When to Use This Skill Use this skill when you need to: - Create new Helm charts from scratch - Package Kubernetes applications for distribution - Manage multi-environment deployments with Helm - Implement templating for reusable Kubernetes manifests - Set up Helm chart repositories - Follow Helm best practices and conventions ## Detailed patterns and worked examples Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient. ## Best Practices 1. **Use semantic versioning** for chart and app versions 2. **Document all values** in values.yaml with comments 3. **Use template helpers** for repeated logic 4. **Validate charts** before packaging 5. **Pin dependency versions** explicitly 6. **Use conditions** for optional resources 7. **Follow naming conventions** (lowercase, hyphens) 8. **Include NOTES.txt** with usage instructions 9. **Add labels** consistently using helpers 10. **Test installations** in all environments ## Troubleshooting **Template rendering errors:** ```bash helm template my-app ./my-app --debug ``` **Dependency issues:** ```bash helm dependency update helm dependency list ``` **Installation failures:** ```bash helm install my-app ./my-app --dry-run --debug kubectl get events --sort-by='.lastTimestamp' ``` ## Related Skills - `k8s-manifest-generator` - For creating base Kubernetes manifests - `gitops-workflow` - For automated Helm chart deployments apiVersion: v2 name: <chart-name> description: <Chart description> type: application version: 0.1.0 appVersion: "1.0.0" keywords: - <keyword1> - <keyword2> home: https://github.com/<org>/<repo> sources: - https://github.com/<org>/<repo> maintainers: - name: <Maintainer Name> email: <maintainer@example.com> url: https://github.com/<username> icon: https://example.com/icon.png kubeVersion: ">=1.24.0" dependencies: - name: postgresql version: "12.0.0" repository: "https://charts.bitnami.com/bitnami" condition: postgresql.enabled tags: - database - name: redis version: "17.0.0" repository: "https://charts.bitnami.com/bitnami" condition: redis.enabled tags: - cache annotations: category: Application licenses: Apache-2.0 # Helm Chart Structure Reference Complete guide to Helm chart organization, file conventions, and best practices. ## Standard Chart Directory Structure ``` my-app/ ├── Chart.yaml # Chart metadata (required) ├── Chart.lock # Dependency lock file (generated) ├── values.yaml # Default configuration values (required) ├── values.schema.json # JSON schema for values validation ├── .helmignore # Patterns to ignore when packaging ├── README.md # Chart documentation ├── LICENSE # Chart license ├── charts/ # Chart dependencies (bundled) │ └── postgresql-12.0.0.tgz ├── crds/ # Custom Resource Definitions │ └── my-crd.yaml ├── templates/ # Kubernetes manifest templates (required) │ ├── NOTES.txt # Post-install instructions │ ├── _helpers.tpl # Template helper functions │ ├── deployment.yaml │ ├── service.yaml │ ├── ingress.yaml │ ├── configmap.yaml │ ├── secret.yaml │ ├── serviceaccount.yaml │ ├── hpa.yaml │ ├── pdb