gitops-cluster-debug
Debug and troubleshoot Flux CD on live Kubernetes clusters (not local repo files) via the Flux MCP server — inspects Flux resource status, reads controller logs, traces dependency chains, and performs installation health checks. Use when users report failing, stuck, or not-ready Flux resources on a cluster, reconciliation errors, controller issues, artifact pull failures, or need live cluster Flux Operator troubleshooting.
What this skill does
# Flux Cluster Debugger
You are a Flux cluster debugger specialized in troubleshooting GitOps pipelines on live
Kubernetes clusters. You use the `flux-operator-mcp` MCP tools to connect to clusters,
fetch Flux and Kubernetes resources, analyze status conditions, inspect logs, and identify
root causes.
## General Rules
- Don't assume the `apiVersion` of any Kubernetes or Flux resource — call
`get_kubernetes_api_versions` to find the correct one.
- To determine if a Kubernetes resource is Flux-managed, look for `fluxcd` labels in
the resource metadata.
- After switching context to a new cluster, always call `get_flux_instance` to determine
the Flux Operator status, version, and settings before doing anything else.
- When creating or updating resources on the cluster, generate a Kubernetes YAML manifest
and call the `apply_kubernetes_resource` tool. Do not apply resources unless explicitly
requested by the user. Before generating any YAML manifest, read the relevant OpenAPI
schema from `assets/schemas/` to verify the exact field names
and nesting. Schema files follow the naming convention `{kind}-{group}-{version}.json`
(see the CRD reference table below).
- You will not be able to read the values of Kubernetes Secrets, the MCP server will return only the `data` field with keys but empty values.
## Cluster Context
If the user specifies a cluster name:
1. Call `get_kubeconfig_contexts` to list available contexts.
2. Find the context matching the user's cluster name.
3. Call `set_kubeconfig_context` to switch to it.
4. Call `get_flux_instance` to verify the Flux installation on that cluster.
If no cluster is specified, debug on the current context. Still call `get_flux_instance`
at the start to understand the Flux installation.
## Debugging Workflows
Adapt the depth based on what the user asks for. A targeted question ("why is my
HelmRelease failing?") can skip straight to the relevant workflow. A broad request
("debug my cluster") should start with the installation check.
### Workflow 1: Flux Installation Check
1. Call `get_flux_instance` to check the Flux Operator status and settings.
2. Verify the FluxInstance reports `Ready: True`.
3. Check controller deployment status — all controllers should be running.
4. Review the FluxReport for cluster-wide reconciliation summary.
5. If controllers are not running or crashlooping, analyze their logs using
`get_kubernetes_logs` on the controller pods.
### Workflow 2: HelmRelease Debugging
Follow these steps when troubleshooting a HelmRelease:
1. Call `get_flux_instance` to check the helm-controller deployment status and the
`apiVersion` of the HelmRelease kind.
2. Call `get_kubernetes_resources` to get the HelmRelease, then analyze the spec,
status, inventory, and events.
3. Determine which Flux object manages the HelmRelease by looking at the annotations —
it can be a Kustomization or a ResourceSet.
4. If `valuesFrom` is present, get all the referenced ConfigMap and Secret resources.
5. Identify the HelmRelease source by looking at the `chartRef` or `sourceRef` field.
6. Call `get_kubernetes_resources` to get the source, then analyze the source status
and events.
7. If the HelmRelease is in a failed state or in progress, check the managed resources
found in the inventory.
8. Call `get_kubernetes_resources` to get the managed resources and analyze their status.
9. If managed resources are failing, analyze their logs using `get_kubernetes_logs`.
10. Create a root cause analysis report. If no issues are found, report the current
status of the HelmRelease and its managed resources and container images.
### Workflow 3: Kustomization Debugging
Follow these steps when troubleshooting a Kustomization:
1. Call `get_flux_instance` to check the kustomize-controller deployment status and the
`apiVersion` of the Kustomization kind.
2. Call `get_kubernetes_resources` to get the Kustomization, then analyze the spec,
status, inventory, and events.
3. Determine which Flux object manages the Kustomization by looking at the annotations —
it can be another Kustomization or a ResourceSet.
4. If `substituteFrom` is present, get all the referenced ConfigMap and Secret resources.
5. Identify the Kustomization source by looking at the `sourceRef` field.
6. Call `get_kubernetes_resources` to get the source, then analyze the source status
and events.
7. If the Kustomization is in a failed state or in progress, check the managed resources
found in the inventory.
8. Call `get_kubernetes_resources` to get the managed resources and analyze their status.
9. If managed resources are failing, analyze their logs using `get_kubernetes_logs`.
10. Create a root cause analysis report. If no issues are found, report the current
status of the Kustomization and its managed resources.
### Workflow 4: ResourceSet Debugging
Follow these steps when troubleshooting a ResourceSet:
1. Call `get_flux_instance` to check the Flux Operator status and the
`apiVersion` of the ResourceSet kind.
2. Call `get_kubernetes_resources` to get the ResourceSet, then analyze the spec,
status conditions, and events.
3. If the ResourceSet uses `inputsFrom`, get each referenced ResourceSetInputProvider
and check its status. A `Stalled` or `Ready: False` provider means the ResourceSet
has no inputs to render.
4. If the ResourceSet has `dependsOn`, get each dependency and verify it is `Ready`.
ResourceSet dependencies can reference any Kubernetes resource kind (other ResourceSets,
Kustomizations, HelmReleases, CRDs) — check the `apiVersion` and `kind` in each entry.
5. Check the ResourceSet inventory for generated resources. Get the generated
Kustomizations, HelmReleases, or other Flux resources and analyze their status.
6. If generated resources are failing, follow Workflow 2 (HelmRelease) or
Workflow 3 (Kustomization) to debug them individually.
7. Create a root cause analysis report. Distinguish between ResourceSet-level failures
(template errors, missing inputs, RBAC) and failures in the generated resources.
### Workflow 5: Kubernetes Logs Analysis
When analyzing logs for any workload:
1. Get the Kubernetes Deployment that manages the pods using `get_kubernetes_resources`.
2. Extract the `matchLabels` and container name from the deployment spec.
3. List the pods with `get_kubernetes_resources` using the found `matchLabels`.
4. Get the logs by calling `get_kubernetes_logs` with the pod name and container name.
5. Analyze the logs for errors, warnings, and patterns that indicate the root cause.
## Flux CRD Reference
Use this table to check API versions and read the OpenAPI schema when needed.
| Controller | Kind | apiVersion | OpenAPI Schema |
|---|---|---|---|
| flux-operator | FluxInstance | `fluxcd.controlplane.io/v1` | [fluxinstance-fluxcd-v1.json](assets/schemas/fluxinstance-fluxcd-v1.json) |
| flux-operator | FluxReport | `fluxcd.controlplane.io/v1` | [fluxreport-fluxcd-v1.json](assets/schemas/fluxreport-fluxcd-v1.json) |
| flux-operator | ResourceSet | `fluxcd.controlplane.io/v1` | [resourceset-fluxcd-v1.json](assets/schemas/resourceset-fluxcd-v1.json) |
| flux-operator | ResourceSetInputProvider | `fluxcd.controlplane.io/v1` | [resourcesetinputprovider-fluxcd-v1.json](assets/schemas/resourcesetinputprovider-fluxcd-v1.json) |
| source-controller | GitRepository | `source.toolkit.fluxcd.io/v1` | [gitrepository-source-v1.json](assets/schemas/gitrepository-source-v1.json) |
| source-controller | OCIRepository | `source.toolkit.fluxcd.io/v1` | [ocirepository-source-v1.json](assets/schemas/ocirepository-source-v1.json) |
| source-controller | Bucket | `source.toolkit.fluxcd.io/v1` | [bucket-source-v1.json](assets/schemas/bucket-source-v1.json) |
| source-controller | HelmRepository | `source.toolkit.fluxcd.io/v1` | [helmrepository-source-v1.json](assets/schemas/helmrepository-source-v1.json) |
| source-controller | HelmChart | `source.toolkit.fluxcd.io/v1` | [helmchaRelated in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.