
Helm Release Management
- 65 installs
- 49 repo stars
- Updated August 4, 2026
- laurigates/claude-plugins
Helps with ai & agent building tasks.
About
helm-release-management is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- helm-release-management
- AI & Agent Building
- AI-coding skill
Helm Release Management by the numbers
- 65 all-time installs (skills.sh)
- Ranked #6,085 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/laurigates/claude-plugins --skill helm-release-managementAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 65 |
|---|---|
| repo stars | ★ 49 |
| Last updated | August 4, 2026 |
| Repository | laurigates/claude-plugins ↗ |
What it does
Helps with ai & agent building tasks.
Files
Helm Release Management
Comprehensive guidance for day-to-day Helm release operations including installation, upgrades, uninstallation, and release tracking.
When to Use
Use this skill automatically when:
- User requests deploying or installing Helm charts
- User mentions upgrading or updating Helm releases
- User wants to list or manage releases across namespaces
- User needs to check release history or status
- User requests uninstalling or removing releases
Core Release Operations
Install New Release
# Basic install
helm install <release-name> <chart> --namespace <namespace> --create-namespace
# Install with custom values
helm install myapp bitnami/nginx \
--namespace production \
--create-namespace \
--values values.yaml \
--set replicaCount=3
# Install with atomic rollback on failure
helm install myapp ./mychart \
--namespace staging \
--atomic \
--timeout 5m \
--wait
# Install from repository with specific version
helm install mydb bitnami/postgresql \
--namespace database \
--version 12.1.9 \
--values db-values.yaml
# Dry-run before actual install
helm install myapp ./chart \
--namespace prod \
--dry-run \
--debugKey Flags:
--namespace- Target namespace (ALWAYS specify explicitly)--create-namespace- Create namespace if it doesn't exist--values/-f- Specify values file(s)--set- Override individual values--atomic- Rollback automatically on failure (RECOMMENDED)--wait- Wait for resources to be ready--timeout- Maximum time to wait (default 5m)--dry-run --debug- Preview without installing
Upgrade Existing Release
# Basic upgrade with new values
helm upgrade myapp ./mychart \
--namespace production \
--values values.yaml
# Upgrade with value overrides
helm upgrade myapp bitnami/nginx \
--namespace prod \
--reuse-values \
--set image.tag=1.21.0
# Upgrade with new chart version
helm upgrade mydb bitnami/postgresql \
--namespace database \
--version 12.2.0 \
--atomic \
--wait
# Install if not exists, upgrade if exists
helm upgrade --install myapp ./chart \
--namespace staging \
--create-namespace \
--values values.yaml
# Force upgrade (recreate resources)
helm upgrade myapp ./chart \
--namespace prod \
--force \
--recreate-podsKey Flags:
--reuse-values- Reuse existing values, merge with new--reset-values- Reset to chart defaults, ignore existing--install- Install if release doesn't exist--force- Force resource updates (use cautiously)--recreate-pods- Recreate pods even if no changes--cleanup-on-fail- Delete new resources on failed upgrade
Value Override Precedence (lowest to highest): 1. Chart default values (values.yaml in chart) 2. Previous release values (with --reuse-values) 3. Parent chart values 4. User-specified values files (-f values.yaml) 5. Individual value overrides (--set key=value)
Uninstall Release
# Basic uninstall
helm uninstall myapp --namespace production
# Uninstall but keep history (allows rollback)
helm uninstall myapp \
--namespace staging \
--keep-history
# Uninstall with timeout
helm uninstall myapp \
--namespace prod \
--timeout 10m \
--waitList Releases
# List releases in namespace
helm list --namespace production
# List all releases across all namespaces
helm list --all-namespaces
# List with additional details
helm list \
--all-namespaces \
--output yaml \
--max 50
# List including uninstalled releases
helm list --namespace staging --uninstalled
# Filter releases by name pattern
helm list --filter '^my.*' --namespace prodKey Flags:
--all-namespaces/-A- List releases across all namespaces--all- Show all releases including failed--uninstalled- Show uninstalled releases--failed- Show only failed releases--pending- Show pending releases--filter- Filter by release name (regex)
Release Information & History
Check Release Status
# Get release status
helm status myapp --namespace production
# Show deployed resources
helm status myapp \
--namespace prod \
--show-resourcesView Release History
# View revision history
helm history myapp --namespace production
# View detailed history
helm history myapp \
--namespace prod \
--output yaml \
--max 10Inspect Release
# Get deployed manifest
helm get manifest myapp --namespace production
# Get deployed values
helm get values myapp --namespace production
# Get all values (including defaults)
helm get values myapp --namespace prod --all
# Get release metadata
helm get metadata myapp --namespace production
# Get release notes
helm get notes myapp --namespace production
# Get everything
helm get all myapp --namespace productionFor common workflows (deploy new application, update configuration, upgrade chart version, multi-environment deployment), best practices, troubleshooting, and integration with other tools, see REFERENCE.md.
Agentic Optimizations
| Context | Command |
|---|---|
| List releases (structured) | helm list -n <ns> -o json |
| Release history (structured) | helm history <release> -n <ns> --output json |
| Release status (structured) | helm status <release> -n <ns> -o json |
| Values (structured) | helm get values <release> -n <ns> -o json |
| Failed releases | helm list -n <ns> --failed -o json |
Related Skills
- Helm Debugging - Troubleshooting failed deployments
- Helm Values Management - Advanced values configuration
- Helm Release Recovery - Rollback and recovery strategies
- ArgoCD CLI Login - GitOps integration with ArgoCD
- Kubernetes Operations - Managing deployed resources
References
Helm Release Management - Reference
Detailed reference material for Helm release management.
Common Workflows
Workflow 1: Deploy New Application
# 1. Add chart repository (if needed)
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
# 2. Search for chart
helm search repo nginx
# 3. View default values
helm show values bitnami/nginx > default-values.yaml
# 4. Create custom values file
cat > my-values.yaml <<EOF
replicaCount: 3
service:
type: LoadBalancer
ingress:
enabled: true
hostname: myapp.example.com
EOF
# 5. Dry-run to validate
helm install myapp bitnami/nginx \
--namespace production \
--create-namespace \
--values my-values.yaml \
--dry-run --debug
# 6. Install with atomic rollback
helm install myapp bitnami/nginx \
--namespace production \
--create-namespace \
--values my-values.yaml \
--atomic \
--wait \
--timeout 5m
# 7. Verify deployment
helm status myapp --namespace production
kubectl get pods -n production -l app.kubernetes.io/instance=myappWorkflow 2: Update Configuration
# 1. Check current values
helm get values myapp --namespace production > current-values.yaml
# 2. Edit values
vim current-values.yaml
# (change replicaCount: 3 -> 5)
# 3. Upgrade with new values
helm upgrade myapp bitnami/nginx \
--namespace production \
--values current-values.yaml \
--atomic \
--wait
# 4. Verify upgrade
helm history myapp --namespace production
helm status myapp --namespace productionWorkflow 3: Upgrade Chart Version
# 1. Check available versions
helm search repo bitnami/nginx --versions | head -10
# 2. Review changelog for breaking changes
helm show readme bitnami/nginx --version 15.0.0
# 3. Compare values schemas
helm show values bitnami/nginx --version 15.0.0 > new-values.yaml
diff <(helm get values myapp -n prod --all) new-values.yaml
# 4. Upgrade to new version
helm upgrade myapp bitnami/nginx \
--namespace production \
--version 15.0.0 \
--reuse-values \
--atomic \
--wait
# 5. Monitor upgrade
watch kubectl get pods -n production
# 6. Verify new version
helm list --namespace productionWorkflow 4: Multi-Environment Deployment
# Directory structure:
# charts/myapp/
# values/
# ├── common.yaml # Shared values
# ├── dev.yaml # Dev overrides
# ├── staging.yaml # Staging overrides
# └── production.yaml # Production overrides
# Deploy to dev
helm upgrade --install myapp ./charts/myapp \
--namespace dev \
--create-namespace \
-f values/common.yaml \
-f values/dev.yaml
# Deploy to staging
helm upgrade --install myapp ./charts/myapp \
--namespace staging \
--create-namespace \
-f values/common.yaml \
-f values/staging.yaml
# Deploy to production (with approval gate)
helm upgrade --install myapp ./charts/myapp \
--namespace production \
--create-namespace \
-f values/common.yaml \
-f values/production.yaml \
--atomic \
--wait \
--timeout 10mBest Practices
Namespace Management
Always specify --namespace explicitly:
helm install myapp ./chart --namespace productionAtomic Deployments
Use --atomic for production deployments:
helm upgrade myapp ./chart --namespace prod --atomic --waitAutomatically rolls back on failure, prevents partial deployments.
Value Management
Use multiple values files for layering:
helm install myapp ./chart \
-f values/base.yaml \
-f values/production.yaml \
-f values/secrets.yamlPrefer --values over many --set flags:
# Prefer: values.yaml
helm install myapp ./chart -f values.yaml
# Avoid: many --set flags
helm install myapp ./chart --set a=1 --set b=2 --set c=3Version Pinning
Pin chart versions in production:
helm install myapp bitnami/nginx --version 15.0.2 --namespace prodPre-Deployment Validation
Always dry-run before installing/upgrading:
# 1. Lint (if local chart)
helm lint ./mychart
# 2. Template to see rendered manifests
helm template myapp ./mychart -f values.yaml
# 3. Dry-run with debug
helm install myapp ./mychart \
--namespace prod \
-f values.yaml \
--dry-run --debug
# 4. Actual install
helm install myapp ./mychart \
--namespace prod \
-f values.yaml \
--atomic --waitHistory Management
Limit revision history:
helm upgrade myapp ./chart \
--namespace prod \
--history-max 10 # Keep only last 10 revisionsResource Waiting
Use --wait for critical deployments:
helm upgrade myapp ./chart \
--namespace prod \
--wait \
--timeout 5m # Fail if not ready in 5 minutesRelease Naming
Use consistent, descriptive release names:
# Environment-specific
helm install myapp-prod ./chart --namespace production
helm install myapp-staging ./chart --namespace staging
# Or: same name, different namespaces
helm install myapp ./chart --namespace production
helm install myapp ./chart --namespace stagingTroubleshooting Common Issues
Issue: "Release already exists"
# Check if release exists
helm list --all-namespaces | grep myapp
# If in different namespace, specify correct namespace
helm upgrade myapp ./chart --namespace <correct-namespace>
# If stuck in failed state, uninstall and reinstall
helm uninstall myapp --namespace <namespace>
helm install myapp ./chart --namespace <namespace>Issue: Upgrade hangs or times out
# Increase timeout
helm upgrade myapp ./chart \
--namespace prod \
--wait \
--timeout 15m
# Check pod status manually
kubectl get pods -n prod -l app.kubernetes.io/instance=myapp
kubectl describe pod <pod-name> -n prod
# If stuck, consider force upgrade
helm upgrade myapp ./chart \
--namespace prod \
--force \
--cleanup-on-failIssue: Can't find release
# Search all namespaces
helm list --all-namespaces | grep myapp
# Check uninstalled releases
helm list --namespace <namespace> --uninstalled
# Check failed releases
helm list --namespace <namespace> --failedIssue: Wrong values applied
# Check what values were used
helm get values myapp --namespace prod --all
# Compare with expected values
diff <(helm get values myapp -n prod --all) values.yaml
# Upgrade with correct values
helm upgrade myapp ./chart \
--namespace prod \
--reset-values \
-f correct-values.yamlIntegration with Other Tools
ArgoCD Integration
When using ArgoCD for GitOps:
- ArgoCD manages Helm releases via Application CRDs
- Use ArgoCD UI/CLI for sync operations instead of
helm upgrade - Can still use
helm templatelocally for testing - Use
helm get values/manifestto inspect deployed resources
CI/CD Integration
# GitHub Actions example
- name: Deploy with Helm
run: |
helm upgrade --install myapp ./charts/myapp \
--namespace ${{ env.NAMESPACE }} \
--create-namespace \
-f values/common.yaml \
-f values/${{ env.ENVIRONMENT }}.yaml \
--atomic \
--wait \
--timeout 10mKubernetes Context
Always ensure correct context:
# Check current context
kubectl config current-context
# Switch context if needed
kubectl config use-context <context-name>
# Or specify kubeconfig
helm install myapp ./chart \
--kubeconfig=/path/to/kubeconfig \
--namespace prod