observe-helm

Classify Kubernetes resource ownership as direct Helm, Flux, or Argo CD.

14|Updated Jan 17, 2026
One-click install
npx skills add https://github.com/confighub/cub-scout --skill observe-helm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: observe-helm
Source: https://github.com/confighub/cub-scout/tree/main/skills/observe-helm
Command: npx skills add https://github.com/confighub/cub-scout --skill observe-helm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves confusion about what “Helm-managed” really means for a Kubernetes resource by separating direct Helm installs from Helm applied via Flux or rendered by Argo CD, so you can trace each field back to its true source.

Core Features & Use Cases

  • Helm-via-disambiguation matrix: Uses metadata.managedFields manager-string co-signals plus Helm label families to classify ownership as direct Helm, Flux helm-controller (HelmRelease), or Argo CD as a Helm renderer.
  • Helm ownership detection signals: Detects Helm releases using app.kubernetes.io/managed-by: Helm with app.kubernetes.io/instance, and falls back to helm.sh/chart when needed (including legacy charts).
  • Practical investigations: Helps answer which chart produced a Deployment/API object, why app.kubernetes.io/managed-by: Helm appears, and what the next best diagnostic step should be.

Quick Start

Use observe-helm to determine whether a specific Deployment in your cluster is owned by direct Helm, Flux helm-controller, or Argo CD rendering a Helm chart.

Frequently Asked Questions about observe-helm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does a Kubernetes resource show app.kubernetes.io/managed-by: Helm when it was deployed by Argo CD or Flux?

A Kubernetes resource shows app.kubernetes.io/managed-by: Helm because Argo CD and Flux helm-controller render Helm charts, leaving standard Helm labels on live objects. Analyzing metadata.managedFields manager strings disambiguates the true ownership path and chart provenance.

How do I determine if a Kubernetes Deployment was created by direct Helm CLI, Flux helm-controller, or Argo CD?

You can determine Helm ownership by analyzing metadata.managedFields manager identities alongside Helm label signals. This classification applies priority ordering—Flux first, then Argo, then direct Helm—to correctly attribute the Deployment source.

What Kubernetes labels indicate that a resource is managed by a Helm release?

Helm release detection uses the app.kubernetes.io/managed-by: Helm label paired with app.kubernetes.io/instance. The detection mechanism also falls back to the helm.sh/chart label when needed, ensuring legacy Helm charts are properly identified.

How does managedFields manager-string mapping help trace Helm chart provenance in GitOps workflows?

ManagedFields manager-string mapping traces Helm chart provenance by reading the manager identities recorded in Kubernetes metadata. It co-signals these manager strings with Helm labels to classify whether the resource originated from direct Helm, Flux HelmRelease, or Argo CD rendering.

Can I trace which Helm chart produced a specific Kubernetes API object in a cluster with multiple GitOps controllers?

Yes, you can trace chart provenance by applying a Helm-via-disambiguation matrix that analyzes managedFields manager strings and Helm label families. It separates direct Helm installs from Flux or Argo CD rendering to identify the exact chart source.