Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Helm Pro

ASecurity

Helm guidance — chart structure, templating, values management, releases, hooks, and chart best practices.

2 stars
0 votes
0 copies
1 views
Added 9/29/2026
ai-agentsgobashkubernetesdebugginggitapidatabase

Works with

api

Security Analysis

A100/100

Scanned 9/29/2026

$npx -y skills add aicodedecode/awesome-muse-skills --skill helm-pro --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Helm Pro?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Helm Pro
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aicodedecode-helm-pro/badge)](https://www.skillsdirectory.com/skills/aicodedecode-helm-pro)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: helm-pro
description: Helm guidance — chart structure, templating, values management, releases, hooks, and chart best practices.
category: development
---

## Overview

Helm is the package manager for Kubernetes: charts bundle manifests with templating, values files customize per environment, and releases track what's deployed with rollback support. For third-party software (databases, ingress controllers, monitoring), Helm charts are the standard distribution format; for your own apps, charts are one packaging option among several.

Helm's templating is powerful and easy to abuse — charts drift into unmaintainable Go-template spaghetti without discipline. This skill covers chart structure, values management across environments, safe release practices, and when to prefer Kustomize or plain manifests instead.

## When to use

- Packaging an application as a Helm chart.
- Managing environment differences with values files.
- Deploying third-party charts (choosing versions, values).
- Debugging templating errors and failed releases.
- Using Helm hooks, tests, and OCI registries.
- Choosing between Helm, Kustomize, and plain manifests.
- Operating Helm releases in production (rollbacks, upgrades).

## Core concepts

- **Charts.** A chart is a directory: `Chart.yaml` (metadata), `values.yaml` (defaults), `templates/` (manifests), optional `charts/` (subcharts). Charts version independently of the app (`version` vs `appVersion`).
- **Values.** `values.yaml` defaults overridden by `-f` files and `--set` flags — later sources win. Per-environment values files (`values-prod.yaml`) are the standard environment mechanism. `--set` for one-offs, files for anything persistent.
- **Templating.** Go templates with Helm's functions (`{{ .Values.replicaCount }}`, `{{ include "chart.name" . }}`). Keep templates readable: named templates (`_helpers.tpl`) for repeated snippets, minimal logic in templates, validation via `required` and `fail`.
- **Release management.** `helm install/upgrade --install` with `--atomic` (rollback on failure) and `--wait`; release history enables `helm rollback`. Releases are namespaced; names should be stable per environment.
- **Hooks.** `pre-install`, `post-upgrade`, `pre-delete` etc. for jobs that run outside the normal lifecycle (DB migrations, backups). Hooks have their own deletion policies — misconfigured hooks linger or never run.
- **Tests.** `helm test` runs test pods defined in `templates/tests/` — smoke tests executed post-install. Cheap verification that the release actually works.
- **Dependencies.** `Chart.yaml` dependencies on other charts (databases, etc.) with version constraints; `helm dependency update` vendors them. Pin versions — floating dependencies break installs.
- **OCI registries.** Charts stored as OCI artifacts (`helm push oci://...`) — chart distribution through the same registry as images, with the same auth and immutability semantics.
- **Lint and template.** `helm lint` catches chart errors; `helm template` renders locally for inspection and diffing. Run both in CI before any install.
- **Values schema.** `values.schema.json` validates values files — catches typos and type errors before they become failed releases. Write schemas for charts others consume.
- **Secrets.** Values files are plaintext — don't put secrets in them. Reference external secret stores, use `--set` from CI secrets sparingly, or template from mounted secrets.
- **Chart sources.** Artifact Hub for discovery; prefer official/verified charts; pin chart versions in dependencies and deployments — `latest` charts are undebuggable.
- **Helm vs Kustomize.** Helm: parameterization and packaging (great for distributing software). Kustomize: overlays without templates (great for your own apps' environment diffs). Many teams use Helm for third-party + Kustomize for first-party.
- **Release naming.** Consistent naming (`<app>-<env>`) so releases are greppable; avoid generating names with timestamps — releases should be stable identities.
- **Dry run and diff.** `helm upgrade --dry-run` and the diff plugin show what will change before it changes — the plan/apply equivalent. Review diffs like code.

## Practical workflow

1. **Structure the chart.** Standard layout; `values.yaml` with documented defaults; `_helpers.tpl` for naming/labels; one template file per resource kind.
   ```
   shop-api/
     Chart.yaml  values.yaml  values-prod.yaml
     values.schema.json
     templates/{deployment,service,ingress,hpa,tests}/  _helpers.tpl
   ```
2. **Write clean templates.** Named helpers for labels/selectors; `required` for mandatory values with clear error messages; keep conditionals shallow.
   ```yaml
   # templates/deployment.yaml (excerpt)
   replicas: {{ .Values.replicaCount }}
   image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
   ```
3. **Manage values per environment.** Base `values.yaml` + `values-prod.yaml` overrides; schema validation; secrets from external stores, never in values files.
4. **Lint, template, diff in CI.** `helm lint`, `helm template` rendering checks, diff against the live release — the review gate before upgrade.
5. **Deploy safely.** `helm upgrade --install --atomic --wait --timeout 10m -f values-prod.yaml`; hooks for migrations with proper delete policies; `helm test` smoke tests after.
   ```bash
   helm upgrade --install shop-api ./shop-api \
     -f values.yaml -f values-prod.yaml \
     --namespace shop-prod --atomic --wait --timeout 10m
   ```
6. **Handle third-party charts.** Pin chart versions; values files for your overrides (never edit the chart); track upstream changes before upgrading.
7. **Use hooks deliberately.** Migration jobs as pre-upgrade hooks with `before-hook-creation` delete policy; verify hook completion in the release pipeline.
8. **Publish and version.** OCI registry for chart storage; semantic versioning for chart changes; changelog per release; deprecate values keys with warnings before removing.

## Common pitfalls

- **Template spaghetti** — deeply nested conditionals and string building; keep logic minimal, validate inputs.
- **Secrets in values files** — plaintext credentials in git; external secret management.
- **Unpinned chart versions** — floating dependencies breaking installs; pin everything.
- **No values schema** — typos becoming failed releases; `values.schema.json` for shared charts.
- **Skipping diff review** — upgrading blind; diff before every upgrade.
- **Non-atomic upgrades** — half-applied releases on failure; `--atomic` for rollback.
- **Hook misconfiguration** — hooks that never run or never clean up; set hook weights and delete policies.
- **Editing third-party charts** — forked charts drifting from upstream; override via values, contribute fixes upstream.
- **`--set` for complex config** — escaping hell; values files for anything non-trivial.
- **Release name instability** — generated names breaking tooling; stable names per environment.
- **Ignoring `helm test`** — no post-install verification; add smoke tests.
- **Chart version vs appVersion confusion** — bumping the wrong one; chart version for chart changes, appVersion for the app.
- **Storing charts in git without registry** — no immutability story; OCI registries for distribution.

Attribution

aicodedecodeaicodedecode
View sourceSee grades on GitHubMore from aicodedecode →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →