Skills
Skills are YAML files that become sub-agents. Six ship built in; you can
add your own by dropping YAML files into a directory and pointing
SKILL_DIRS at it.
Built-in skills
| Name | Display name | Focus |
|---|---|---|
security | Security Operations | Security auditing, RBAC analysis, network policy enforcement, compliance checks. |
administration | Cluster Administration | Deployments, scaling, rollouts, upgrades, namespace management, resource lifecycle. |
networking | Networking Operations | Services, ingress, DNS diagnostics, network policies, connectivity troubleshooting. |
monitoring | Monitoring & Observability | Resource usage analysis, HPA behaviour, event monitoring, Prometheus integration. |
troubleshooting | Troubleshooting & Incident Response | Root cause analysis, crash diagnostics, scheduling failures. |
cost_optimization | Cost Optimization & FinOps | Right-sizing, idle workload detection, orphaned resource review. See the guide. |
All skills use the same four executor tools
(run_kubectl, run_helm, run_shell,
read_resource), so the safety and approval rules apply
identically regardless of which skill is acting.
Anatomy of a skill
A skill definition has a handful of fields. Abridged from the built-in cost-optimization skill:
name: cost_optimization
display_name: Cost Optimization & FinOps
description: >
Autonomous cost analysis — resource right-sizing, idle workload
detection, orphaned resource cleanup, and efficiency recommendations.
category: finops
system_prompt: |
You are a Kubernetes FinOps specialist focused on cost efficiency.
- RIGHT-SIZING: Compare actual CPU/memory usage to requests and limits.
- IDLE DETECTION: Find deployments with 0 ready replicas, unused
Services, Jobs that completed long ago but weren't cleaned up.
...
Rules:
- Never delete resources without explicit confirmation.
- Always show current vs recommended values.
documentation: |
# Quick Reference
- Pod usage vs requests: compare `kubectl top pods` with requests
- PVC status: `kubectl get pvc -A` — look for non-Bound entries
system_prompt shapes how the sub-agent investigates;
documentation is reference material included with the skill.
Custom skills
At startup Kopilot loads YAML files from the built-in directory plus any
directories listed in the SKILL_DIRS environment variable
(colon-separated on Linux/macOS, semicolon-separated on Windows):
SKILL_DIRS=/etc/kubedevaiops/skills
A skill is only activated if its name also appears in
ENABLED_SKILLS. To add a custom skill named
backup_review:
ENABLED_SKILLS=["security","administration","networking","monitoring","troubleshooting","cost_optimization","backup_review"]
SKILL_DIRS=/etc/kubedevaiops/skills
In-cluster, mount a ConfigMap containing your skill YAMLs and point
SKILL_DIRS at the mount path. The Helm chart exposes this as
the extraSkillDirs value.
AISkill CRD
The Helm chart installs an AISkill CRD
(kubedevaiops.io/v1alpha1). Loading skill definitions from
cluster resources is planned but not implemented yet — today skills load
from YAML files only. The portable skill manifests exposed at
/skills/portable declare this honestly as a
planned_sources entry; see
Interoperability.