helm-chart-packages

Guides authoring and reviewing Helm charts with versioning, signing, and OCI distribution rules.

Updated Apr 11, 2026
One-click install
npx skills add https://github.com/lurodrisilva/personal-skills --skill helm-chart-packages-lurodrisilva
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: helm-chart-packages
Source: https://github.com/lurodrisilva/personal-skills/tree/main/platform-engineering/helm-chart-packages
Command: npx skills add https://github.com/lurodrisilva/personal-skills --skill helm-chart-packages-lurodrisilva

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Helm charts often ship with inconsistent versioning, mutable selectors that break upgrades, plaintext secrets, unsigned packages, and hooks that leak Jobs into namespaces. This Skill encodes a complete chart contract so every chart you author or review follows SemVer discipline, standard labels, schema-validated values, and supply-chain integrity from the start. ## Core Features & Use Cases - Chart contract enforcement: Twelve non-negotiable rules covering apiVersion v2, SemVer 2 version bumps, deterministic rendering, immutable selector labels, values.schema.json validation, CRD placement in crds/, and pinned dependencies with a committed Chart.lock. - Template and lifecycle guidance: Go template + Sprig idioms, named templates with chart-name prefixes, hook lifecycle management with hook-delete-policy, test hooks under templates/tests/, and RBAC plus pod security defaults. - Supply-chain and distribution: PGP provenance signing with helm package --sign and helm verify, OCI registry push workflows, immutable oci://...@sha256: digest pinning, and lint/dry-run/template validation gates. - Use Case: When asked to convert raw kubectl manifests into a production chart, apply the skeleton layout, add standard app.kubernetes.io labels, write values.schema.json, sign the package, and push it to an OCI registry pinned by digest. ## Quick Start Ask the AI to create a production-ready Helm chart for your application following the helm-chart-packages rules, including values.schema.json, standard labels, and OCI signing.

Frequently Asked Questions about helm-chart-packages

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a production-ready Helm chart?▼

Start with the standard skeleton: Chart.yaml with apiVersion v2, values.yaml with documented defaults, values.schema.json for validation, and templates using named partials. Apply the seven standard labels, pin dependencies, then run helm lint, helm template --debug, and a dry-run install before packaging.

How to sign and verify a Helm chart before publishing?▼

Use helm package --sign to produce a .prov provenance file with your PGP key, and have consumers run helm verify or install with --verify. For OCI registries, additionally pin production installs by immutable digest using oci://repo/chart@sha256:... instead of mutable tags.

Should CRDs go in crds/ or templates/ in a Helm chart?▼

CRDs belong in crds/ for production charts because Helm installs them once and never upgrades or deletes them, protecting user data. Placing CRDs in templates/ means helm uninstall deletes the CRD and every custom resource, destroying data.

Why does helm upgrade fail with field is immutable?▼

This happens when mutable labels like app.kubernetes.io/version or helm.sh/chart are included in a Deployment's spec.selector.matchLabels. Selectors must use only the immutable subset: app.kubernetes.io/name and app.kubernetes.io/instance.

When should I use a Helm library chart?▼

Use a library chart (type: library) only when three or more charts share substantial template surface, since library charts cannot be installed and only ship reusable named templates. For two charts, copy-paste is cheaper than the indirection.