This skill should be used when the user asks to "analyze Helm charts", "validate Helm values", "review chart structure", "check Kubernetes Helm templates", or "audit chart dependencies and configuration".
Scanned 5/27/2026
Install via CLI
openskills install borghei/Claude-Skills---
name: helm-chart-builder
description: >
This skill should be used when the user asks to "analyze Helm charts",
"validate Helm values", "review chart structure", "check Kubernetes Helm
templates", or "audit chart dependencies and configuration".
license: MIT + Commons Clause
metadata:
version: 1.0.0
author: borghei
category: engineering
domain: kubernetes
updated: 2026-04-02
tags: [helm, kubernetes, k8s, charts, devops]
---
# Helm Chart Builder
> **Category:** Engineering
> **Domain:** Kubernetes & Helm
## Overview
The **Helm Chart Builder** skill provides automated analysis of Helm charts including structure validation, values checking, template inspection, and dependency review. It helps teams maintain high-quality charts with correct configurations, proper security contexts, and complete documentation.
## Quick Start
```bash
# Analyze chart structure and quality
python scripts/chart_analyzer.py --path ./charts/my-app
# Validate values.yaml against chart requirements
python scripts/values_validator.py --chart ./charts/my-app --values values-prod.yaml
# JSON output for CI
python scripts/chart_analyzer.py --path ./charts/my-app --format json
# Validate multiple values files
python scripts/values_validator.py --chart ./charts/my-app --values values-dev.yaml values-prod.yaml
```
## Tools Overview
### chart_analyzer.py
Analyzes Helm chart structure, metadata, templates, and dependencies.
| Feature | Description |
|---------|-------------|
| Structure validation | Checks required files exist (Chart.yaml, values.yaml, templates/) |
| Metadata check | Validates Chart.yaml fields, version format, appVersion |
| Template review | Inspects templates for common patterns and issues |
| Dependency analysis | Reviews subchart dependencies and version constraints |
| Documentation check | Verifies NOTES.txt and README presence |
### values_validator.py
Validates values files against chart expectations and Kubernetes best practices.
| Feature | Description |
|---------|-------------|
| Resource limits | Checks for CPU/memory requests and limits |
| Security context | Validates runAsNonRoot, readOnlyRootFilesystem |
| Replica count | Checks for production-appropriate replica counts |
| Image tags | Flags use of latest or missing image tags |
| Ingress config | Validates ingress annotations and TLS settings |
## Workflows
### Chart Review Workflow
1. **Analyze structure** - Run chart_analyzer.py to check chart organization
2. **Validate defaults** - Run values_validator.py against default values.yaml
3. **Check environments** - Validate each environment's values file
4. **Review findings** - Address critical issues first, then warnings
5. **Re-check** - Confirm fixes pass validation
### Pre-Release Workflow
1. **Bump version** - Update Chart.yaml version and appVersion
2. **Lint chart** - Run chart_analyzer.py in strict mode
3. **Validate all values** - Check every environment's values file
4. **Check dependencies** - Ensure subchart versions are pinned
5. **Package** - Chart is ready for helm package
### CI Integration
```bash
# Structure check
python scripts/chart_analyzer.py --path ./charts/my-app --format json --strict
# Values validation for all environments
for env in dev staging production; do
python scripts/values_validator.py \
--chart ./charts/my-app \
--values "values-${env}.yaml"
done
```
## Reference Documentation
- [Helm Best Practices](references/helm-best-practices.md) - Chart structure, templates, security, dependencies
## Common Patterns Quick Reference
### Required Chart Structure
```
my-chart/
Chart.yaml # Required: chart metadata
values.yaml # Required: default values
templates/ # Required: template directory
deployment.yaml
service.yaml
_helpers.tpl # Recommended: template helpers
NOTES.txt # Recommended: post-install notes
charts/ # Optional: subchart dependencies
```
### Values Best Practices
| Setting | Requirement | Why |
|---------|------------|-----|
| resources.limits | Required | Prevents resource exhaustion |
| resources.requests | Required | Enables proper scheduling |
| securityContext.runAsNonRoot | Required | Security baseline |
| image.tag | Required (not latest) | Reproducible deployments |
| replicaCount >= 2 | Recommended for prod | High availability |
| ingress.tls | Recommended | Encrypted traffic |
### Chart.yaml Required Fields
| Field | Description |
|-------|-------------|
| apiVersion | v2 for Helm 3 |
| name | Chart name (lowercase) |
| version | SemVer chart version |
| appVersion | Application version |
| description | Brief chart description |
### Common Issues
| Issue | Severity | Fix |
|-------|----------|-----|
| Missing Chart.yaml | Critical | Add required chart metadata |
| No resource limits | Warning | Set CPU/memory limits |
| Latest image tag | Warning | Pin specific version |
| No security context | Warning | Add runAsNonRoot: true |
| Missing NOTES.txt | Info | Add post-install notes |
| Unpinned dependencies | Warning | Pin subchart versions |
No comments yet. Be the first to comment!