chart-development

Guides development of Helm chart templates, values.yaml documentation, and helm-unittest tests.

3|Updated May 1, 2026
One-click install
npx skills add https://github.com/MaterializeInc/materialize-monitoring --skill chart-development-materializeinc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chart-development
Source: https://github.com/MaterializeInc/materialize-monitoring/tree/main/.claude/skills/chart-development
Command: npx skills add https://github.com/MaterializeInc/materialize-monitoring --skill chart-development-materializeinc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Helm chart development is full of subtle pitfalls — Go template falsy-value traps, subchart value merging quirks, and documentation drift between values.yaml and README files. This Skill encodes production-grade conventions for writing, documenting, and testing Helm charts so these mistakes are caught before they ship. ## Core Features & Use Cases - Helm template best practices: Conventions for named helpers in _*.tpl files, whitespace trimming, context passing, and avoiding the default function's falsy-value trap by using dig or hasKey. - helm-docs annotation conventions: Rules for # --, @notationType, @default, and @raw comments so chart READMEs and values references generate correctly from values.yaml. - Subchart wrapping guidance: How deep-merging works, when to use null to clear upstream defaults, and how subchart validation templates can fail your render. - Testing with helm-unittest: Test layout, path resolution gotchas, deterministic snapshot stubs, and BDD-style assertions. - Use Case: When adding a new boolean flag to a chart's values.yaml, the Skill ensures you write the template condition correctly, annotate the value for helm-docs, and add unit tests covering both the true and false cases. ## Quick Start Use the chart-development skill to add a new configurable value to the Helm chart with proper helm-docs annotations and a helm-unittest test.

Frequently Asked Questions about chart-development

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

FAQPage Schema
How do I write Helm chart unit tests with helm-unittest?

Install the plugin with helm plugin install, then place flat *_test.yaml suites in the chart's tests/ directory. Stub chart version and release metadata for deterministic snapshots, and remember template paths resolve relative to templates/ while values paths resolve relative to tests/.

How do I generate a Helm chart README from values.yaml?

Use helm-docs with # -- description comments directly above each key in values.yaml plus a README.md.gotmpl template. Only keys with a leading # -- comment appear in the generated table; run make helm-docs to regenerate output.

Why does my Helm template condition ignore an explicit false value?

The default function treats false, 0, and empty string as empty, so not ( $x | default true ) never fires. Test presence and value separately with hasKey, or use dig which preserves stored false values while still applying defaults for missing keys.

How do I override subchart default values in a parent Helm chart?

Parent values under the subchart's alias key deep-merge over the subchart's own defaults, so set only your deltas. To remove a subchart default entirely, set the key to null rather than an empty map or list, and verify with helm template --show-only.

When should I use dig instead of default in Helm templates?

Use dig whenever a leaf value can legitimately be false or 0, since default discards those falsy values. Note that dig treats an explicit null as a present value rather than absence, so it is not a drop-in when Helm merges may write nulls.