[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FFXMWDF187RS5ZWRTQ1859":3,"skill-same:01M6FFXMWDF187RS5ZWRTQ1859":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},"01M6FFXMWDF187RS5ZWRTQ1859","k8s-policy",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-policy\u002FSKILL.md",[],[18,19,20],"policy","k8s","k8s policy","2026-11-10 10:12:30",false,"# Kubernetes Policy Management\n\nManage policies using kubectl-mcp-server's Kyverno and Gatekeeper tools.\n\n## When to Apply\n\nUse this skill when:\n- User mentions: \"Kyverno\", \"Gatekeeper\", \"OPA\", \"policy\", \"compliance\"\n- Operations: enforcing policies, checking violations, policy audit\n- Keywords: \"require labels\", \"block privileged\", \"validate\", \"enforce\"\n\n## Priority Rules\n\n| Priority | Rule | Impact | Tools |\n|----------|------|--------|-------|\n| 1 | Detect policy engine first | CRITICAL | `kyverno_detect_tool`, `gatekeeper_detect_tool` |\n| 2 | Use Audit mode before Enforce | HIGH | validationFailureAction |\n| 3 | Check policy reports for violations | HIGH | `kyverno_clusterpolicyreports_list_tool` |\n| 4 | Review constraint templates | MEDIUM | `gatekeeper_constrainttemplates_list_tool` |\n\n## Quick Reference\n\n| Task | Tool | Example |\n|------|------|---------|\n| List Kyverno cluster policies | `kyverno_clusterpolicies_list_tool` | `kyverno_clusterpolicies_list_tool()` |\n| Get Kyverno policy | `kyverno_clusterpolicy_get_tool` | `kyverno_clusterpolicy_get_tool(name)` |\n| List Gatekeeper constraints | `gatekeeper_constraints_list_tool` | `gatekeeper_constraints_list_tool()` |\n| Get constraint | `gatekeeper_constraint_get_tool` | `gatekeeper_constraint_get_tool(kind, name)` |\n\n## Kyverno\n\n### Detect Installation\n\n```python\nkyverno_detect_tool()\n```\n\n### List Policies\n\n```python\nkyverno_clusterpolicies_list_tool()\n\nkyverno_policies_list_tool(namespace=\"default\")\n```\n\n### Get Policy Details\n\n```python\nkyverno_clusterpolicy_get_tool(name=\"require-labels\")\nkyverno_policy_get_tool(name=\"require-resources\", namespace=\"default\")\n```\n\n### Policy Reports\n\n```python\nkyverno_clusterpolicyreports_list_tool()\n\nkyverno_policyreports_list_tool(namespace=\"default\")\n```\n\n### Common Kyverno Policies\n\n```python\nkubectl_apply(manifest=\"\"\"\napiVersion: kyverno.io\u002Fv1\nkind: ClusterPolicy\nmetadata:\n  name: require-labels\nspec:\n  validationFailureAction: Enforce\n  rules:\n  - name: require-app-label\n    match:\n      resources:\n        kinds:\n        - Pod\n    validate:\n      message: \"Label 'app' is required\"\n      pattern:\n        metadata:\n          labels:\n            app: \"?*\"\n\"\"\")\n\nkubectl_apply(manifest=\"\"\"\napiVersion: kyverno.io\u002Fv1\nkind: ClusterPolicy\nmetadata:\n  name: require-limits\nspec:\n  validationFailureAction: Enforce\n  rules:\n  - name: require-cpu-memory\n    match:\n      resources:\n        kinds:\n        - Pod\n    validate:\n      message: \"CPU and memory limits required\"\n      pattern:\n        spec:\n          containers:\n          - resources:\n              limits:\n                cpu: \"?*\"\n                memory: \"?*\"\n\"\"\")\n```\n\n## Gatekeeper (OPA)\n\n### Detect Installation\n\n```python\ngatekeeper_detect_tool()\n```\n\n### List Constraints\n\n```python\ngatekeeper_constraints_list_tool()\n\ngatekeeper_constrainttemplates_list_tool()\n```\n\n### Get Constraint Details\n\n```python\ngatekeeper_constraint_get_tool(\n    kind=\"K8sRequiredLabels\",\n    name=\"require-app-label\"\n)\n\ngatekeeper_constrainttemplate_get_tool(name=\"k8srequiredlabels\")\n```\n\n### Common Gatekeeper Policies\n\n```python\nkubectl_apply(manifest=\"\"\"\napiVersion: templates.gatekeeper.sh\u002Fv1\nkind: ConstraintTemplate\nmetadata:\n  name: k8srequiredlabels\nspec:\n  crd:\n    spec:\n      names:\n        kind: K8sRequiredLabels\n      validation:\n        openAPIV3Schema:\n          type: object\n          properties:\n            labels:\n              type: array\n              items:\n                type: string\n  targets:\n  - target: admission.k8s.gatekeeper.sh\n    rego: |\n      package k8srequiredlabels\n      violation[{\"msg\": msg}] {\n        provided := {label | input.review.object.metadata.labels[label]}\n        required := {label | label := input.parameters.labels[_]}\n        missing := required - provided\n        count(missing) > 0\n        msg := sprintf(\"Missing labels: %v\", [missing])\n      }\n\"\"\")\n\nkubectl_apply(manifest=\"\"\"\napiVersion: constraints.gatekeeper.sh\u002Fv1beta1\nkind: K8sRequiredLabels\nmetadata:\n  name: require-app-label\nspec:\n  match:\n    kinds:\n    - apiGroups: [\"\"]\n      kinds: [\"Pod\"]\n  parameters:\n    labels: [\"app\", \"env\"]\n\"\"\")\n```\n\n## Policy Audit Workflow\n\n```python\nkyverno_detect_tool()\nkyverno_clusterpolicies_list_tool()\nkyverno_clusterpolicyreports_list_tool()\n```\n\n## Prerequisites\n\n- **Kyverno**: Required for Kyverno tools\n  ```bash\n  kubectl create -f https:\u002F\u002Fgithub.com\u002Fkyverno\u002Fkyverno\u002Freleases\u002Flatest\u002Fdownload\u002Finstall.yaml\n  ```\n- **Gatekeeper**: Required for Gatekeeper tools\n  ```bash\n  kubectl apply -f https:\u002F\u002Fraw.githubusercontent.com\u002Fopen-policy-agent\u002Fgatekeeper\u002Fmaster\u002Fdeploy\u002Fgatekeeper.yaml\n  ```\n\n## Related Skills\n\n- [k8s-security](..\u002Fk8s-security\u002FSKILL.md) - RBAC and security\n- [k8s-operations](..\u002Fk8s-operations\u002FSKILL.md) - Apply policies\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-policy",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-policy",{"tool":40,"command":41},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill k8s-policy",{"tool":43,"command":44},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill k8s-policy","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Frohitg00\u002Fkubectl-mcp-server\u002Fk8s-policy\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]]