[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JF2QRCPNEDMS2FNKTQ29WV":3,"skill-same:01M6JF2QRCPNEDMS2FNKTQ29WV":67},{"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":23,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6JF2QRCPNEDMS2FNKTQ29WV","kubernetes",null,"Kubernetes best practices — cluster management, RBAC, NetworkPolicies, workload configuration, networking, and troubleshooting. Invoke when the user asks about K8s operations, pod debugging, or cluster management.","jdiegosierra\u002Fenterprise-agent-plugins","jdiegosierra","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F27728978?v=4","01M6JF1FEEGH0TEKZ1X8C4DC89","Diego","01M6JF1FJR2H5YYKPRJ0HTJ9RJ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fkubernetes\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"workload","rbac","debugging","networking","best practices","troubleshooting","management","user","operations","configuration","k8s","cluster","cluster management","about","k8s operations","2026-11-10 10:12:30",false,"---\nname: kubernetes\ndescription: >\n  Kubernetes best practices — cluster management, RBAC, NetworkPolicies,\n  workload configuration, networking, and troubleshooting. Invoke when the\n  user asks about K8s operations, pod debugging, or cluster management.\n---\n\n# Kubernetes Best Practices\n\n## Workload configuration\n\n### Pod resource management\n- Always set resource requests AND limits\n- Use `resources.requests` for scheduling, `resources.limits` for throttling\n- Start conservative and tune based on metrics\n\n```yaml\nresources:\n  requests:\n    cpu: 100m\n    memory: 128Mi\n  limits:\n    cpu: 500m\n    memory: 512Mi\n```\n\n### Health checks\n- **livenessProbe** — restart if unhealthy (use for deadlock detection)\n- **readinessProbe** — remove from service if not ready (use for startup\u002Fdependency checks)\n- **startupProbe** — delay liveness checks during startup (use for slow-starting apps)\n\n### Pod disruption budgets\n- Always define PDBs for production workloads\n- `minAvailable: 1` or `maxUnavailable: 1` for small deployments\n\n## Troubleshooting\n\n### Pod not starting\n1. `kubectl describe pod \u003Cname>` — check Events section\n2. `kubectl logs \u003Cname> --previous` — check crash logs\n3. Common causes: image pull errors, resource limits, missing secrets\n\n### Service not reachable\n1. `kubectl get endpoints \u003Cservice>` — verify endpoints exist\n2. `kubectl get pods -l \u003Cselector>` — check pod readiness\n3. `kubectl exec -it \u003Cpod> -- curl localhost:\u003Cport>\u002Fhealth` — test from inside\n\n### OOMKilled\n1. Check `kubectl describe pod` for last termination reason\n2. Increase memory limits\n3. Profile the application for memory leaks\n\n## Security\n\n- Use NetworkPolicies to restrict pod-to-pod traffic\n- Never run containers as root — use `securityContext.runAsNonRoot: true`\n- Use ServiceAccounts with minimal RBAC permissions\n- Scan images for vulnerabilities before deploying\n","# Kubernetes Best Practices\n\n## Workload configuration\n\n### Pod resource management\n- Always set resource requests AND limits\n- Use `resources.requests` for scheduling, `resources.limits` for throttling\n- Start conservative and tune based on metrics\n\n```yaml\nresources:\n  requests:\n    cpu: 100m\n    memory: 128Mi\n  limits:\n    cpu: 500m\n    memory: 512Mi\n```\n\n### Health checks\n- **livenessProbe** — restart if unhealthy (use for deadlock detection)\n- **readinessProbe** — remove from service if not ready (use for startup\u002Fdependency checks)\n- **startupProbe** — delay liveness checks during startup (use for slow-starting apps)\n\n### Pod disruption budgets\n- Always define PDBs for production workloads\n- `minAvailable: 1` or `maxUnavailable: 1` for small deployments\n\n## Troubleshooting\n\n### Pod not starting\n1. `kubectl describe pod \u003Cname>` — check Events section\n2. `kubectl logs \u003Cname> --previous` — check crash logs\n3. Common causes: image pull errors, resource limits, missing secrets\n\n### Service not reachable\n1. `kubectl get endpoints \u003Cservice>` — verify endpoints exist\n2. `kubectl get pods -l \u003Cselector>` — check pod readiness\n3. `kubectl exec -it \u003Cpod> -- curl localhost:\u003Cport>\u002Fhealth` — test from inside\n\n### OOMKilled\n1. Check `kubectl describe pod` for last termination reason\n2. Increase memory limits\n3. Profile the application for memory leaks\n\n## Security\n\n- Use NetworkPolicies to restrict pod-to-pod traffic\n- Never run containers as root — use `securityContext.runAsNonRoot: true`\n- Use ServiceAccounts with minimal RBAC permissions\n- Scan images for vulnerabilities before deploying\n",{"name":5,"description":7},"main","558f37431dd6df3458f8bd5e229edb6c1c254ca7","plugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fkubernetes",0,"https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins","https:\u002F\u002Fgithub.com\u002Fjdiegosierra","https:\u002F\u002Fjdiegosierra.github.io","Site Reliability Engineer | DevOps | MLOps | Software Craftsmanship | Blockchain Expert | Embedded Software Developer","2026-04-08 06:00:05",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add jdiegosierra\u002Fenterprise-agent-plugins --skill kubernetes",{"tool":59,"command":60},"bunx","bunx skills add jdiegosierra\u002Fenterprise-agent-plugins --skill kubernetes",{"tool":62,"command":63},"pnpm","pnpm dlx skills add jdiegosierra\u002Fenterprise-agent-plugins --skill kubernetes","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fkubernetes\u002FSKILL.md",true,[],[68,93,99,105,126,152],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":77,"publishedAt":39},"01M6JF56YA4GJ2G91M4655E2VF","vue","Use when building Vue 3 applications with Composition API, Nuxt 3, or Quasar. Invoke for Pinia, TypeScript, PWA, Capacitor mobile apps, Vite configuration.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fvue\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[70,78,79,33,80,81,82,83,84,85,86,87,88,89,90,91,92],"for","Composition","mobile","vite","use","capacitor","pwa","pinia","nuxt","apps","api","applications","typescript","with","claude-skills",{"skillNo":94,"name":95,"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":96,"categories":97,"keywords":98,"publishedAt":39},"01M6JF55WHCX01YN0EDC1ENBP1","update","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fupdate\u002FSKILL.md",[],[95],{"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},"01M6JF52TKMMW8CSBWWK0D60Z7","uninstall","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Funinstall\u002FSKILL.md",[],[101],{"skillNo":106,"name":90,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":39},"01M6JF4ZA6KVK7K37FYCGKZR3V","Use when working with TypeScript's advanced type system — generics, conditional types, mapped types, or full-stack type safety. Assumes ES2023+ JavaScript knowledge (see javascript for fundamentals). Invoke for type guards, utility types, tRPC integration, monorepo setup.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Ftypescript\u002FSKILL.md",[],[90,82,92,111,91,112,113,114,115,116,78,117,118,119,120,121,122,123,124,125],"advanced","types","trpc","utility","type","type system","monorepo","system","stack","knowledge","Safety","Type Safety","integration","conditional","javascript",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":135,"publishedAt":39},"01M6JF4VJD26K2THYRJGM1BK6M","testing","Use when writing tests, creating test strategies, or building automation frameworks. Invoke for unit tests, integration tests, E2E, coverage analysis, performance testing, security testing.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Ftesting\u002FSKILL.md",[132],{"categoryNo":133,"categoryName":134,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[128,78,136,137,92,138,139,140,141,142,143,82,144,145,146,147,148,149,150,151],"writing","coverage","test strategies","unit","tests","Security Testing","strategies","frameworks","analysis","e2e","writing tests","unit tests","integration tests","test","automation","performance",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":39},"01M6JF4PEBCHAS2VP7EEW634B7","terraform","Use when working with Terraform or OpenTofu — creating modules, writing tests, setting up CI\u002FCD pipelines, reviewing configurations, debugging state issues, implementing security scanning, or making IaC architecture decisions. For Pulumi see pulumi-best-practices, for general CI\u002FCD see devops.","https:\u002F\u002Fgithub.com\u002Fjdiegosierra\u002Fenterprise-agent-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Facme-engineering\u002Fsrc\u002Fskills\u002Fterraform\u002FSKILL.md",[158],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[154,160,78,161,162,92,163,140,164,165,166,167,168,82,169,170,26,171,172,136],"up","implementing","pulumi","CI\u002FCD","best-practices","general","modules","iac","scanning","ci","issues","architecture","security"]