argocd-debug
Skill0 starsChanged 41 days agoMITView on GitHub
Use when diagnosing one Argo CD Application that is OutOfSync, Degraded, Unknown, or failing to deploy. Mention "argocd is stuck", "application out of sync", or "argocd debug"; use argocd for controller installation/operation, argocd-applicationset for generator design, and gitops-review for repository flow.
In this repository45 other files it gives its agents.
- admission-policy-reviewSkill
- alert-rule-reviewSkill
- architecture-reviewSkill
- argocd-applicationsetSkill
- argocdSkill
- cert-manager-debugSkill
- cicd-reviewSkill
- cilium-debugSkill
- ciliumSkill
- cluster-backupSkill
- dast-reviewSkill
- dockerfile-reviewSkill
- english-technical-messageSkill
- git-messageSkill
- gitops-reviewSkill
- go-bugfixSkill
- go-code-reviewSkill
- go-testing-reviewSkill
- grafana-dashboardsSkill
- helm-reviewSkill
- homelab-change-planSkill
- incident-analysisSkill
- ingressSkill
- interview-system-designSkill
- istio-debugSkill
- istioSkill
- kubernetes-autoscalingSkill
- kubernetes-debugSkill
- kubernetes-securitySkill
- kubernetes-yaml-reviewSkill
- migration-planSkill
- observability-reviewSkill
- observability-stackSkill
- production-readinessSkill
- pr-reviewSkill
- root-cause-analysisSkill
- runbook-writerSkill
- runtime-security-reviewSkill
- secrets-managementSkill
- storage-debugSkill
- supply-chain-securitySkill
- terraform-reviewSkill
- upgrade-readinessSkill
- vaultSkill
- vulnerability-triageSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 4 are distinctive, and 13 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Use argocd app get, argocd app diff, and read the Application object.
- Distinctive: line 22
Do not force sync while the reason for drift or health failure is unknown.
- Distinctive: line 26
Follow the Workflow, Safety rules, and Quality checklist below.
- Very specific: line 36
Use when an ArgoCD Application is OutOfSync, Degraded, Unknown, or stuck, and the cause needs to be found before taking action.
- Very specific: line 38
Use argocd instead for controller installation or operation, argocd-applicationset for generator design, and gitops-review for repository …
- Distinctive: line 59
Use the general workflow below when nothing matches or the picture is unclear.
- Very specific: line 63
Check Application status: sync status, health status, and conditions for explicit error messages (argocd app get <app> or kubectl get …
- Very specific: line 65
Check the diff between desired and live state (argocd app diff) to see exactly what's out of sync, or whether ignoreDifferences is masking …
- Very specific: line 67
Check app conditions for repo access errors, manifest generation errors (Helm/Kustomize rendering failures), or comparison errors.
- Very specific: line 69
Verify targetRevision and path actually point at what's expected — a common cause of "nothing changed but it's out of sync" is a …
- Very specific: line 72
If Helm/Kustomize-based, check that the chart/overlay renders locally the same way ArgoCD renders it (helm template / kustomize build) to …
- Very specific: line 75
Check hooks and syncPolicy.syncOptions (e.g.
- Very specific: line 77
Check destination namespace: does it exist, and does syncPolicy.automated.selfHeal/ syncPolicy.syncOptions: [CreateNamespace=true] match …
- Very specific: line 79
Check ArgoCD's own RBAC/project restrictions (AppProject) if the app can't sync due to permission errors.
- Very specific: line 90
Do not run argocd app sync, argocd app delete, or any command that changes live cluster state unless the user explicitly asks for it.
- Very specific: line 92
Prefer argocd app diff / get / kubectl get -o yaml (read-only) throughout the investigation.
- Distinctive: line 94
If a force-sync or resource deletion looks like the right fix, say so explicitly and explain the blast radius — don't run it.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ArgoCD Debug
TL;DR checklist
- Read Application sync, health, and conditions.
- Compare desired and live state, then check revision/path and render output.
- Identify the cause before proposing sync, prune, or live edits.
Key read-only checks
- Use
argocd app get,argocd app diff, and read the Application object.
Common pitfalls
- Do not force sync while the reason for drift or health failure is unknown.
Agent procedure
Follow the Workflow, Safety rules, and Quality checklist below.
Quick references
- references/playbooks.md
Last verified: unverified
When to use
Use when an ArgoCD Application is OutOfSync, Degraded, Unknown, or stuck, and the cause
needs to be found before taking action.
Use argocd instead for controller installation or operation, argocd-applicationset for
generator design, and gitops-review for repository structure or promotion flow.
Goal
Diagnose the actual cause of the sync/health problem using read-only inspection, and propose a fix the user (or ArgoCD's own automated sync) can apply.
Diagnostic routing
Identify the symptom, then jump to its playbook in references/playbooks.md:
| Symptom | Playbook section |
| OutOfSync, "nothing changed in git" | Diff-content → cause table (HPA, webhooks, defaulting, rotation, moving revision) |
| ComparisonError / manifest generation failed | Condition text → cause table (repo auth, path, helm deps, tool version skew) |
| Degraded / Progressing forever | Find the leaf resource, route by kind (→ kubernetes-debug for pods) |
| Sync hangs mid-way | Hooks, sync waves, finalizer-blocked prune |
| SharedResourceWarning | Two apps own one object — tracking-id diagnosis |
| Permission errors on sync | Destination RBAC vs AppProject restrictions |
Use the general workflow below when nothing matches or the picture is unclear.
Workflow
- Check
Applicationstatus:sync status,health status, andconditionsfor explicit error messages (argocd app get <app>orkubectl get application <app> -o yaml). - Check the diff between desired and live state (
argocd app diff) to see exactly what's out of sync, or whetherignoreDifferencesis masking a real drift. - Check
app conditionsfor repo access errors, manifest generation errors (Helm/Kustomize rendering failures), or comparison errors. - Verify
targetRevisionandpathactually point at what's expected — a common cause of "nothing changed but it's out of sync" is a moved/renamed path or an unpinned branch that moved. - If Helm/Kustomize-based, check that the chart/overlay renders locally the same way ArgoCD
renders it (
helm template/kustomize build) to rule out a rendering-environment mismatch. - Check
hooksandsyncPolicy.syncOptions(e.g.sync-waveordering,Skip,Replace,PruneLast) if resources are applying in the wrong order or being skipped. - Check destination namespace: does it exist, and does
syncPolicy.automated.selfHeal/syncPolicy.syncOptions: [CreateNamespace=true]match expectations? - Check ArgoCD's own RBAC/project restrictions (
AppProject) if the app can't sync due to permission errors. - Correlate findings into a root cause before proposing a fix.
References
references/playbooks.md — symptom→cause→fix diagnosis trees. For installing/operating Argo CD
itself (HA, sharding, SSO/RBAC, AppProject design, repo setup, backup/DR) use the argocd skill.
Safety rules
- Do not run
argocd app sync,argocd app delete, or any command that changes live cluster state unless the user explicitly asks for it. - Prefer
argocd app diff/get/kubectl get -o yaml(read-only) throughout the investigation. - If a force-sync or resource deletion looks like the right fix, say so explicitly and explain the blast radius — don't run it.
Output format
## Observations
## Evidence (diff / conditions / logs, quoted)
## Root cause
## Fix
<exact command(s), explicitly marked as requiring user confirmation to run>
## Validation
<how to confirm the fix worked>Quality checklist
- Root cause is backed by quoted diff/condition output, not guessed
- No sync/delete/rollback command was executed without explicit confirmation
- Rendering (Helm/Kustomize) mismatch was ruled in or out explicitly
- sync-wave/hook ordering was checked if resource ordering looked wrong
- AppProject/RBAC restrictions were checked if sync failed for permission reasons
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

