Helm chart quality review
Skill Raishin/vanguard-frontier-agentic/skills/qa/helm-chart-quality-review
Curated marketplace of AI skills, agents, and rules for cloud, zero-trust, and compliance-aware engineering - works with Claude Code, Codex, Cursor, Copilot, and more.
npx -y skills add Raishin/vanguard-frontier-agentic --skill helm-chart-quality-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill when a user provides a Helm chart or asks to review Helm chart quality, security, or testability — including Chart.yaml, values.yaml, templates/, tests/, or chart-testing CI configuration.
SKILL.md
5.4 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Helm Chart Quality Review
Purpose
This skill reviews Helm chart source for quality, security, and testability defects. It reads chart files statically — Chart.yaml, values.yaml, values.schema.json, templates/, tests/, and CI configuration — without installing the chart or contacting a Kubernetes cluster. The review surfaces defects that allow bad workloads to be deployed silently: insecure container security contexts, missing resource governance, absent health probes, RBAC over-permission, hardcoded or default credentials, and missing helm test coverage.
Lean operating rules
- Treat
privileged: true,capabilities.add: [ALL]or any combination that grants root-equivalent privileges as CRITICAL — stop and flag before continuing. - Treat
hostNetwork: true,hostPID: true, orhostIPC: trueas CRITICAL — these give a container visibility into the node's network stack, process table, or IPC namespace. - Treat secrets rendered inline in a ConfigMap (not a Secret resource) as CRITICAL — plain-text secrets are visible to any workload that can read ConfigMaps in the namespace.
- Treat a
ClusterRoleBindingto thedefaultservice account as CRITICAL — any workload in the namespace inherits cluster-scoped access. - Treat
capabilities.add: [SYS_ADMIN]or[NET_ADMIN]as CRITICAL — these grant near-root kernel capabilities. - Treat hardcoded
:latestimage tags without override capability as HIGH — breaks reproducibility and makes rollback unreliable. - Treat
securityContext.runAsRoot: trueor the absence ofrunAsNonRooton pod or container spec as HIGH — workloads should not run as UID 0. - Treat
allowPrivilegeEscalationnot explicitly set tofalseas HIGH — a child process can gain more privileges than the parent. - Treat cluster-scoped RBAC roles where namespace-scoped would suffice as HIGH — blast radius of a compromise is the entire cluster.
- Treat
serviceAccount.automountServiceAccountTokennot set tofalsewhen the workload does not call the Kubernetes API as HIGH — the token is mounted unnecessarily and exploitable. - Treat missing
resources.requestsandresources.limitson every container as HIGH — without limits, a misbehaving pod can trigger node over-subscription and OOM kills on neighbours. - Treat missing
livenessProbeorreadinessProbeas HIGH — rolling updates proceed blind; a pod stuck in a failed state can be sent live traffic. - Treat sensitive default credential values (
admin,password, empty string) in values.yaml as CRITICAL — users forget to override defaults and ship them to production. - Treat the absence of
values.schema.jsonwhen required values carry no type or pattern constraint as MEDIUM —helm installaccepts arbitrary input with no validation. - Treat missing
readOnlyRootFilesystem: trueas MEDIUM — a container with a writable root filesystem can modify its own binaries or drop exploit payloads. - Treat missing
startupProbefor slow-starting containers as MEDIUM — liveness checks kill containers that need more startup time, causing crash loops. - Treat no
PodDisruptionBudgetfor stateful or singleton workloads as MEDIUM — node drains can take the workload to zero replicas. - Treat no
HorizontalPodAutoscalerwhere the workload is expected to scale as LOW. - Treat probe timeouts or failure thresholds at defaults with no tuning rationale as LOW.
- Treat no
NOTES.txtas LOW — users have no post-install guidance. - Treat a chart version that is not semver-compliant as LOW.
- Treat
tests/that contain only pod-existence checks and no service reachability or functional assertion as LOW — existence proves the pod started, not that the service works. - Treat no
tests/directory at all as MEDIUM — helm test integration is absent. - Treat no CI integration for chart-testing (
ct lint-and-installor equivalent) as MEDIUM — the chart is not regression-tested on install. - Label every finding with its evidence basis:
chart source provided,values only,documentation-based, orinference. - Do not request kubeconfig, cluster credentials, cloud provider credentials, or live values files containing secrets. Ask for sanitized versions with placeholder values.
- Static review only — never install a chart, never contact a Kubernetes cluster, never run
helm upgradeorkubectl apply.
References
Load these only when needed:
- Workflow and output contract — use when executing the full review or formatting the final answer.
Response minimum
Return, at minimum:
- Linting and template correctness findings
- Values hygiene findings (sensitive defaults, schema validation,
:latesttags) - Template security findings (securityContext, capabilities, host namespaces, secrets in ConfigMap)
- Resource governance findings (requests/limits, PDB, HPA)
- Health and observability findings (liveness, readiness, startup probes)
- Testability findings (helm test, chart-testing CI)
- RBAC and service account findings
- Severity-labelled finding list (CRITICAL / HIGH / MEDIUM / LOW)
- Safe next actions
What ships with it: 2 files
9.3 KB alongside SKILL.md
references/
- workflow-and-output.md7.8 KB
- metadata.json1.5 KB