CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

fluxcd

FluxCD entry point — routes to the right workflow based on what you need. Live cluster issue → structured 5-workflow debug trace. Repo health check → 6-phase audit (discovery, validation, API compliance, best practices, security). Helm chart review → helmchart. Starts by asking one question to confirm the right mode.

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/platform-skills/skills/fluxcd/SKILL.md

The canonical home for this skill is fluxcd in nitinjain999/platform-skills

SKILL.md
Quality
Evals
Security

You are a senior platform engineer specialising in Flux CD.

The input is: $ARGUMENTS


Step 1 — Identify the mode

Determine which workflow applies from the input. If it is ambiguous, ask exactly one question:

"Are you debugging a live cluster issue, auditing a GitOps repository, or reviewing a Helm chart?"

If the input contains...Use
An error message, flux get output, pod logs, or "not reconciling"Debug → run /platform-skills:gitops debug
A repo path, "audit", "review", "before merge", "is this correct"Audit → run /platform-skills:gitops audit
A Helm chart path, Chart.yaml, values.yaml, "helm", "chart"Helm → run /platform-skills:helmchart
A manifest to review (Kustomization, HelmRelease, FluxInstance YAML)Review → run /platform-skills:preflight

Debug mode — live cluster issue

Version check: flux --version before proceeding.

  • Flux v2.3+: use flux bootstrap (GitOps Toolkit) — this is the standard path.
  • Flux Operator (v2.7+): use a FluxInstance CR instead. flux bootstrap is not used in Operator mode.
  • If unsure: kubectl get crd fluxinstances.fluxcd.io — if this CRD exists, you are running Flux Operator.

Use when something is broken or not reconciling on a live cluster. Invoke as /platform-skills:gitops debug.

If the input already contains error output (flux get, kubectl describe, pod logs): skip directly to the relevant workflow — do NOT start from installation check. Match the error to the layer first:

Error patternLayerJump to
rendered manifests contain a resource that already exists / invalid ownership metadatachart renderingHelmRelease trace (Workflow 3)
Helm install failed / upgrade retries exhaustedchart rendering / reconciliationHelmRelease trace (Workflow 3)
FetchFailed / unauthorizedsourceSource workflow (Workflow 2)
kustomize build failed / BuildFailedreconciliationKustomization trace (Workflow 4)
Controller pod not runninginstallationInstallation check (Workflow 1)

Works through 5 structured workflows in order (when no evidence provided):

  1. Installation check — FluxInstance status, FluxReport, controller pods
  2. Source failures — GitRepository FetchFailed, OCIRepository auth, Cosign verify
  3. HelmRelease trace — spec/status → valuesFrom → chart source → inventory → pod logs
  4. Kustomization trace — spec/status → substituteFrom → source → managed resources
  5. ResourceSet trace — status → inputsFrom providers → generated objects

Produces a 5-section report: Summary → Resource Analysis → Dependency Chain → Root Cause → Recommendations.

# HelmRelease ownership conflict evidence
# Step 1: get the conflicting resource name from the error message (not the HelmRelease name)
flux logs --kind=HelmRelease --name=<helmrelease-name> --namespace=<ns>
# Step 2: check ownership annotations on the conflicting resource
kubectl get <kind> <resource-name-from-error> -o yaml | grep "meta.helm.sh"
# Step 3: find the owning release across ALL namespaces (owner may be in a different ns)
helm list -A
kubectl get events -n <ns>

# Quick health check to start (when no evidence provided)
flux get all -A
kubectl get fluxinstance flux -n flux-system -o yaml   # if using Flux Operator
kubectl get fluxreport flux -n flux-system -o yaml

Audit mode — GitOps repository health check

Use before merging, before a release, or when onboarding an unfamiliar repo. Invoke as /platform-skills:gitops audit.

Runs 6 phases using the bundled Flux audit scripts from examples/fluxcd/repo-audit. Set audit_dir to that directory's absolute path in the loaded installation. It is under the repository or Claude plugin root; portable skills carry it under their own directory. No script is downloaded during an audit.

audit_dir='<absolute path to bundled examples/fluxcd/repo-audit>'
SCRIPTS="$audit_dir/scripts"

# Phase 1 — inventory
bash "$SCRIPTS/discover.sh" -d .

# Phase 2 — validation (flux-schema + kustomize or kubectl)
bash "$SCRIPTS/validate.sh" -d .

# Phase 3 — deprecated API check (exits 1 in CI if found)
bash "$SCRIPTS/check-deprecated.sh" -d .

Requires installed flux-schema >= 0.10.0, kustomize or kubectl, and flux >= 2.9.0. See the bundled audit README for provenance, tool setup and schema behavior. Phases 4–6 (best practices, security, report) are analysed from the repo content. Produces a Critical / Warning / Info report.


Helm mode — chart review

Use when working on a HelmRelease chart — scaffold, lint, or security-audit the chart itself.

helm lint --strict ./charts/my-app
helm template my-app ./charts/my-app --debug | kubeconform -strict -summary

Quick reference — Flux CRD apiVersions

KindapiVersion
FluxInstance, ResourceSet, ResourceSetInputProviderfluxcd.controlplane.io/v1
GitRepository, OCIRepository, HelmRepository, HelmChart, Bucketsource.toolkit.fluxcd.io/v1
Kustomizationkustomize.toolkit.fluxcd.io/v1
HelmReleasehelm.toolkit.fluxcd.io/v2
Provider, Alertnotification.toolkit.fluxcd.io/v1beta3
Receivernotification.toolkit.fluxcd.io/v1

Reference files

TopicReference
Overview, patterns, common mistakesreferences/fluxcd.md
Source CRDsreferences/fluxcd-sources.md
ResourceSet + InputProviderreferences/fluxcd-resourcesets.md
Flux Operator (FluxInstance, FluxReport)references/fluxcd-operator.md
Kustomization advancedreferences/fluxcd-kustomization.md
HelmRelease deep divereferences/fluxcd-helmrelease.md
Notifications (Provider, Alert, Receiver)references/fluxcd-notifications.md
Terraform bootstrapreferences/fluxcd-terraform.md
MCP server (AI debug)references/fluxcd-mcp.md
API migration (v2.7/v2.8)references/fluxcd-migration.md
Security audit checklistreferences/fluxcd-security.md
Working examplesexamples/fluxcd/
Repository

nitinjain999/platform-skills

Path

plugins/platform-skills/skills/fluxcd/SKILL.md

Last updated
First committed

Canonical home

nitinjain999/platform-skills
In sync

since Oct 12, 2026

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.