mcpbeat

Helm Chart Builder

borghei/helm-chart-builder

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

11k tokens
context cost
the whole folder, loaded on every use
6
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
447
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/borghei/Claude-Skills --skill helm-chart-builder

What comes with it

39 294 bytes besides the instruction
examples/Chart.yaml
examples/values.yaml
references/helm-best-practices.md
scripts/chart_analyzer.py
scripts/values_validator.py

The instruction itself

17 sections, as written by the author

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.

Clarify First

Before analyzing the chart, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • [ ] Chart path — which chart directory to analyze (sets --path/--chart)
  • [ ] Values files — which environment values files to validate (sets --values and what gets checked against best practices)
  • [ ] Strictness — strict/lint mode and JSON for CI (sets --strict --format json and whether findings gate the pipeline)

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.

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.

| 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

  • Analyze structure - Run chart_analyzer.py to check chart organization
  • Validate defaults - Run values_validator.py against default values.yaml
  • Check environments - Validate each environment's values file
  • Review findings - Address critical issues first, then warnings
  • Re-check - Confirm fixes pass validation

Pre-Release Workflow

  • Bump version - Update Chart.yaml version and appVersion
  • Lint chart - Run chart_analyzer.py in strict mode
  • Validate all values - Check every environment's values file
  • Check dependencies - Ensure subchart versions are pinned
  • 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

  • Helm Best Practices - 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 |

How to use it

Copy the folder

Take borghei/helm-chart-builder from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.