[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FFWNK2BX9XP2P2SBF5530J":3,"skill-same:01M6FFWNK2BX9XP2P2SBF5530J":48},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":21,"linkOnly":22,"markdownContent":23,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M6FFWNK2BX9XP2P2SBF5530J","k8s-gitops",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-gitops\u002FSKILL.md",[],[18,19,20],"gitops","k8s","k8s gitops","2026-11-10 10:12:30",false,"# Kubernetes GitOps\n\nGitOps workflows using Flux and ArgoCD with kubectl-mcp-server tools.\n\n## When to Apply\n\nUse this skill when:\n- User mentions: \"Flux\", \"ArgoCD\", \"GitOps\", \"sync\", \"reconcile\"\n- Operations: checking sync status, triggering reconciliation, drift detection\n- Keywords: \"out of sync\", \"deploy from git\", \"continuous delivery\"\n\n## Priority Rules\n\n| Priority | Rule | Impact | Tools |\n|----------|------|--------|-------|\n| 1 | Check source readiness before troubleshooting | CRITICAL | `flux_sources_list_tool` |\n| 2 | Verify sync status before deployments | HIGH | `argocd_app_get_tool` |\n| 3 | Reconcile after git changes | MEDIUM | `flux_reconcile_tool` |\n| 4 | Suspend before manual changes | LOW | `flux_suspend_tool` |\n\n## Quick Reference\n\n| Task | Tool | Example |\n|------|------|---------|\n| List Flux kustomizations | `flux_kustomizations_list_tool` | `flux_kustomizations_list_tool(namespace)` |\n| Reconcile Flux | `flux_reconcile_tool` | `flux_reconcile_tool(kind, name, namespace)` |\n| List ArgoCD apps | `argocd_apps_list_tool` | `argocd_apps_list_tool(namespace)` |\n| Sync ArgoCD | `argocd_sync_tool` | `argocd_sync_tool(name, namespace)` |\n\n## Flux CD\n\n### Check Flux Status\n\n```python\nflux_kustomizations_list_tool(namespace=\"flux-system\")\nflux_helmreleases_list_tool(namespace)\nflux_sources_list_tool(namespace=\"flux-system\")\n```\n\n### Reconcile Resources\n\n```python\nflux_reconcile_tool(\n    kind=\"kustomization\",\n    name=\"my-app\",\n    namespace=\"flux-system\"\n)\n\nflux_reconcile_tool(\n    kind=\"helmrelease\",\n    name=\"my-chart\",\n    namespace=\"default\"\n)\n```\n\n### Suspend\u002FResume\n\n```python\nflux_suspend_tool(kind=\"kustomization\", name=\"my-app\", namespace=\"flux-system\")\n\nflux_resume_tool(kind=\"kustomization\", name=\"my-app\", namespace=\"flux-system\")\n```\n\nSee [FLUX.md](FLUX.md) for detailed Flux workflows.\n\n## ArgoCD\n\n### List Applications\n\n```python\nargocd_apps_list_tool(namespace=\"argocd\")\n```\n\n### Get App Status\n\n```python\nargocd_app_get_tool(name=\"my-app\", namespace=\"argocd\")\n```\n\n### Sync Application\n\n```python\nargocd_sync_tool(name=\"my-app\", namespace=\"argocd\")\n```\n\n### Refresh App\n\n```python\nargocd_refresh_tool(name=\"my-app\", namespace=\"argocd\")\n```\n\nSee [ARGOCD.md](ARGOCD.md) for detailed ArgoCD workflows.\n\n## GitOps Troubleshooting\n\n### Flux Not Syncing\n\n| Symptom | Check | Resolution |\n|---------|-------|------------|\n| Source not ready | `flux_sources_list_tool()` | Check git credentials |\n| Kustomization failed | `flux_kustomizations_list_tool()` | Check manifest errors |\n| HelmRelease failed | `flux_helmreleases_list_tool()` | Check values, chart version |\n\n### ArgoCD Out of Sync\n\n| Symptom | Check | Resolution |\n|---------|-------|------------|\n| OutOfSync | `argocd_app_get_tool()` | Manual sync or check auto-sync |\n| Degraded | Check health status | Fix unhealthy resources |\n| Unknown | Refresh app | `argocd_refresh_tool()` |\n\n## Environment Promotion\n\n### With Flux Kustomizations\n\n```python\nflux_reconcile_tool(kind=\"kustomization\", name=\"staging\", namespace=\"flux-system\")\n\nflux_reconcile_tool(kind=\"kustomization\", name=\"production\", namespace=\"flux-system\")\n```\n\n### With ArgoCD\n\n```python\nargocd_sync_tool(name=\"app-staging\", namespace=\"argocd\")\n\nargocd_app_get_tool(name=\"app-staging\", namespace=\"argocd\")\n\nargocd_sync_tool(name=\"app-production\", namespace=\"argocd\")\n```\n\n## Multi-Cluster GitOps\n\nManage GitOps across clusters:\n\n```python\nflux_kustomizations_list_tool(namespace=\"flux-system\", context=\"cluster-1\")\nflux_kustomizations_list_tool(namespace=\"flux-system\", context=\"cluster-2\")\n\nflux_reconcile_tool(\n    kind=\"kustomization\",\n    name=\"apps\",\n    namespace=\"flux-system\",\n    context=\"production-cluster\"\n)\n```\n\n## Drift Detection\n\nCompare live state with desired:\n\n```python\nargocd_app_get_tool(name=\"my-app\", namespace=\"argocd\")\n\nflux_kustomizations_list_tool(namespace=\"flux-system\")\n```\n\n## Prerequisites\n\n- **Flux**: Required for Flux tools\n  ```bash\n  flux install\n  ```\n- **ArgoCD**: Required for ArgoCD tools\n  ```bash\n  kubectl create namespace argocd\n  kubectl apply -n argocd -f https:\u002F\u002Fraw.githubusercontent.com\u002Fargoproj\u002Fargo-cd\u002Fstable\u002Fmanifests\u002Finstall.yaml\n  ```\n\n## Related Skills\n\n- [k8s-deploy](..\u002Fk8s-deploy\u002FSKILL.md) - Standard deployments\n- [k8s-helm](..\u002Fk8s-helm\u002FSKILL.md) - Helm chart management\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-gitops",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill k8s-gitops",{"tool":40,"command":41},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill k8s-gitops",{"tool":43,"command":44},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill k8s-gitops","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-gitops\u002FSKILL.md",true,[],[49,63,73,82,88,95],{"skillNo":50,"name":51,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":59,"publishedAt":21},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[54],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[60,61,62],"model","model hierarchy","model hierarchy skill",{"skillNo":64,"name":65,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":69,"publishedAt":21},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[68],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},[70,71,72],"MCP","zoom","zoom mcp",{"skillNo":74,"name":75,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":21},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[79,80,81,71],"sdk","zoom apps sdk","apps",{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":21},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[84],{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":94,"publishedAt":21},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[93],{"categoryNo":55,"categoryName":56,"taxonomyType":57,"taxonomyTypeDesc":58},[90],{"skillNo":96,"name":97,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":21},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[97]]