[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F81TT9A4TJBKF5R9Y0THMW":3,"skill-same:01M6F81TT9A4TJBKF5R9Y0THMW":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6F81TT9A4TJBKF5R9Y0THMW","castai-prod-checklist",null,"Production readiness checklist for CAST AI cluster onboarding.\nUse when going live with CAST AI autoscaling, validating Phase 2 setup,\nor preparing for production cost optimization.\nTrigger with phrases like \"cast ai production\", \"cast ai go-live\",\n\"cast ai checklist\", \"cast ai launch\".","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\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fcastai-prod-checklist\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"checklist","castai prod checklist","castai","cast","kubernetes","cost optimization","with","cluster","trigger","io","live","production readiness","code","go","use","read","Bash","saas","kubectl","Optimization","2026-11-10 10:12:30",false,"---\nname: castai-prod-checklist\ndescription: |\n  Production readiness checklist for CAST AI cluster onboarding.\n  Use when going live with CAST AI autoscaling, validating Phase 2 setup,\n  or preparing for production cost optimization.\n  Trigger with phrases like \"cast ai production\", \"cast ai go-live\",\n  \"cast ai checklist\", \"cast ai launch\".\nallowed-tools: Read, Bash(kubectl:*), Bash(curl:*), Bash(helm:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, kubernetes, cost-optimization, castai]\ncompatible-with: claude-code\n---\n\n# CAST AI Production Checklist\n\n## Overview\n\nComplete checklist for enabling CAST AI cost optimization on a production Kubernetes cluster. Covers Phase 1 (monitoring) through Phase 2 (full automation) with validation steps at each stage.\n\n## Prerequisites\n\n- CAST AI tested on a staging cluster first\n- Production API key (Full Access)\n- Change management approval for node lifecycle changes\n\n## Phase 1: Monitoring Only\n\n- [ ] Agent installed with read-only key\n- [ ] Agent pod healthy: `kubectl get pods -n castai-agent`\n- [ ] Console shows cluster as \"Connected\"\n- [ ] Savings report generating (wait 24h for full data)\n- [ ] Review savings estimate before enabling automation\n\n## Phase 2: Autoscaling Enabled\n\n- [ ] Full Access API key provisioned and stored in secrets manager\n- [ ] Cluster controller installed\n- [ ] Evictor installed with conservative settings (non-aggressive)\n- [ ] Spot handler installed for graceful interruption handling\n- [ ] Autoscaler policies configured with appropriate limits:\n  - [ ] `clusterLimits.cpu.maxCores` set to safe ceiling\n  - [ ] `unschedulablePods.headroom` configured (10-15%)\n  - [ ] `nodeDownscaler.emptyNodes.delaySeconds` >= 300 for production\n  - [ ] `spotInstances.spotDiversityEnabled` = true\n- [ ] Node templates created for workload-specific needs (GPU, high-memory)\n- [ ] PodDisruptionBudgets set on all critical workloads\n\n## Workload Autoscaler\n\n- [ ] Workload autoscaler installed\n- [ ] Critical deployments annotated with min\u002Fmax resource bounds\n- [ ] Anti-shrink cooldown set (300s minimum)\n- [ ] Memory headroom >= 20% for production workloads\n\n## Security\n\n- [ ] API key in secrets manager (not Helm values files)\n- [ ] Kvisor security agent installed\n- [ ] Network policies applied to castai-agent namespace\n- [ ] RBAC reviewed and minimized\n- [ ] Key rotation scheduled (90-day interval)\n\n## Monitoring and Alerting\n\n- [ ] Alert on agent pod restarts: `kube_pod_container_status_restarts_total{namespace=\"castai-agent\"}`\n- [ ] Alert on API errors in agent logs\n- [ ] CAST AI console email notifications enabled\n- [ ] Savings report reviewed weekly\n- [ ] Dashboard tracking spot vs on-demand node ratio\n\n## Rollback Procedure\n\n```bash\n# Disable autoscaling immediately (keeps agent monitoring)\ncurl -X PUT -H \"X-API-Key: ${CASTAI_API_KEY}\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  \"https:\u002F\u002Fapi.cast.ai\u002Fv1\u002Fkubernetes\u002Fclusters\u002F${CASTAI_CLUSTER_ID}\u002Fpolicies\" \\\n  -d '{\"enabled\": false}'\n\n# Or remove all CAST AI components\nhelm uninstall castai-evictor -n castai-agent\nhelm uninstall cluster-controller -n castai-agent\n# Keep the agent for monitoring if desired\n```\n\n## Validation Commands\n\n```bash\n# Final pre-go-live verification\necho \"=== CAST AI Production Validation ===\"\n\n# Agent healthy\nkubectl get pods -n castai-agent -o wide\n\n# All components running\nhelm list -n castai-agent\n\n# Policies correct\ncurl -s -H \"X-API-Key: ${CASTAI_API_KEY}\" \\\n  \"https:\u002F\u002Fapi.cast.ai\u002Fv1\u002Fkubernetes\u002Fclusters\u002F${CASTAI_CLUSTER_ID}\u002Fpolicies\" \\\n  | jq '{enabled, unschedulablePods: .unschedulablePods.enabled, downscaler: .nodeDownscaler.enabled, spot: .spotInstances.enabled}'\n\n# Savings estimate\ncurl -s -H \"X-API-Key: ${CASTAI_API_KEY}\" \\\n  \"https:\u002F\u002Fapi.cast.ai\u002Fv1\u002Fkubernetes\u002Fclusters\u002F${CASTAI_CLUSTER_ID}\u002Fsavings\" \\\n  | jq '{monthly: .monthlySavings, percent: .savingsPercentage}'\n```\n\n## Resources\n\n- [CAST AI Autoscaler Checklist](https:\u002F\u002Fdocs.cast.ai\u002Fdocs\u002Fautoscaler-checklist)\n- [CAST AI Status](https:\u002F\u002Fstatus.cast.ai)\n\n## Next Steps\n\nFor version upgrades, see `castai-upgrade-migration`.\n\n","# CAST AI Production Checklist\n\n## Overview\n\nComplete checklist for enabling CAST AI cost optimization on a production Kubernetes cluster. Covers Phase 1 (monitoring) through Phase 2 (full automation) with validation steps at each stage.\n\n## Prerequisites\n\n- CAST AI tested on a staging cluster first\n- Production API key (Full Access)\n- Change management approval for node lifecycle changes\n\n## Phase 1: Monitoring Only\n\n- [ ] Agent installed with read-only key\n- [ ] Agent pod healthy: `kubectl get pods -n castai-agent`\n- [ ] Console shows cluster as \"Connected\"\n- [ ] Savings report generating (wait 24h for full data)\n- [ ] Review savings estimate before enabling automation\n\n## Phase 2: Autoscaling Enabled\n\n- [ ] Full Access API key provisioned and stored in secrets manager\n- [ ] Cluster controller installed\n- [ ] Evictor installed with conservative settings (non-aggressive)\n- [ ] Spot handler installed for graceful interruption handling\n- [ ] Autoscaler policies configured with appropriate limits:\n  - [ ] `clusterLimits.cpu.maxCores` set to safe ceiling\n  - [ ] `unschedulablePods.headroom` configured (10-15%)\n  - [ ] `nodeDownscaler.emptyNodes.delaySeconds` >= 300 for production\n  - [ ] `spotInstances.spotDiversityEnabled` = true\n- [ ] Node templates created for workload-specific needs (GPU, high-memory)\n- [ ] PodDisruptionBudgets set on all critical workloads\n\n## Workload Autoscaler\n\n- [ ] Workload autoscaler installed\n- [ ] Critical deployments annotated with min\u002Fmax resource bounds\n- [ ] Anti-shrink cooldown set (300s minimum)\n- [ ] Memory headroom >= 20% for production workloads\n\n## Security\n\n- [ ] API key in secrets manager (not Helm values files)\n- [ ] Kvisor security agent installed\n- [ ] Network policies applied to castai-agent namespace\n- [ ] RBAC reviewed and minimized\n- [ ] Key rotation scheduled (90-day interval)\n\n## Monitoring and Alerting\n\n- [ ] Alert on agent pod restarts: `kube_pod_container_status_restarts_total{namespace=\"castai-agent\"}`\n- [ ] Alert on API errors in agent logs\n- [ ] CAST AI console email notifications enabled\n- [ ] Savings report reviewed weekly\n- [ ] Dashboard tracking spot vs on-demand node ratio\n\n## Rollback Procedure\n\n```bash\n# Disable autoscaling immediately (keeps agent monitoring)\ncurl -X PUT -H \"X-API-Key: ${CASTAI_API_KEY}\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  \"https:\u002F\u002Fapi.cast.ai\u002Fv1\u002Fkubernetes\u002Fclusters\u002F${CASTAI_CLUSTER_ID}\u002Fpolicies\" \\\n  -d '{\"enabled\": false}'\n\n# Or remove all CAST AI components\nhelm uninstall castai-evictor -n castai-agent\nhelm uninstall cluster-controller -n castai-agent\n# Keep the agent for monitoring if desired\n```\n\n## Validation Commands\n\n```bash\n# Final pre-go-live verification\necho \"=== CAST AI Production Validation ===\"\n\n# Agent healthy\nkubectl get pods -n castai-agent -o wide\n\n# All components running\nhelm list -n castai-agent\n\n# Policies correct\ncurl -s -H \"X-API-Key: ${CASTAI_API_KEY}\" \\\n  \"https:\u002F\u002Fapi.cast.ai\u002Fv1\u002Fkubernetes\u002Fclusters\u002F${CASTAI_CLUSTER_ID}\u002Fpolicies\" \\\n  | jq '{enabled, unschedulablePods: .unschedulablePods.enabled, downscaler: .nodeDownscaler.enabled, spot: .spotInstances.enabled}'\n\n# Savings estimate\ncurl -s -H \"X-API-Key: ${CASTAI_API_KEY}\" \\\n  \"https:\u002F\u002Fapi.cast.ai\u002Fv1\u002Fkubernetes\u002Fclusters\u002F${CASTAI_CLUSTER_ID}\u002Fsavings\" \\\n  | jq '{monthly: .monthlySavings, percent: .savingsPercentage}'\n```\n\n## Resources\n\n- [CAST AI Autoscaler Checklist](https:\u002F\u002Fdocs.cast.ai\u002Fdocs\u002Fautoscaler-checklist)\n- [CAST AI Status](https:\u002F\u002Fstatus.cast.ai)\n\n## Next Steps\n\nFor version upgrades, see `castai-upgrade-migration`.\n\n",{"name":5,"tags":44,"author":46,"license":15,"version":47,"description":48,"allowed-tools":49,"compatible-with":50},[36,23,45,21],"cost-optimization","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Production readiness checklist for CAST AI cluster onboarding.\nUse when going live with CAST AI autoscaling, validating Phase 2 setup,\nor preparing for production cost optimization.\nTrigger with phrases like \"cast ai production\", \"cast ai go-live\",\n\"cast ai checklist\", \"cast ai launch\".\n","Read, Bash(kubectl:*), Bash(curl:*), Bash(helm:*), Grep","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fcastai-prod-checklist",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":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill castai-prod-checklist",{"tool":66,"command":67},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill castai-prod-checklist",{"tool":69,"command":70},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill castai-prod-checklist","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fcastai-prod-checklist\u002FSKILL.md",true,[],[75,89,99,108,114,121],{"skillNo":76,"name":77,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":85,"publishedAt":39},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[86,87,88],"model","model hierarchy","model hierarchy skill",{"skillNo":90,"name":91,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":95,"publishedAt":39},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[94],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[96,97,98],"MCP","zoom","zoom mcp",{"skillNo":100,"name":101,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":39},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[105,106,107,97],"sdk","zoom apps sdk","apps",{"skillNo":109,"name":110,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":39},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[110],{"skillNo":115,"name":116,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":39},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[119],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[116],{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":39},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[123]]