Agent skill

Helm Charts

by aehrc in aehrc/pathling

Expert guidance for creating Helm charts with best practices.

Apache-2.0Auto-check passedDevOps & Cloud

Install Helm Charts

skills CLI
$ npx skills add aehrc/pathling --skill helm-charts -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aehrc/pathling helm-charts --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aehrc/pathling.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/helm-charts .claude/skills/helm-charts && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
helm-charts
GitHub stars
137
Token cost
~2.9k tokens
SKILL.md length
1,122 words
Files
1
Skills in repo
25
Repo updated
First seen
Licence
Apache-2.0

At a glance

Expert guidance for creating Helm charts with best practices.

  • The user asks to create
  • Calls helm; reaches tx.fhir.org; needs PATHLING_AUTH_TOKEN
  • Review Helm charts
  • Kubernetes deployments

What it does

Helm Charts is an agent skill from aehrc/pathling. Expert guidance for creating Helm charts with best practices. Use this skill when the user asks to create, modify, or review Helm charts, Kubernetes deployments, values.yaml files, or chart templates. Trigger keywords include "helm", "kubernetes chart", "k8s deployment", "helm template", "values.yaml".

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Container orchestration. It works with Helm and Kubernetes. The repository describes itself as: Tools that make it easier to use FHIR and clinical terminology within data analytics, built on Apache Spark. The licence is Apache-2.0.

When your agent uses it

  • The user asks to create
  • Review Helm charts
  • Kubernetes deployments
  • Values.yaml files

Example prompts

  • “kubernetes chart”
  • “k8s deployment”
  • “helm template”
  • “/helm-charts”

Requirements

  • Docker
  • A credential in PATHLING_AUTH_TOKEN

What it can do on your machine

Read from SKILL.md and the folder at commit 56a3b4a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • helm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • tx.fhir.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PATHLING_AUTH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Helm Charts loads about 2.9k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 1,122 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~79
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aehrc/pathling at commit 56a3b4a, republished under its Apache-2.0 licence (© aehrc). 1,122 words, ~2,890 tokens.

