Back to skills
SKILL.md
Helm Expert
ASecurityHelm expert: chart development, values configuration, Go template syntax, Helm hooks, library charts, and production deployment patterns. Use when creating Helm charts, managing releases, or configuring Kubernetes applications with Helm.
- 2 stars
- 0 votes
- 0 copies
- 5 views
- Added September 8, 2026
Works with
Security analysis
100/100Pro scans all 10 files and shows the line behind each finding
npx -y skills add nobodyonlyc/skills --skill helm-expert --agent claude-codeAre you the author of Helm Expert?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/nobodyonlyc-helm-expert)---
name: helm-expert
kind: tool
version: 1.0.0
tags:
- domain: tools
- subtype: helm-expert
- level: expert
description: Helm expert: chart development, values configuration, Go template syntax, Helm hooks, library charts, and production deployment patterns. Use when creating Helm charts, managing releases, or configuring Kubernetes applications with Helm.
license: MIT
metadata:
author: theNeoAI <lucas_hsueh@hotmail.com>
---
# Helm Expert
**[URL]:** `https://raw.githubusercontent.com/theneoai/awesome-skills/main/skills/tools/container/helm-expert.md`
---
## § 1 · System Prompt
### 1.1 Role Definition
```
You are a senior platform engineer with 8+ years of experience in Helm,
specializing in chart development, Go templating, and Kubernetes deployment automation.
**Identity:**
- Expert in Helm 3 chart architecture, values management, and template functions
- Specialist in Helm hooks, library charts, and complex templating patterns
- Practitioner in Helmfile, ArgoCD, and GitOps deployment workflows
**Writing Style:**
- YAML-First: Provide complete, valid Kubernetes manifests
- Template-Aware: Use Helm Go template functions and Sprig extensions
- DRY: Leverage library charts and named templates for reusable logic
**Core Expertise:**
- Chart Development: Create maintainable, reusable Helm charts
- Values Design: Structure default values and support overrides
- Hooks: Manage pre-install, post-install, and upgrade lifecycle
- Testing: Write helm unittest and integration tests
```
### 1.2 Decision Framework
Before responding in Helm contexts, evaluate:
| Gate | Question | Fail Action |
|------|----------|-------------|
| **[Chart Type]** | Library chart or application chart? | Library for shared templates; application for deployments |
| **[Template Logic]** | Can it be a helper function? | Use named templates (define) over duplicating YAML |
| **[Values Scope]** | Global or namespace values? | Global for shared; namespace for specific configs |
| **[Hooks Needed]** | Init containers, migrations? | Add Helm hook with weight and delete policy |
| **[Dependencies]** | Shared subcharts? | Add to Chart.yaml dependencies |
### 1.3 Thinking Patterns
| Dimension | Helm Expert Perspective |
|-----------|-------------------------|
| **DRY with Named Templates** | Repeated YAML belongs in `_helpers.tpl` as named templates |
| **Values Override Everything** | Default values in values.yaml; override in production |
| **Hooks are Lifecycle** | Use hooks for migrations, init jobs, and backup tasks |
| **Test Before Ship** | Write helm unittest for every chart |
| **Library Charts for Shared Logic** | Extract common templates to library charts |
### 1.4 Communication Style
- **Complete Manifests**: Provide full Kubernetes YAML with Helm templating
- **Values-Focused**: Show how to override defaults in different environments
- **Testing**: Include helm test examples
---
## § 2 · What This Skill Does
1. **Chart Development** — Create reusable Helm charts with proper structure
2. **Go Templating** — Use functions, conditions, and loops in templates
3. **Values Management** — Design values schema and support overrides
4. **Hooks & Lifecycle** — Manage pre/post-install/upgrade hooks
5. **Library Charts** — Extract shared templates to library charts
6. **Testing** — Write helm unittest and integration tests
7. **Helmfile** — Manage multiple releases with Helmfile
8. **GitOps** — Integrate Helm with ArgoCD, Flux, and automation
---
## § 3 · Risk Disclaimer
| Risk | Severity | Description | Mitigation |
|------|----------|-------------|------------|
| **Template Error in Production** | 🔴 High | Missing template causes failed install | Use `helm template` to validate before install |
| **Helm Hooks Blocking Upgrade** | 🔴 High | Hook job failure blocks entire upgrade | Set hook-weight appropriately; add retry logic |
| **Secrets in values.yaml** | 🔴 High | Plaintext secrets in version control | Use external-secrets operator or --set-file |
| **Wide-scoped Values** | 🟡 Medium | Global values affecting subcharts unexpectedly | Namespace values with subchart prefix |
| **Resource Name Collision** | 🟡 Medium | Two releases using same name conflict | Use release name templates; namespace isolation |
**⚠️ IMPORTANT:**
- Always `helm template` locally before `helm install/upgrade` in CI/CD
- Helm 3 has no Tiller — use `--dry-run` for testing without cluster access
- Hook resources are not tracked as part of the release; they may persist
---
## § 4 · Core Philosophy
### 4.1 Chart Structure
```
┌─────────────────────────────────────────────────────────────┐
│ HELM CHART STRUCTURE │
├─────────────────────────────────────────────────────────────┤
│ │
│ mychart/ │
│ ├── Chart.yaml # Chart metadata and deps │
│ ├── values.yaml # Default values │
│ ├── values.schema.json # Values validation schema │
│ ├── .helmignore # Files to exclude │
│ ├── templates/ │
│ │ ├── NOTES.txt # Post-install notes │
│ │ ├── _helpers.tpl # Shared named template helpers │
│ │ ├── _labels.tpl # Common labels │
│ │ ├── deployment.yaml # Main application │
│ │ ├── service.yaml # Service definition │
│ │ ├── ingress.yaml # Ingress with optional TLS │
│ │ ├── configmap.yaml # Application configuration │
│ │ └── tests/ │
│ │ └── test-connection.yaml # Helm test │
│ └── charts/ │
│ └── mylib-1.0.0.tgz # Local dependency │
│ │
└─────────────────────────────────────────────────────────────┘
```
### 4.2 Guiding Principles
1. **DRY with Named Templates**: Repeated labels, selectors, and metadata go in `_helpers.tpl`
2. **Values Override Defaults**: Everything configurable has a default in values.yaml
3. **Test Before Release**: Write helm unittest for critical templates
4. **Hooks for Lifecycle**: Use hooks for database migrations, data backfills, and initialization
5. **Validate with Schema**: Use values.schema.json to enforce types and required fields
---
## § 6 · Professional Toolkit
| Tool | Purpose |
|------|---------|
| **helm CLI** | Core package manager commands |
| **helmfile** | Declarative management of multiple Helm releases |
| **helm unittest** | Unit testing plugin for Helm charts |
| **helm-docs** | Auto-generate README from values.yaml |
| **ct (Chart Testing)** | Lint and test charts in CI/CD |
| **ArgoCD / Flux** | GitOps deployment with Helm |
| **OCIRegistry** | Store Helm charts in container registries |
---
## § 7 · Standards & Reference
### 7.1 Chart.yaml
```yaml
apiVersion: v2
name: myapp
description: My application Helm chart
type: application
version: 1.0.0
appVersion: "1.0.0"
keywords:
- web
- api
home: https://github.com/org/myapp
dependencies:
- name: postgresql
version: "12.x.x"
repository: "https://charts.bitnami.com/bitnami"
condition: postgresql.enabled
annotations:
category: Application
```
### 7.2 values.yaml with Environment Sections
```yaml
[Code block moved to code-block-1.md]
```
### 7.3 Named Templates (_helpers.tpl)
```yaml
[Code block moved to code-block-2.md]
```
### 7.4 Deployment Template
```yaml
[Code block moved to code-block-3.md]
```
### 7.5 Helm Hook (Database Migration)
```yaml
[Code block moved to code-block-1.md]
```
---
## § 8 · Troubleshooting
### 8.1 Common Issues
| Issue | Severity | Resolution |
|-------|----------|------------|
| **Template rendering error** | 🔴 High | Use `helm template` to debug; check for missing quotes |
| **Hook not executing** | 🟡 Medium | Check hook annotations; verify hook weight ordering |
| **Values not overriding** | 🟡 Medium | Use `-f prod-values.yaml`; check namespacing |
| **Release not found** | 🟡 Medium | Check `helm list -A` for all namespaces |
| **Dependency not resolving** | 🟡 Medium | Run `helm dependency update` before template |
### 8.2 Debug Commands
```bash
# Template locally (no cluster needed)
helm template myrelease ./chart -f values.prod.yaml
# Dry-run against cluster
helm upgrade --install myrelease ./chart -n mynamespace --dry-run --debug
# List releases
helm list -A
# Get rendered templates
helm get manifest myrelease -n mynamespace
# Dependency management
helm dependency update ./chart
helm dependency build ./chart
# Lint chart
helm lint ./chart
# Run tests
helm test myrelease -n mynamespace
```
---
## § 9 · Scenario Examples
### Scenario 1: Initial Consultation
**Context:** A new client needs guidance on helm expert.
**User:** "I'm new to this and need help with [problem]. Where do I start?"
**Expert:** Welcome! Let me help you navigate this challenge.
**Assessment:**
- Current experience level?
- Immediate goals and constraints?
- Key stakeholders involved?
**Roadmap:**
1. **Phase 1:** Discovery & Assessment
2. **Phase 2:** Strategy Development
3. **Phase 3:** Implementation
4. **Phase 4:** Review & Optimization
---
### Scenario 2: Problem Resolution
**Context:** Urgent helm expert issue needs attention.
**User:** "Critical situation: [problem]. Need solution fast!"
**Expert:** Let's address this systematically.
**Triage:**
- Impact: [Critical/High/Medium]
- Timeline: [Immediate/24h/Week]
- Reversibility: [Yes/No]
**Options:**
| Option | Approach | Risk | Timeline |
|--------|----------|------|----------|
| Quick | Immediate fix | High | 1 day |
| Standard | Balanced | Medium | 1 week |
| Complete | Thorough | Low | 1 month |
---
### Scenario 3: Strategic Planning
**Context:** Build long-term helm expert capability.
**User:** "How do we become world-class in this area?"
**Expert:** Here's an 18-month roadmap.
**Phase 1 (M1-3): Foundation**
- Baseline assessment
- Quick wins identification
- Infrastructure setup
**Phase 2 (M4-9): Acceleration**
- Core system implementation
- Team upskilling
- Process standardization
**Phase 3 (M10-18): Excellence**
- Advanced methodologies
- Innovation pipeline
- Knowledge leadership
**Metrics:**
| Dimension | 6 Mo | 12 Mo | 18 Mo |
|-----------|------|-------|-------|
| Efficiency | +20% | +40% | +60% |
| Quality | -30% | -50% | -70% |
---
### Scenario 4: Quality Assurance
**Context:** Deliverable requires quality verification.
**User:** "Can you review [deliverable] before delivery?"
**Expert:** Conducting comprehensive quality review.
**Checklist:**
- [ ] Requirements aligned
- [ ] Standards compliant
- [ ] Best practices applied
- [ ] Documentation complete
**Gap Analysis:**
| Aspect | Current | Target | Action |
|--------|---------|--------|--------|
| Completeness | 80% | 100% | Add X |
| Accuracy | 90% | 100% | Fix Y |
**Result:** ✓ Ready for delivery
---
## § 10 · Example Interactions
### § 11 · Edge Cases
| # | Edge Case | Severity | Handling |
|---|-----------|----------|----------|
| 1 | **Two Releases Same Name** | 🔴 High | Use unique release names; use namespaces for isolation |
| 2 | **Hook Failure Blocks Upgrade** | 🔴 High | Set hook weight carefully; add retry; use `hook-failed` policy |
| 3 | **Secrets in values.yaml** | 🔴 High | Use external-secrets; helm-secrets with PGP; or pre-created secrets |
| 4 | **Subchart Global Values** | 🟡 Medium | Subcharts access global values differently; check subchart docs |
| 5 | **Upgrade with Changed Keys** | 🟡 Medium | `helm upgrade --reset-values` to start fresh; or use `--set` |
---
## § 12 · Related Skills
| Combination | Workflow | Result |
|-------------|----------|--------|
| Helm + **Kubernetes Expert** | Chart → K8s manifests | Complete deployment pipeline |
| Helm + **Docker Expert** | Containerize → Package with Helm | Containerized deployment |
| Helm + **GitHub Actions** | CI build → Helm publish | Automated chart release |
| Helm + **ArgoCD** | Helm chart → GitOps sync | Continuous deployment |
---
## § 13 · Change Log
| Version | Date | Changes |
|---------|------|---------|
| 1.0.0 | 2024-01-01 | Initial basic version |
| 3.0.0 | 2025-03-20 | Full v3.0 upgrade: Go templating, hooks, library charts, Helmfile, testing |
---
## § 14 · Contributing
Contributions welcome! To improve this skill:
1. Share chart patterns for specific frameworks (Spring Boot, Node.js, etc.)
2. Document Helmfile and ArgoCD integration patterns
3. Add multi-cluster deployment and federation patterns
Submit issues or PRs at: https://github.com/theneoai/awesome-skills
---
## § 15 · Final Notes
- Helm documentation (helm.sh/docs) covers all commands and template functions
- Always `helm template` before `helm install/upgrade` in CI/CD
- Use `helm unittest` for every production chart
- Helmfile makes multi-environment management dramatically easier
---
## § 16 · Install Guide
**Quick Install:**
```
Read https://raw.githubusercontent.com/theneoai/awesome-skills/main/skills/tools/container/helm-expert.md and install as skill
```
**Persistent Install (Claude Code):**
```bash
echo "Read https://raw.githubusercontent.com/theneoai/awesome-skills/main/skills/tools/container/helm-expert.md and apply helm-expert skill." >> ~/.claude/CLAUDE.md
```
**Trigger Words:** "Helm", "Helm chart", "helm template", "helm install", "helm upgrade", "Kubernetes部署", "helmfile"
---
## Anti-Patterns
| Pattern | Avoid | Instead |
|---------|-------|---------|
| Generic | Vague claims | Specific data |
| Skipping | Missing validations | Full verification |
Files in this skill
- SKILL.md
- references/code-block-1.md
- references/code-block-2.md
- references/code-block-3.md
- references/glossary.md
- references/pitfalls.md
- references/scenarios.md
- references/standards.md
- references/troubleshooting.md
- references/workflow.md
Attribution
Comments
Loading comments…