From kraftwork-argocd
Use when an ArgoCD application is failing, unhealthy, or behaving unexpectedly — walks through top-down diagnosis from app overview to pod logs and events
How this skill is triggered — by the user, by Claude, or both
Slash command
/kraftwork-argocd:argocd-debugThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Top-down diagnosis for a broken ArgoCD application. Walks from app overview down to specific pod logs and events.
Top-down diagnosis for a broken ArgoCD application. Walks from app overview down to specific pod logs and events.
Read workspace.json from the workspace root. Extract the argocd section. If missing, tell the user to run /kraft-init to configure ArgoCD settings, then stop.
Store:
[SERVER] = argocd.server[APP_PATTERN] = argocd.appPattern[ENVIRONMENTS] = argocd.environments[DEFAULT_ENV] = argocd.defaultEnvironment, falling back to the first entry in argocd.environmentsOptional environment argument. Must be one of [ENVIRONMENTS]. Defaults to [DEFAULT_ENV].
Examples: /argocd-debug, /argocd-debug production, /argocd-debug sandbox
Parse environment from argument. Default to [DEFAULT_ENV].
Construct app name by substituting {env} in [APP_PATTERN] with the resolved environment. Store as [APP].
argocd app get [APP] --grpc-web 2>&1 | head -5
If auth error:
argocd login [SERVER] --sso --grpc-web
Retry. If still failing, STOP and report auth issue.
argocd app get [APP] --grpc-web
Report sync status, health status, and current operation.
If app is Healthy and Synced:
[APP] is healthy and synced. Nothing to debug.
If you're seeing issues not reflected in ArgoCD, the problem may be
at the application level (check application logs directly).
Then STOP.
argocd app resources [APP] --grpc-web
Filter to resources that are NOT Healthy or NOT Synced. Store the list.
If no unhealthy resources but app-level health is not Healthy, note this — the issue may be at the app definition level.
For each unhealthy resource:
Report: kind, name, namespace, sync status, health status, and any status message from the resources output.
If the resource is a Deployment, StatefulSet, ReplicaSet, or Pod:
argocd app logs [APP] --kind [Kind] --name [Name] --grpc-web --tail 100
If the above fails or returns empty (common with CrashLoopBackOff), try getting logs for the previous container:
argocd app logs [APP] --kind [Kind] --name [Name] --grpc-web --tail 100 --previous
Look for: stack traces, OOM kills, connection refused, missing env vars, crashloop indicators.
If kubectl is available and connected to the right cluster:
kubectl get events --namespace [Namespace] --field-selector involvedObject.name=[Name] --sort-by='.lastTimestamp' | tail -20
If kubectl is not available, note this and move on — ArgoCD logs from 5.2 are the primary diagnostic.
Check for drift between Git and live state:
argocd app diff [APP] --grpc-web 2>&1
If there's a diff, report what's different. Common causes:
If no diff, state that live matches Git.
Check recent sync operations for context:
argocd app history [APP] --grpc-web
Report last 3-5 entries: revision, date, sync status. Useful for identifying when things broke.
Present findings:
Diagnosis for [APP]
═══════════════════
Status: [Health] / [Sync]
Unhealthy Resources:
1. [Kind]/[Name] — [Health]
Cause: [What the logs/events indicate]
2. ...
Git vs Live Drift: [Yes/No — details if yes]
Recent History:
[Last 3 deploys with status]
Likely Cause: [Your assessment based on all evidence]
Suggested Next Steps:
- [Actionable step 1]
- [Actionable step 2]
argocd app list --grpc-webProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub filipeestacio/kraftwork --plugin kraftwork-argocd