Download SKILL.mdSave it as .claude/skills/helm-charts/SKILL.md (or your agent's skills folder).
name
helm-charts
description
Expert guidance for creating Helm charts with best practices. Use this skill when the user asks to create, modify, or review Helm charts, Kubernetes deployments, values.yaml files, or chart templates. Trigger keywords include "helm", "kubernetes chart", "k8s deployment", "helm template", "values.yaml".

You are an expert in creating Helm charts following best practices and Kubernetes conventions.

Guidelines

  • Use meaningful and descriptive names that clearly indicate purpose (avoid abbreviations).
  • Follow Helm naming conventions consistently throughout the chart.
  • Keep template logic simple and maintainable; avoid complex nested conditionals.
  • Provide sensible defaults that work for common deployment scenarios.
  • Document all configurable values comprehensively in the README.md.
  • Follow Kubernetes best practices for resource definitions.
Naming conventions
  • Chart name: lowercase (e.g., pathling, sql-on-fhir).
  • Kubernetes resource names: Use {{ .Release.Name }} concatenated with descriptive suffixes.
    • Example: {{ .Release.Name }}-deployment, {{ .Release.Name }}-service, {{ .Release.Name }}-pvc.
    • Do not use helper templates for naming unless specifically requested.
  • Template file names: lowercase kebab-case matching the resource type.
    • Example: deployment.yaml, service.yaml, pvc.yaml.
    • Use pvc.yaml not persistentvolumeclaim.yaml.
  • Value keys: camelCase for nested properties (e.g., imagePullPolicy, resourceLimits).
Values file structure
  • Use a single top-level key matching the chart name to namespace all chart values.
  • Organise values into logical nested groupings that reflect their purpose.
    • Example: resources, deployment, config.
  • Use tilde (~) to explicitly indicate null or unset optional values.
  • Use empty arrays ([]) as defaults for lists.
  • Use empty objects ({}) as defaults for maps.
  • Provide meaningful defaults that work for common use cases without requiring customisation.
  • Keep the structure flat where possible; avoid unnecessary nesting levels.
  • Group related configuration together (e.g., all image-related settings under an image key).
  • Resources: Set resources: {} by default (unset), with commented examples showing how to configure.
  • Simple application charts: Do not include secretConfig or service account support unless the application specifically requires it.
  • Persistence: Include PVC support for stateful applications, disabled by default with enabled: false.

Example structure for a simple application chart:

yaml
sqlOnFhir:
    image: "sql-on-fhir-server:latest"
    imagePullPolicy: "Always"
    replicas: 1

    resources: {}
        # requests:
        #   memory: "512Mi"
        #   cpu: "250m"
        # limits:
        #   memory: "1Gi"
        #   cpu: "500m"

    config: {}

    persistence:
        enabled: false
        size: "1Gi"
Template patterns
  • Always quote string values to prevent type coercion issues.
    • Example: {{ .Values.pathling.image | quote }}.
  • For complex types (arrays, objects), use the simple toJson pattern without conditionals.
    • Correct: volumes: {{ toJson .Values.pathling.volumes }}
    • This pattern works perfectly with empty arrays ([]), null values (~), and populated arrays.
    • Helm's toJson handles all these cases correctly without needing length checks or indent filters.
  • Do NOT use conditionals with toJson for array/object fields.
    • Incorrect: {{- if gt (len .Values.pathling.volumes) 0 }} followed by {{ toJson .Values.pathling.volumes | indent 8 }}.
    • This anti-pattern is unnecessarily complex and error-prone.
    • The simple toJson pattern is cleaner, more reliable, and easier to maintain.
  • Use explicit conditionals only for optional sections where you need to omit entire blocks.
    • Example: {{- if gt (len .Values.pathling.config) 0 }} when you want to completely omit the env: section if empty.
  • Use range loops for iterating over maps and lists when you need to transform each item.
    • Example: {{- range $configKey, $configValue := .Values.pathling.config }}.
  • Separate multiple resources in a single file with --- on its own line.
  • Make resource creation conditional when appropriate.
    • Example: only create secrets if secretConfig is defined.
  • Indent template logic consistently (2 spaces is standard).
  • Use {{- and -}} to control whitespace appropriately.

Example of simple toJson pattern for complex types:

yaml
# These fields work perfectly with toJson and require no conditionals
volumes: { { toJson .Values.pathling.volumes } }
tolerations: { { toJson .Values.pathling.tolerations } }
affinity: { { toJson .Values.pathling.affinity } }

Example conditional block (for environment variables where you want to omit the entire section when empty):

yaml
{{- if gt (len .Values.pathling.config) 0 }}
env:
  {{- range $configKey, $configValue := .Values.pathling.config }}
  - name: {{ $configKey }}
    value: {{ $configValue | quote }}
  {{- end }}
{{- end }}
File organisation
  • Create one template file per resource type as the default approach.
    • Example: deployment.yaml, service.yaml, configmap.yaml.
  • Co-locate multiple instances of the same resource type in a single file when they're closely related.
    • Example: multiple services in service.yaml.
  • Group dependent resources together when it improves clarity.
    • Example: secrets with the deployment that consumes them.
  • Use the templates/ directory for all Kubernetes resource templates.
  • Place helper functions in templates/_helpers.tpl.
  • Keep the root directory clean with only essential files: Chart.yaml, values.yaml, README.md.
Documentation standards
  • Include a comprehensive README.md in every chart with the following sections:
    • Introduction: Brief description of what the chart deploys.
    • Features: Bullet-point list of key capabilities.
    • Prerequisites: Required Kubernetes version, other dependencies.
    • Installation: Step-by-step installation instructions with code examples.
    • Configuration: Complete table of all configurable values.
    • Examples: Multiple example configurations for different deployment scenarios.
    • Upgrading: Notes on upgrade considerations if applicable.
    • Uninstalling: Instructions for clean removal.
  • Format the configuration table with these columns:
    • Parameter: Full path using dot notation (e.g., pathling.resources.limits.memory).
    • Description: Clear explanation of what the parameter controls.
    • Default: The default value (use backticks for code, show actual default from values.yaml).
  • Provide working code examples in the README that users can copy and paste.
  • Use proper language identifiers in all code blocks (yaml, bash, etc.).
  • Keep inline comments in values.yaml minimal; let the README provide detailed documentation.
  • Make value names self-documenting; choose clarity over brevity.

Example configuration table format:

ParameterDescriptionDefault
pathling.imageContainer image to usepathling/pathling:latest
pathling.replicasNumber of replicas to deploy1
pathling.resources.limits.memoryMemory limit for containers4Gi
Show full SKILL.md (390 more words)Show less
Configuration approach
  • Separate public configuration from sensitive configuration clearly.
    • Use config for non-sensitive environment variables.
    • Use secretConfig for sensitive values that should be stored in Kubernetes secrets.
  • Prefer environment variable-based configuration for application settings.
  • Don't tightly couple the chart to specific aspects of the application configuration, prefer the flexibility of letting the user set any configuration they need.
  • Support both standard values and secret values for the same configuration pattern.
  • Use consistent field naming across related configuration types.
    • Example: if you have config, name the secret variant secretConfig, not secrets or secretEnv.
  • Provide examples of both configuration types in the README.
  • Document which configuration method is preferred for different use cases.

Example configuration pattern:

yaml
pathling:
    # Non-sensitive configuration
    config:
        PATHLING_TERMINOLOGY_SERVER_URL: "https://tx.fhir.org/r4"
        PATHLING_SPARK_MASTER: "local[*]"

    # Sensitive configuration
    secretConfig:
        PATHLING_AUTH_TOKEN: "secret-token-value"
Kubernetes best practices
  • Always include health probes for application containers.
    • Define startupProbe for slow-starting applications.
    • Define livenessProbe to detect and restart unhealthy containers.
    • Define readinessProbe to control when containers receive traffic.
  • Define resource requests and limits for all containers to enable proper scheduling.
  • Support service accounts and RBAC when the application requires Kubernetes API access.
  • Make image pull policies configurable (default to Always).
  • Support pod-level configurations:
    • tolerations for node taints.
    • affinity rules for pod placement.
    • nodeSelector for basic node selection.
  • Use appropriate service types based on access requirements:
    • ClusterIP for internal services (default).
    • NodePort for external access in development.
    • LoadBalancer for production external access.
  • Follow the principle of least privilege for service accounts and RBAC roles.
  • Use Recreate deployment strategy for stateful applications; use RollingUpdate for stateless applications.
  • Set appropriate terminationGracePeriodSeconds for graceful shutdown.
  • Do not include ingress resources in charts, they are generally deployment-specific and not always necessary.
  • Do not include other charts as dependencies unless absolutely necessary.
  • Never depend upon any chart from Bitnami.

Example health probe configuration:

yaml
startupProbe:
    httpGet:
        path: /healthcheck
        port: http
    initialDelaySeconds: 30
    periodSeconds: 10
    failureThreshold: 30

livenessProbe:
    httpGet:
        path: /healthcheck
        port: http
    periodSeconds: 30
    failureThreshold: 3

readinessProbe:
    httpGet:
        path: /healthcheck
        port: http
    periodSeconds: 10
    failureThreshold: 3
Testing and validation
  • Use helm template to inspect rendered templates during development.
  • Use helm lint to validate chart structure and templates before committing.
  • Test installation with default values in a clean namespace in the docker-desktop cluster.
  • Test with custom values that exercise different configuration paths.
Version management
  • Follow semantic versioning for the chart version (major.minor.patch).
  • Increment major version for breaking changes to the values schema.
  • Increment minor version for new features or significant enhancements.
  • Increment patch version for bug fixes and minor improvements.
  • Update appVersion in Chart.yaml to match the application version being deployed.
  • Document version compatibility in the README (chart version, app version, Kubernetes version).

© aehrc, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/helm-charts of aehrc/pathling.

Open the folder on GitHubat commit 56a3b4a

Compare with similar skills

Helm Charts next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Helm Charts compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Helm Charts this skillaehrc/pathling137—~2.9kAutomated safety check: PassApache-2.0
Sim Helmsimstudioai/sim30k—~2.2kAutomated safety check: PassApache-2.0
Helm Chart ScaffoldingCybereason-Public/owLSM28013 repos~381Automated safety check: PassGPL-2.0
Kubernetes SpecialistJeffallan/claude-skills12k1 repos~2.1kAutomated safety check: PassMIT
NGINX Ingress Controller Feature Checklistsnginx/kubernetes-ingress5.1k—~1.4kAutomated safety check: PassApache-2.0
KubeShark for KubernetesLukasNiessen/kubernetes-skill446—~1.2kAutomated safety check: PassMIT

Similar skills

  • Sim Helm

    simstudioai/sim

    Install, upgrade, and operate the Sim Helm chart on Kubernetes.

    30k GitHub stars~2.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Helm Chart Scaffolding

    Cybereason-Public/owLSM

    Comprehensive guidance for creating, organizing, and managing Helm charts for packaging and deploying Kubernetes applications.

    280 GitHub starsUsed in 13 repos~381 tokens
    DevOps & CloudAuto-check passed
  • Kubernetes Specialist

    Jeffallan/claude-skills

    Creates and checks Kubernetes manifests, Helm charts, RBAC and network policies, and helps debug pod problems, with kubectl checks and rollback steps.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    DevOps & CloudAuto-check passed
  • Gives step-by-step checklists for adding Ingress annotations, VirtualServer fields and Helm values to the NGINX Kubernetes Ingress Controller, with common gotchas.

    5.1k GitHub stars~1.4k tokensUpdated today
    DevOps & CloudAuto-check passed
  • KubeShark for Kubernetes

    LukasNiessen/kubernetes-skill

    Keeps Kubernetes manifests, Helm charts and policies grounded by diagnosing six failure modes, such as insecure defaults and API drift, and loading only matching references.

    446 GitHub stars~1.2k tokensUpdated 26 days ago
    DevOps & CloudAuto-check passed
  • Nim Operator Install

    NVIDIA/k8s-nim-operator

    Official

    Install NVIDIA NIM Operator on Kubernetes with prerequisite checks, optional NVIDIA GPU Operator dependency installation, public or local Helm chart selection, optional Dynamo support, and optional…

    159 GitHub stars~4.7k tokensUpdated 3 days ago
    DevOps & CloudAuto-check passed

More from aehrc/pathling

All 25 skills in this repo
  • Databricks CLI

    aehrc/pathling

    Expert guidance for using the Databricks CLI to manage Databricks workspaces, clusters, jobs, pipelines, Unity Catalog, SQL warehouses, serving endpoints, secrets, bundles, and all other Databricks…

    137 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Fhir API

    aehrc/pathling

    Expert guidance for implementing FHIR RESTful API servers and clients following the HL7 FHIR specification.

    137 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Fhir Bulk Data

    aehrc/pathling

    Expert guidance for implementing FHIR Bulk Data Access (Flat FHIR) following the HL7 specification.

    137 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Fhir Search Spec

    aehrc/pathling

    FHIR RESTful search specification expert with access to the official HL7 search specification text and the formal SearchParameter registry.

    137 GitHub stars~649 tokensUpdated yesterday
    Auto-check passed
  • Design and generate comprehensive FHIRPath test suites using input domain partitioning and Pathling's DSL test framework.

    137 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Hapi Fhir Server

    aehrc/pathling

    Expert guidance for implementing FHIR servers using HAPI FHIR Plain Server framework.

    137 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Helm Charts

What does Helm Charts do?

Expert guidance for creating Helm charts with best practices. Helm Charts is an agent skill from aehrc/pathling. Expert guidance for creating Helm charts with best practices.

When should I use Helm Charts?

Helm Charts fits situations like: the user asks to create; review Helm charts; Kubernetes deployments; values.yaml files.

How do I install Helm Charts in Claude Code?

Run `npx skills add aehrc/pathling --skill helm-charts -a claude-code`. Or copy the skill folder (.claude/skills/helm-charts in aehrc/pathling) into .claude/skills/helm-charts in your project. Claude Code loads it when a task matches its description.

How do I install Helm Charts in Codex?

Run `npx skills add aehrc/pathling --skill helm-charts -a codex`. Or copy the skill folder (.claude/skills/helm-charts in aehrc/pathling) into .agents/skills/helm-charts in your project. Codex loads it when a task matches its description.

Can I use Helm Charts in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aehrc/pathling --skill helm-charts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/helm-charts, .gemini/skills/helm-charts, .github/skills/helm-charts and .opencode/skills/helm-charts in your project.

What does Helm Charts need to run?

Going by SKILL.md and its folder, Helm Charts needs the command-line tools its instructions call (helm) and credentials named PATHLING_AUTH_TOKEN. Our summary lists: Docker; A credential in PATHLING_AUTH_TOKEN.

Does Helm Charts access the network?

SKILL.md names 1 domain. In commands or code: tx.fhir.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Helm Charts safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Helm Charts use?

Helm Charts is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Helm Charts use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Helm Charts?

Skills that share tags, products or a category with Helm Charts: Sim Helm (simstudioai/sim, 30k stars), Helm Chart Scaffolding (Cybereason-Public/owLSM, 280 stars), Kubernetes Specialist (Jeffallan/claude-skills, 12k stars) and NGINX Ingress Controller Feature Checklists (nginx/kubernetes-ingress, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Helm Charts?

aehrc (a GitHub organization) maintains it in aehrc/pathling, which has 137 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 8, 2026.

Source: aehrc/pathling on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.