helm-chart-expert
Helm Chart Expert Skill
Purpose
Guide for creating production-ready Helm charts and conducting comprehensive chart reviews. Core workflow covers essential patterns with references to detailed examples for complex scenarios.
Quick Start Checklist
New Chart Creation
# 1. Create chart structure
helm create mychart
# 2. Validate structure
helm lint ./mychart
# 3. Test rendering
helm template ./mychart --debug
# 4. Dry run
helm install test ./mychart --dry-run --debug
Quick Template Check
# Render without installing
helm template myrelease ./mychart -f values-dev.yaml
# Debug with values
helm install myrelease ./mychart --dry-run --debug
# Diff before upgrade (requires helm-diff plugin)
helm diff upgrade myrelease ./mychart
When to Load Additional References
The quick reference above covers essential chart creation patterns. Load detailed references when:
For detailed chart templates and examples:
Read `~/.claude/skills/helm-chart-expert/references/TEMPLATES.md`
Use when: Creating new charts, need Chart.yaml/values.yaml/deployment examples, implementing all Kubernetes resources
For ArgoCD integration patterns:
Read `~/.claude/skills/helm-chart-expert/references/ARGOCD-PATTERNS.md`
Use when: Integrating with ArgoCD, multi-environment deployments, ApplicationSets, sync waves, GitOps workflows
For production deployment patterns:
Read `~/.claude/skills/helm-chart-expert/references/PRODUCTION-PATTERNS.md`
Use when: Secrets management, testing strategies, blue-green/canary deployments, monitoring setup, upgrade strategies
For troubleshooting and advanced techniques:
Read `~/.claude/skills/helm-chart-expert/references/TROUBLESHOOTING.md`
Use when: Debugging chart issues, nil pointer errors, advanced templating, dynamic resource generation, performance optimization
Chart Review Checklist
Security Review
- No hardcoded secrets in values.yaml or templates
- Image tags are specific (no
latest) - Security contexts are defined and restrictive
- RBAC is properly configured with least privilege
- Network policies are defined where applicable
- Pod Security Standards are enforced
- Resource limits are set for all containers
Structure Review
- Chart.yaml has all required fields
- Version follows SemVer2 format
- Dependencies use version ranges (~)
- One resource per file in templates/
- Template helpers are properly namespaced
- File naming follows conventions (lowercase, dashes)
Values Review
- All values are documented with clear comments
- Naming is consistent (camelCase)
- Types are explicit (strings are quoted)
- Flat structure preferred where possible
- Defaults are secure and production-ready
- Environment-specific values are separated
Template Review
- Labels are consistent and follow k8s recommendations
- Nil checks for nested values
- Whitespace is properly managed ({{- and -}})
- Helper functions are used for repeated logic
- Conditionals are properly structured
- Resources can be disabled via values
Testing Review
- helm lint passes without errors
- helm template renders correctly
- Dry run succeeds
- Unit tests exist and pass
- Integration tests for critical paths
- Helm test hooks are defined
Documentation Review
- README.md exists with usage examples
- CHANGELOG.md tracks versions
- values.yaml is fully documented
- Examples for common scenarios
- Upgrade notes for breaking changes
- Dependencies are documented
Final Review Checklist
Before Release
- All tests pass (lint, unit, integration)
- Security scanning completed
- Documentation updated
- CHANGELOG updated
- Version bumped appropriately
- Tested in staging environment
- Rollback procedure documented
- Resource quotas validated
- Network policies tested
- Monitoring/alerting configured
After Release
- Smoke tests pass
- Metrics flowing
- Logs accessible
- Alerts configured
- Documentation published
- Team notified
Integration with Other Skills
Works With:
- security-scan - Scan rendered Helm templates for hardcoded secrets
- quality-check - Lint YAML files for formatting issues
- Manual invocation for Helm-specific work
Invokes:
- None (standalone reference skill)
Invoked By:
- User (manual invocation when working with Helm)
Example Usage
# Manual invocation
/skill helm-chart-expert
# User requests
User: "Help me create a production-ready Helm chart"
User: "Review this Helm chart for security issues"
User: "Show me how to integrate with ArgoCD"
User: "How do I handle secrets in Helm?"
References
- Official Helm Best Practices
- Kubernetes Labels
- SemVer 2.0
- Helm Security
- ArgoCD Documentation
- GitOps Principles
Maintained by: DevOps team Review Schedule: Quarterly Last Updated: 2025-01-12
Related Agent
For comprehensive Helm/Kubernetes guidance that coordinates this and other Helm skills, use the helm-kubernetes-expert agent.
More from meriley/claude-code-skills
obs-cpp-qt-patterns
C++ and Qt integration patterns for OBS Studio plugins. Covers Qt6 Widgets for settings dialogs, CMAKE_AUTOMOC, OBS frontend API, optional Qt builds with C fallbacks, and modal dialog patterns. Use when adding UI components or C++ features to OBS plugins.
55vendure-developing
Develop Vendure e-commerce plugins, extend GraphQL APIs, create Admin UI components, and define database entities. Use vendure-expert agent for comprehensive guidance across all Vendure development domains.
36vendure-admin-ui-writing
Create Vendure Admin UI extensions with React components, route registration, navigation menus, and GraphQL integration. Handles useQuery, useMutation, useInjector patterns. Use when building Admin UI features for Vendure plugins.
33vendure-entity-writing
Define Vendure database entities extending VendureEntity, with TypeORM decorators, relations, custom fields, and channel-awareness. Use when creating database models in Vendure.
31vendure-graphql-writing
Extend Vendure GraphQL schema with custom types, queries, mutations, and resolvers. Handles RequestContext threading, permissions, and dual Shop/Admin API separation. Use when adding GraphQL endpoints to Vendure.
31vendure-plugin-writing
Create production-ready Vendure plugins with @VendurePlugin decorator, NestJS dependency injection, lifecycle hooks, and configuration patterns. Use when developing new Vendure plugins or extending existing ones.
29