Claude-Skills helm-chart-builder

install
source · Clone the upstream repo
git clone https://github.com/borghei/Claude-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/borghei/Claude-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/engineering/helm-chart-builder" ~/.claude/skills/borghei-claude-skills-helm-chart-builder && rm -rf "$T"
manifest: engineering/helm-chart-builder/SKILL.md
source content

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

# 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.

FeatureDescription
Structure validationChecks required files exist (Chart.yaml, values.yaml, templates/)
Metadata checkValidates Chart.yaml fields, version format, appVersion
Template reviewInspects templates for common patterns and issues
Dependency analysisReviews subchart dependencies and version constraints
Documentation checkVerifies NOTES.txt and README presence

values_validator.py

Validates values files against chart expectations and Kubernetes best practices.

FeatureDescription
Resource limitsChecks for CPU/memory requests and limits
Security contextValidates runAsNonRoot, readOnlyRootFilesystem
Replica countChecks for production-appropriate replica counts
Image tagsFlags use of latest or missing image tags
Ingress configValidates 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

# 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

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

SettingRequirementWhy
resources.limitsRequiredPrevents resource exhaustion
resources.requestsRequiredEnables proper scheduling
securityContext.runAsNonRootRequiredSecurity baseline
image.tagRequired (not latest)Reproducible deployments
replicaCount >= 2Recommended for prodHigh availability
ingress.tlsRecommendedEncrypted traffic

Chart.yaml Required Fields

FieldDescription
apiVersionv2 for Helm 3
nameChart name (lowercase)
versionSemVer chart version
appVersionApplication version
descriptionBrief chart description

Common Issues

IssueSeverityFix
Missing Chart.yamlCriticalAdd required chart metadata
No resource limitsWarningSet CPU/memory limits
Latest image tagWarningPin specific version
No security contextWarningAdd runAsNonRoot: true
Missing NOTES.txtInfoAdd post-install notes
Unpinned dependenciesWarningPin subchart versions