install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/rohitg00/kubectl-mcp-server/k8s-helm" ~/.claude/skills/comeonoliver-skillshub-k8s-helm && rm -rf "$T"
manifest:
skills/rohitg00/kubectl-mcp-server/k8s-helm/SKILL.mdsource content
Helm Chart Management
Comprehensive Helm v3 operations using kubectl-mcp-server's 16 Helm tools.
When to Apply
Use this skill when:
- User mentions: "helm", "chart", "release", "values", "repository"
- Operations: installing charts, upgrading releases, rollbacks
- Keywords: "package", "template", "lint", "repo add"
Priority Rules
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Template before install (dry run) | CRITICAL | |
| 2 | Check existing releases first | CRITICAL | |
| 3 | Lint charts before packaging | HIGH | |
| 4 | Note revision before upgrade | HIGH | |
| 5 | Verify values after upgrade | MEDIUM | |
| 6 | Update repos before search | LOW | |
Quick Reference
| Task | Tool | Example |
|---|---|---|
| Install chart | | |
| Upgrade release | | |
| Rollback | | |
| List releases | | |
| Get values | | |
| Template (dry run) | | |
Install Chart
install_helm_chart( name="my-release", chart="bitnami/nginx", namespace="web", values={"replicaCount": 3, "service.type": "LoadBalancer"} )
Upgrade Release
upgrade_helm_release( name="my-release", chart="bitnami/nginx", namespace="web", values={"replicaCount": 5} )
Rollback Release
rollback_helm_release( name="my-release", namespace="web", revision=1 )
Uninstall Release
uninstall_helm_chart(name="my-release", namespace="web")
Release Management
List Releases
list_helm_releases(namespace="web") list_helm_releases()
Get Release Details
get_helm_release(name="my-release", namespace="web")
Release History
get_helm_history(name="my-release", namespace="web")
Get Release Values
get_helm_values(name="my-release", namespace="web")
Get Release Manifest
get_helm_manifest(name="my-release", namespace="web")
Repository Management
Add Repository
add_helm_repo(name="bitnami", url="https://charts.bitnami.com/bitnami")
List Repositories
list_helm_repos()
Update Repositories
update_helm_repos()
Search Charts
search_helm_charts(keyword="nginx") search_helm_charts(keyword="postgres", repo="bitnami")
Chart Development
Template Chart (Dry Run)
template_helm_chart( name="my-release", chart="./my-chart", namespace="test", values={"key": "value"} )
Lint Chart
lint_helm_chart(chart="./my-chart")
Package Chart
package_helm_chart(chart="./my-chart", destination="./packages")
Common Workflows
New Application Deployment
add_helm_repo(name="bitnami", url="...") search_helm_charts(keyword="postgresql") template_helm_chart(...) install_helm_chart(...) get_helm_release(...)
Upgrade with Rollback Safety
get_helm_history(name, namespace) upgrade_helm_release(name, chart, namespace, values) rollback_helm_release(name, namespace, revision)
Multi-Environment Deployment
install_helm_chart( name="app", chart="./charts/app", namespace="dev", values={"replicas": 1}, context="development" ) install_helm_chart( name="app", chart="./charts/app", namespace="staging", values={"replicas": 2}, context="staging" ) install_helm_chart( name="app", chart="./charts/app", namespace="prod", values={"replicas": 5}, context="production" )
Chart Structure
See references/CHART-STRUCTURE.md for best practices on organizing Helm charts.
Troubleshooting
See TROUBLESHOOTING.md for common issues.
Release Stuck in Pending
get_helm_release(name, namespace) get_pods(namespace, label_selector="app.kubernetes.io/instance=<release>")
Failed Installation
get_helm_history(name, namespace) get_events(namespace) uninstall_helm_chart(name, namespace)
Values Not Applied
get_helm_values(name, namespace) template_helm_chart(...) upgrade_helm_release(...)
Scripts
See scripts/lint-chart.sh for automated chart validation.
Best Practices
-
Always Template First
template_helm_chart(name, chart, namespace, values) -
Use Semantic Versioning
install_helm_chart(..., version="1.2.3") -
Store Values in Git
values-dev.yamlvalues-staging.yamlvalues-prod.yaml
-
Namespace Isolation
- One namespace per release
- Easier cleanup and RBAC
Prerequisites
- Helm CLI: Required for all Helm operations
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Related Skills
- k8s-deploy - Deployment strategies
- k8s-gitops - GitOps Helm releases