{"id":"759bbc52-be75-479a-b2e2-228ea9e3b75f","shortId":"RDXhUs","kind":"skill","title":"gitops-cluster-debug","tagline":"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 ","description":"# Flux Cluster Debugger\n\nYou are a Flux cluster debugger specialized in troubleshooting GitOps pipelines on live\nKubernetes clusters. You use the `flux-operator-mcp` MCP tools to connect to clusters,\nfetch Flux and Kubernetes resources, analyze status conditions, inspect logs, and identify\nroot causes.\n\n## General Rules\n\n- Don't assume the `apiVersion` of any Kubernetes or Flux resource — call\n  `get_kubernetes_api_versions` to find the correct one.\n- To determine if a Kubernetes resource is Flux-managed, look for `fluxcd` labels in\n  the resource metadata.\n- After switching context to a new cluster, always call `get_flux_instance` to determine\n  the Flux Operator status, version, and settings before doing anything else.\n- When creating or updating resources on the cluster, generate a Kubernetes YAML manifest\n  and call the `apply_kubernetes_resource` tool. Do not apply resources unless explicitly\n  requested by the user. Before generating any YAML manifest, read the relevant OpenAPI\n  schema from `assets/schemas/` to verify the exact field names\n  and nesting. Schema files follow the naming convention `{kind}-{group}-{version}.json`\n  (see the CRD reference table below).\n- 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.\n\n## Cluster Context\n\nIf the user specifies a cluster name:\n\n1. Call `get_kubeconfig_contexts` to list available contexts.\n2. Find the context matching the user's cluster name.\n3. Call `set_kubeconfig_context` to switch to it.\n4. Call `get_flux_instance` to verify the Flux installation on that cluster.\n\nIf no cluster is specified, debug on the current context. Still call `get_flux_instance`\nat the start to understand the Flux installation.\n\n## Debugging Workflows\n\nAdapt the depth based on what the user asks for. A targeted question (\"why is my\nHelmRelease failing?\") can skip straight to the relevant workflow. A broad request\n(\"debug my cluster\") should start with the installation check.\n\n### Workflow 1: Flux Installation Check\n\n1. Call `get_flux_instance` to check the Flux Operator status and settings.\n2. Verify the FluxInstance reports `Ready: True`.\n3. Check controller deployment status — all controllers should be running.\n4. Review the FluxReport for cluster-wide reconciliation summary.\n5. If controllers are not running or crashlooping, analyze their logs using\n   `get_kubernetes_logs` on the controller pods.\n\n### Workflow 2: HelmRelease Debugging\n\nFollow these steps when troubleshooting a HelmRelease:\n\n1. Call `get_flux_instance` to check the helm-controller deployment status and the\n   `apiVersion` of the HelmRelease kind.\n2. Call `get_kubernetes_resources` to get the HelmRelease, then analyze the spec,\n   status, inventory, and events.\n3. Determine which Flux object manages the HelmRelease by looking at the annotations —\n   it can be a Kustomization or a ResourceSet.\n4. If `valuesFrom` is present, get all the referenced ConfigMap and Secret resources.\n5. Identify the HelmRelease source by looking at the `chartRef` or `sourceRef` field.\n6. Call `get_kubernetes_resources` to get the source, then analyze the source status\n   and events.\n7. If the HelmRelease is in a failed state or in progress, check the managed resources\n   found in the inventory.\n8. Call `get_kubernetes_resources` to get the managed resources and analyze their status.\n9. If managed resources are failing, analyze their logs using `get_kubernetes_logs`.\n10. Create a root cause analysis report. If no issues are found, report the current\n    status of the HelmRelease and its managed resources and container images.\n\n### Workflow 3: Kustomization Debugging\n\nFollow these steps when troubleshooting a Kustomization:\n\n1. Call `get_flux_instance` to check the kustomize-controller deployment status and the\n   `apiVersion` of the Kustomization kind.\n2. Call `get_kubernetes_resources` to get the Kustomization, then analyze the spec,\n   status, inventory, and events.\n3. Determine which Flux object manages the Kustomization by looking at the annotations —\n   it can be another Kustomization or a ResourceSet.\n4. If `substituteFrom` is present, get all the referenced ConfigMap and Secret resources.\n5. Identify the Kustomization source by looking at the `sourceRef` field.\n6. Call `get_kubernetes_resources` to get the source, then analyze the source status\n   and events.\n7. If the Kustomization is in a failed state or in progress, check the managed resources\n   found in the inventory.\n8. Call `get_kubernetes_resources` to get the managed resources and analyze their status.\n9. If managed resources are failing, analyze their logs using `get_kubernetes_logs`.\n10. Create a root cause analysis report. If no issues are found, report the current\n    status of the Kustomization and its managed resources.\n\n### Workflow 4: ResourceSet Debugging\n\nFollow these steps when troubleshooting a ResourceSet:\n\n1. Call `get_flux_instance` to check the Flux Operator status and the\n   `apiVersion` of the ResourceSet kind.\n2. Call `get_kubernetes_resources` to get the ResourceSet, then analyze the spec,\n   status conditions, and events.\n3. If the ResourceSet uses `inputsFrom`, get each referenced ResourceSetInputProvider\n   and check its status. A `Stalled` or `Ready: False` provider means the ResourceSet\n   has no inputs to render.\n4. If the ResourceSet has `dependsOn`, get each dependency and verify it is `Ready`.\n   ResourceSet dependencies can reference any Kubernetes resource kind (other ResourceSets,\n   Kustomizations, HelmReleases, CRDs) — check the `apiVersion` and `kind` in each entry.\n5. Check the ResourceSet inventory for generated resources. Get the generated\n   Kustomizations, HelmReleases, or other Flux resources and analyze their status.\n6. If generated resources are failing, follow Workflow 2 (HelmRelease) or\n   Workflow 3 (Kustomization) to debug them individually.\n7. Create a root cause analysis report. Distinguish between ResourceSet-level failures\n   (template errors, missing inputs, RBAC) and failures in the generated resources.\n\n### Workflow 5: Kubernetes Logs Analysis\n\nWhen analyzing logs for any workload:\n\n1. Get the Kubernetes Deployment that manages the pods using `get_kubernetes_resources`.\n2. Extract the `matchLabels` and container name from the deployment spec.\n3. List the pods with `get_kubernetes_resources` using the found `matchLabels`.\n4. Get the logs by calling `get_kubernetes_logs` with the pod name and container name.\n5. Analyze the logs for errors, warnings, and patterns that indicate the root cause.\n\n## Flux CRD Reference\n\nUse this table to check API versions and read the OpenAPI schema when needed.\n\n| Controller | Kind | apiVersion | OpenAPI Schema |\n|---|---|---|---|\n| flux-operator | FluxInstance | `fluxcd.controlplane.io/v1` | [fluxinstance-fluxcd-v1.json](assets/schemas/fluxinstance-fluxcd-v1.json) |\n| flux-operator | FluxReport | `fluxcd.controlplane.io/v1` | [fluxreport-fluxcd-v1.json](assets/schemas/fluxreport-fluxcd-v1.json) |\n| flux-operator | ResourceSet | `fluxcd.controlplane.io/v1` | [resourceset-fluxcd-v1.json](assets/schemas/resourceset-fluxcd-v1.json) |\n| flux-operator | ResourceSetInputProvider | `fluxcd.controlplane.io/v1` | [resourcesetinputprovider-fluxcd-v1.json](assets/schemas/resourcesetinputprovider-fluxcd-v1.json) |\n| source-controller | GitRepository | `source.toolkit.fluxcd.io/v1` | [gitrepository-source-v1.json](assets/schemas/gitrepository-source-v1.json) |\n| source-controller | OCIRepository | `source.toolkit.fluxcd.io/v1` | [ocirepository-source-v1.json](assets/schemas/ocirepository-source-v1.json) |\n| source-controller | Bucket | `source.toolkit.fluxcd.io/v1` | [bucket-source-v1.json](assets/schemas/bucket-source-v1.json) |\n| source-controller | HelmRepository | `source.toolkit.fluxcd.io/v1` | [helmrepository-source-v1.json](assets/schemas/helmrepository-source-v1.json) |\n| source-controller | HelmChart | `source.toolkit.fluxcd.io/v1` | [helmchart-source-v1.json](assets/schemas/helmchart-source-v1.json) |\n| source-controller | ExternalArtifact | `source.toolkit.fluxcd.io/v1` | [externalartifact-source-v1.json](assets/schemas/externalartifact-source-v1.json) |\n| source-watcher | ArtifactGenerator | `source.extensions.fluxcd.io/v1beta1` | [artifactgenerator-source-v1beta1.json](assets/schemas/artifactgenerator-source-v1beta1.json) |\n| kustomize-controller | Kustomization | `kustomize.toolkit.fluxcd.io/v1` | [kustomization-kustomize-v1.json](assets/schemas/kustomization-kustomize-v1.json) |\n| helm-controller | HelmRelease | `helm.toolkit.fluxcd.io/v2` | [helmrelease-helm-v2.json](assets/schemas/helmrelease-helm-v2.json) |\n| notification-controller | Provider | `notification.toolkit.fluxcd.io/v1beta3` | [provider-notification-v1beta3.json](assets/schemas/provider-notification-v1beta3.json) |\n| notification-controller | Alert | `notification.toolkit.fluxcd.io/v1beta3` | [alert-notification-v1beta3.json](assets/schemas/alert-notification-v1beta3.json) |\n| notification-controller | Receiver | `notification.toolkit.fluxcd.io/v1` | [receiver-notification-v1.json](assets/schemas/receiver-notification-v1.json) |\n| image-reflector-controller | ImageRepository | `image.toolkit.fluxcd.io/v1` | [imagerepository-image-v1.json](assets/schemas/imagerepository-image-v1.json) |\n| image-reflector-controller | ImagePolicy | `image.toolkit.fluxcd.io/v1` | [imagepolicy-image-v1.json](assets/schemas/imagepolicy-image-v1.json) |\n| image-automation-controller | ImageUpdateAutomation | `image.toolkit.fluxcd.io/v1` | [imageupdateautomation-image-v1.json](assets/schemas/imageupdateautomation-image-v1.json) |\n\n## Loading References\n\nLoad reference files when you need deeper information:\n\n- **[flux-crds.md](references/flux-crds.md)** — When you need detailed CRD field descriptions, status conditions, common failures, or the resource relationship diagram\n- **[troubleshooting.md](references/troubleshooting.md)** — When diagnosing a specific failure pattern or when you need the general debugging checklist\n\n## Report Format\n\nAs you trace through any debugging workflow, record each resource you inspect\n(kind, name, namespace, status) to build the dependency chain for the report.\n\nStructure debugging findings as a markdown report with these sections:\n\n1. **Summary** — cluster name, Flux version, resource under investigation, current status\n2. **Resource Analysis** — detailed breakdown of the resource spec, status conditions, and events\n3. **Dependency Chain** — trace from source to applier to managed resources (e.g., GitRepository → Kustomization → Deployments)\n4. **Root Cause** — identified root cause with evidence from status conditions, events, and logs\n5. **Recommendations** — prioritized steps to resolve the issue, with exact commands or manifest changes\n\n## Edge Cases\n\n- **No Flux installed**: If `get_flux_instance` returns no FluxInstance, tell the user that Flux is not installed on the cluster. Suggest installing the Flux Operator.\n- **MCP server unavailable**: If MCP tools fail to connect, tell the user that the `flux-operator-mcp` server is not running. Provide the install command.\n- **Suspended resources**: If a Flux resource has `.spec.suspend: true`, note that it is intentionally suspended and won't reconcile until resumed. Don't flag this as an error unless the user expects it to be active.\n- **Progressing resources**: If a resource shows `Ready: Unknown` with reason `Progressing`, it is actively reconciling. Wait for the reconciliation to complete before diagnosing. Note the last transition time.\n- **Flux-managed resources**: Resources with `fluxcd` labels are managed by Flux. Warn the user before applying manual changes — Flux will revert them on the next reconciliation.\n- **Stale status**: If the last reconciliation time is old relative to the configured interval, the controller may be overloaded or stuck. Check controller logs for backpressure or errors.\n- **Cluster context not found**: If the user's cluster name doesn't match any available context, list the available contexts and ask the user to clarify.","tags":["gitops","cluster","debug","agent","skills","fluxcd","agent-skills","ai-agents"],"capabilities":["skill","source-fluxcd","skill-gitops-cluster-debug","topic-agent-skills","topic-ai-agents","topic-fluxcd","topic-gitops","topic-skills"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/fluxcd/agent-skills/gitops-cluster-debug","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add fluxcd/agent-skills","source_repo":"https://github.com/fluxcd/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.505","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 111 github stars · SKILL.md body (12,120 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:55:22.463Z","embedding":null,"createdAt":"2026-04-18T22:11:02.261Z","updatedAt":"2026-04-22T00:55:22.463Z","lastSeenAt":"2026-04-22T00:55:22.463Z","tsv":"'/v1':1067,1076,1085,1094,1103,1112,1121,1130,1139,1148,1166,1202,1212,1222,1232 '/v1beta1':1157 '/v1beta3':1184,1193 '/v2':1175 '1':260,364,368,438,622,801,973,1315 '10':585,767 '2':269,381,428,458,642,819,928,986,1326 '3':279,388,475,612,659,836,932,997,1339 '4':288,398,496,680,791,864,1009,1354 '5':408,509,693,899,963,1025,1368 '6':522,704,920 '7':538,720,938 '8':558,740 '9':572,754 'abl':229 'activ':1471,1485 'adapt':326 'alert':1190 'alert-notification-v1beta3.json':1194 'alway':141 'analysi':590,772,943,966,1328 'analyz':84,416,468,532,569,578,652,714,751,760,829,917,968,1026 'annot':487,671 'anoth':675 'anyth':157 'api':109,1047 'apivers':99,453,637,814,893,1058 'appli':175,181,1516 'applier':1346 'artifactgener':1154 'artifactgenerator-source-v1beta1.json':1158 'ask':334,1576 'assets/schemas':200 'assets/schemas/alert-notification-v1beta3.json':1195 'assets/schemas/artifactgenerator-source-v1beta1.json':1159 'assets/schemas/bucket-source-v1.json':1123 'assets/schemas/externalartifact-source-v1.json':1150 'assets/schemas/fluxinstance-fluxcd-v1.json':1069 'assets/schemas/fluxreport-fluxcd-v1.json':1078 'assets/schemas/gitrepository-source-v1.json':1105 'assets/schemas/helmchart-source-v1.json':1141 'assets/schemas/helmrelease-helm-v2.json':1177 'assets/schemas/helmrepository-source-v1.json':1132 'assets/schemas/imagepolicy-image-v1.json':1224 'assets/schemas/imagerepository-image-v1.json':1214 'assets/schemas/imageupdateautomation-image-v1.json':1234 'assets/schemas/kustomization-kustomize-v1.json':1168 'assets/schemas/ocirepository-source-v1.json':1114 'assets/schemas/provider-notification-v1beta3.json':1186 'assets/schemas/receiver-notification-v1.json':1204 'assets/schemas/resourceset-fluxcd-v1.json':1087 'assets/schemas/resourcesetinputprovider-fluxcd-v1.json':1096 'assum':97 'autom':1227 'avail':267,1569,1573 'backpressur':1552 'base':329 'breakdown':1330 'broad':352 'bucket':1118 'bucket-source-v1.json':1122 'build':1298 'call':106,142,173,261,280,289,312,369,439,459,523,559,623,643,705,741,802,820,1014 'case':1383 'caus':92,589,771,942,1038,1356,1359 'cd':9 'chain':32,1301,1341 'chang':1381,1518 'chartref':518 'check':37,362,367,374,389,444,550,628,732,807,847,891,900,1046,1548 'checklist':1278 'clarifi':1580 'cluster':3,13,49,55,65,78,140,166,251,258,277,300,303,356,404,1317,1404,1555,1563 'cluster-wid':403 'command':1378,1435 'common':1256 'complet':1492 'condit':86,833,1255,1336,1364 'configmap':505,689 'configur':1539 'connect':76,1418 'contain':609,991,1023 'context':136,252,264,268,272,283,310,1556,1570,1574 'control':28,390,394,410,425,448,632,1056,1099,1108,1117,1126,1135,1144,1162,1171,1180,1189,1198,1208,1218,1228,1542,1549 'convent':214 'correct':114 'crashloop':415 'crd':221,1040,1251 'crds':890 'creat':160,586,768,939 'current':309,599,781,1324 'data':244 'debug':4,5,306,324,354,430,614,793,935,1277,1286,1306 'debugg':50,56 'deeper':1243 'depend':31,872,879,1300,1340 'dependson':869 'deploy':391,449,633,977,995,1353 'depth':328 'descript':1253 'detail':1250,1329 'determin':117,147,476,660 'diagnos':1266,1494 'diagram':1262 'distinguish':945 'doesn':1565 'e.g':1350 'edg':1382 'els':158 'empti':249 'entri':898 'error':952,1030,1463,1554 'event':474,537,658,719,835,1338,1365 'evid':1361 'exact':204,1377 'expect':1467 'explicit':184 'externalartifact':1145 'externalartifact-source-v1.json':1149 'extract':987 'fail':42,343,545,577,727,759,925,1416 'failur':950,957,1257,1269 'fals':854 'fetch':79 'field':205,245,521,703,1252 'file':17,210,1239 'find':112,270,1307 'flag':1459 'flux':8,20,24,48,54,70,80,104,124,144,149,291,296,314,322,365,371,376,441,478,625,662,804,809,914,1039,1062,1071,1080,1089,1319,1385,1389,1398,1408,1425,1440,1501,1511,1519 'flux-crds.md':1245 'flux-manag':123,1500 'flux-oper':1061,1070,1079,1088 'flux-operator-mcp':69,1424 'fluxcd':128,1506 'fluxcd.controlplane.io':1066,1075,1084,1093 'fluxcd.controlplane.io/v1':1065,1074,1083,1092 'fluxinst':384,1064,1393 'fluxinstance-fluxcd-v1.json':1068 'fluxreport':401,1073 'fluxreport-fluxcd-v1.json':1077 'follow':211,431,615,794,926 'format':1280 'found':554,596,736,778,1007,1558 'general':93,1276 'generat':167,190,905,909,922,960 'get':107,143,262,290,313,370,420,440,460,464,501,524,528,560,564,582,624,644,648,685,706,710,742,746,764,803,821,825,842,870,907,974,983,1002,1010,1015,1388 'gitop':2,60 'gitops-cluster-debug':1 'gitrepositori':1100,1351 'gitrepository-source-v1.json':1104 'group':216 'health':36 'helm':447,1170 'helm-control':446,1169 'helm.toolkit.fluxcd.io':1174 'helm.toolkit.fluxcd.io/v2':1173 'helmchart':1136 'helmchart-source-v1.json':1140 'helmreleas':342,429,437,456,466,482,512,541,603,889,911,929,1172 'helmrelease-helm-v2.json':1176 'helmrepositori':1127 'helmrepository-source-v1.json':1131 'identifi':90,510,694,1357 'imag':610,1206,1216,1226 'image-automation-control':1225 'image-reflector-control':1205,1215 'image.toolkit.fluxcd.io':1211,1221,1231 'image.toolkit.fluxcd.io/v1':1210,1220,1230 'imagepolici':1219 'imagepolicy-image-v1.json':1223 'imagerepositori':1209 'imagerepository-image-v1.json':1213 'imageupdateautom':1229 'imageupdateautomation-image-v1.json':1233 'indic':1035 'individu':937 'inform':1244 'input':861,954 'inputsfrom':841 'inspect':23,87,1292 'instal':35,297,323,361,366,1386,1401,1406,1434 'instanc':145,292,315,372,442,626,805,1390 'intent':1449 'interv':1540 'inventori':472,557,656,739,903 'investig':1323 'issu':594,776,1375 'json':218 'key':247 'kind':215,457,641,818,885,895,1057,1293 'kubeconfig':263,282 'kubernet':12,64,82,102,108,120,169,176,235,421,461,525,561,583,645,707,743,765,822,883,964,976,984,1003,1016 'kustom':492,613,621,631,640,650,666,676,696,723,785,888,910,933,1161,1163,1352 'kustomization-kustomize-v1.json':1167 'kustomize-control':630,1160 'kustomize.toolkit.fluxcd.io':1165 'kustomize.toolkit.fluxcd.io/v1':1164 'label':129,1507 'last':1497,1531 'level':949 'list':266,998,1571 'live':11,63 'load':1235,1237 'local':15 'log':29,88,418,422,580,584,762,766,965,969,1012,1017,1028,1367,1550 'look':126,484,515,668,699 'manag':125,480,552,566,574,606,664,734,748,756,788,979,1348,1502,1509 'manifest':171,193,1380 'manual':1517 'markdown':1310 'match':273,1567 'matchlabel':989,1008 'may':1543 'mcp':21,72,73,238,1410,1414,1427 'mean':856 'metadata':133 'miss':953 'name':206,213,259,278,992,1021,1024,1294,1318,1564 'namespac':1295 'need':1055,1242,1249,1274 'nest':208 'new':139 'next':1525 'not-readi':45 'note':1445,1495 'notif':1179,1188,1197 'notification-control':1178,1187,1196 'notification.toolkit.fluxcd.io':1183,1192,1201 'notification.toolkit.fluxcd.io/v1':1200 'notification.toolkit.fluxcd.io/v1beta3':1182,1191 'object':479,663 'ocirepositori':1109 'ocirepository-source-v1.json':1113 'old':1535 'one':115 'openapi':197,1052,1059 'oper':71,150,377,810,1063,1072,1081,1090,1409,1426 'overload':1545 'pattern':1033,1270 'perform':34 'pipelin':61 'pod':426,981,1000,1020 'present':500,684 'priorit':1370 'progress':549,731,1472,1482 'provid':855,1181,1432 'provider-notification-v1beta3.json':1185 'question':338 'rbac':955 'read':27,194,231,1050 'readi':47,386,853,877,1478 'reason':1481 'receiv':1199 'receiver-notification-v1.json':1203 'recommend':1369 'reconcil':1454,1486 'reconcili':406,1490,1526,1532 'record':1288 'refer':222,881,1041,1236,1238 'referenc':504,688,844 'references/flux-crds.md':1246 'references/troubleshooting.md':1264 'reflector':1207,1217 'relat':1536 'relationship':1261 'relev':196,349 'render':863 'repo':16 'report':41,385,591,597,773,779,944,1279,1304,1311 'request':185,353 'resolv':1373 'resourc':25,83,105,121,132,163,177,182,462,508,526,553,562,567,575,607,646,692,708,735,744,749,757,789,823,884,906,915,923,961,985,1004,1260,1290,1321,1327,1333,1349,1437,1441,1473,1476,1503,1504 'resourceset':495,679,792,800,817,827,839,858,867,878,887,902,948,1082 'resourceset-fluxcd-v1.json':1086 'resourceset-level':947 'resourcesetinputprovid':845,1091 'resourcesetinputprovider-fluxcd-v1.json':1095 'resum':1456 'return':241,1391 'revert':1521 'review':399 'root':91,588,770,941,1037,1355,1358 'rule':94 'run':397,413,1431 'schema':198,209,1053,1060 'secret':236,507,691 'section':1314 'see':219 'server':22,239,1411,1428 'set':154,281,380 'show':1477 'skill' 'skill-gitops-cluster-debug' 'skip':345 'sourc':513,530,534,697,712,716,1098,1107,1116,1125,1134,1143,1152,1344 'source-control':1097,1106,1115,1124,1133,1142 'source-fluxcd' 'source-watch':1151 'source.extensions.fluxcd.io':1156 'source.extensions.fluxcd.io/v1beta1':1155 'source.toolkit.fluxcd.io':1102,1111,1120,1129,1138,1147 'source.toolkit.fluxcd.io/v1':1101,1110,1119,1128,1137,1146 'sourceref':520,702 'spec':470,654,831,996,1334 'spec.suspend':1443 'special':57 'specif':1268 'specifi':256,305 'stale':1527 'stall':851 'start':318,358 'state':546,728 'status':26,85,151,378,392,450,471,535,571,600,634,655,717,753,782,811,832,849,919,1254,1296,1325,1335,1363,1528 'step':433,617,796,1371 'still':311 'straight':346 'structur':1305 'stuck':43,1547 'substitutefrom':682 'suggest':1405 'summari':407,1316 'suspend':1436,1450 'switch':135,285 'tabl':223,1044 'target':337 'tell':1394,1419 'templat':951 'time':1499,1533 'tool':74,178,1415 'topic-agent-skills' 'topic-ai-agents' 'topic-fluxcd' 'topic-gitops' 'topic-skills' 'trace':30,1283,1342 'transit':1498 'troubleshoot':7,59,435,619,798 'troubleshooting.md':1263 'true':387,1444 'unavail':1412 'understand':320 'unknown':1479 'unless':183,1464 'updat':162 'use':38,67,419,581,763,840,982,1005,1042 'user':40,188,255,275,333,1396,1421,1466,1514,1561,1578 'valu':233,250 'valuesfrom':498 'verifi':202,294,382,874 'version':110,152,217,1048,1320 'via':18 'wait':1487 'warn':1031,1512 'watcher':1153 'wide':405 'won':1452 'workflow':325,350,363,427,611,790,927,931,962,1287 'workload':972 'yaml':170,192","prices":[{"id":"c965113e-4b65-4512-968b-de248781a16b","listingId":"759bbc52-be75-479a-b2e2-228ea9e3b75f","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"fluxcd","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:11:02.261Z"}],"sources":[{"listingId":"759bbc52-be75-479a-b2e2-228ea9e3b75f","source":"github","sourceId":"fluxcd/agent-skills/gitops-cluster-debug","sourceUrl":"https://github.com/fluxcd/agent-skills/tree/main/skills/gitops-cluster-debug","isPrimary":false,"firstSeenAt":"2026-04-18T22:11:02.261Z","lastSeenAt":"2026-04-22T00:55:22.463Z"}],"details":{"listingId":"759bbc52-be75-479a-b2e2-228ea9e3b75f","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"fluxcd","slug":"gitops-cluster-debug","github":{"repo":"fluxcd/agent-skills","stars":111,"topics":["agent-skills","ai-agents","fluxcd","gitops","skills"],"license":"apache-2.0","html_url":"https://github.com/fluxcd/agent-skills","pushed_at":"2026-04-22T00:35:26Z","description":"Skills to transform AI Agents into GitOps Engineers","skill_md_sha":"20ed94c2ef372cc9bea6aa977d842fbbcd21c348","skill_md_path":"skills/gitops-cluster-debug/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/fluxcd/agent-skills/tree/main/skills/gitops-cluster-debug"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"gitops-cluster-debug","license":"Apache-2.0","description":"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.","compatibility":"Requires flux-operator-mcp"},"skills_sh_url":"https://skills.sh/fluxcd/agent-skills/gitops-cluster-debug"},"updatedAt":"2026-04-22T00:55:22.463Z"}}