kubernetes-skills/claude/k8s-helm/SKILL.md
Manage Helm charts, releases, and repositories. Use for Helm installations, upgrades, rollbacks, chart development, and release management.
npx skillsauth add rohitg00/kubectl-mcp-server k8s-helmInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive Helm v3 operations using kubectl-mcp-server's 16 Helm tools.
Use this skill when:
| Priority | Rule | Impact | Tools |
|----------|------|--------|-------|
| 1 | Template before install (dry run) | CRITICAL | template_helm_chart |
| 2 | Check existing releases first | CRITICAL | list_helm_releases |
| 3 | Lint charts before packaging | HIGH | lint_helm_chart |
| 4 | Note revision before upgrade | HIGH | get_helm_history |
| 5 | Verify values after upgrade | MEDIUM | get_helm_values |
| 6 | Update repos before search | LOW | update_helm_repos |
| Task | Tool | Example |
|------|------|---------|
| Install chart | install_helm_chart | install_helm_chart(name, chart, namespace) |
| Upgrade release | upgrade_helm_release | upgrade_helm_release(name, chart, namespace, values) |
| Rollback | rollback_helm_release | rollback_helm_release(name, namespace, revision) |
| List releases | list_helm_releases | list_helm_releases(namespace) |
| Get values | get_helm_values | get_helm_values(name, namespace) |
| Template (dry run) | template_helm_chart | template_helm_chart(name, chart, namespace) |
install_helm_chart(
name="my-release",
chart="bitnami/nginx",
namespace="web",
values={"replicaCount": 3, "service.type": "LoadBalancer"}
)
upgrade_helm_release(
name="my-release",
chart="bitnami/nginx",
namespace="web",
values={"replicaCount": 5}
)
rollback_helm_release(
name="my-release",
namespace="web",
revision=1
)
uninstall_helm_chart(name="my-release", namespace="web")
list_helm_releases(namespace="web")
list_helm_releases()
get_helm_release(name="my-release", namespace="web")
get_helm_history(name="my-release", namespace="web")
get_helm_values(name="my-release", namespace="web")
get_helm_manifest(name="my-release", namespace="web")
add_helm_repo(name="bitnami", url="https://charts.bitnami.com/bitnami")
list_helm_repos()
update_helm_repos()
search_helm_charts(keyword="nginx")
search_helm_charts(keyword="postgres", repo="bitnami")
template_helm_chart(
name="my-release",
chart="./my-chart",
namespace="test",
values={"key": "value"}
)
lint_helm_chart(chart="./my-chart")
package_helm_chart(chart="./my-chart", destination="./packages")
add_helm_repo(name="bitnami", url="...")
search_helm_charts(keyword="postgresql")
template_helm_chart(...)
install_helm_chart(...)
get_helm_release(...)
get_helm_history(name, namespace)
upgrade_helm_release(name, chart, namespace, values)
rollback_helm_release(name, namespace, revision)
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"
)
See references/CHART-STRUCTURE.md for best practices on organizing Helm charts.
See TROUBLESHOOTING.md for common issues.
get_helm_release(name, namespace)
get_pods(namespace, label_selector="app.kubernetes.io/instance=<release>")
get_helm_history(name, namespace)
get_events(namespace)
uninstall_helm_chart(name, namespace)
get_helm_values(name, namespace)
template_helm_chart(...)
upgrade_helm_release(...)
See scripts/lint-chart.sh for automated chart validation.
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.yamlNamespace Isolation
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
development
Manage vCluster (virtual Kubernetes clusters) instances using vind. Use when creating, managing, or operating lightweight virtual clusters for development, testing, or multi-tenancy.
development
Debug Kubernetes pods, nodes, and workloads. Use when pods are failing, containers crash, nodes are unhealthy, or users mention debugging, troubleshooting, or diagnosing Kubernetes issues.
devops
Kubernetes storage management for PVCs, storage classes, and persistent volumes. Use when provisioning storage, managing volumes, or troubleshooting storage issues.
testing
Manage Istio service mesh for traffic management, security, and observability. Use for traffic shifting, canary releases, mTLS, and service mesh troubleshooting.