Design, debug, and review KEDA ScaledObject/ScaledJob autoscaling. Covers all major scalers (Prometheus, SQS, Kafka, Redis, Cron, HTTP Add-on, Azure Service Bus), TriggerAuthentication, scaling lifecycle tuning, GitOps integration, and troubleshooting. Use when asked to "add KEDA autoscaling", "debug why my ScaledObject isn't scaling", "review my KEDA config", or "generate a ScaledObject for <trigger>".
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
The canonical home for this skill is keda in nitinjain999/platform-skills
Design, debug, and review KEDA (Kubernetes Event-Driven Autoscaling) ScaledObject and ScaledJob resources.
Write a production-ready ScaledObject or ScaledJob from a description.
Steps:
ScaledObjectScaledJobapiVersion: keda.sh/v1alpha1scaleTargetRef.name matching the exact Deployment/StatefulSet/Job nameminReplicaCount: 0 only if the service can tolerate cold-start latency; otherwise minReplicaCount: 1Scale-to-zero warning: Setting
minReplicaCount: 0means the Deployment will have 0 replicas when the queue/metric is empty. Cold-start latency applies — confirm this is acceptable before enabling.
pollingInterval and cooldownPeriod sized to the workload pattern (see table in references/keda.md)metadata with activationThreshold/activationQueueLength set to avoid flapping on sparse eventsauthenticationRef pointing to a TriggerAuthentication — never inline credentials in the ScaledObjectpodIdentity.provider: aws) over static key/secret pairsTriggerAuthentication or ClusterTriggerAuthenticationkubectl describe scaledobject <name> -n <ns> and the expected Active: true conditionDiagnose why a ScaledObject or ScaledJob is not scaling as expected.
Steps:
kubectl get scaledobject -n <namespace>
kubectl describe scaledobject <name> -n <namespace>
kubectl get hpa -n <namespace>
kubectl describe hpa keda-hpa-<scaledobject-name> -n <namespace>
kubectl logs -n keda -l app.kubernetes.io/name=keda-operator --tail=100
kubectl logs -n keda -l app.kubernetes.io/name=keda-operator-metrics-apiserver --tail=100Conditions block:
Active: false → scaler is not detecting events (check trigger config and auth)Ready: false → KEDA cannot reach the target deployment (check scaleTargetRef.name)Fallback: true → metric fetch is failing; KEDA is using fallback replicas<unknown> targets — indicates metrics adapter cannot reach the external sourceactivationThreshold too high for current event volume?minReplicaCount preventing scale-to-zero?cooldownPeriod not yet elapsed?If you need deeper context on KEDA troubleshooting, scaling lifecycle, or scaler-specific behaviour, load references/keda.md.
Review an existing ScaledObject or ScaledJob for correctness, security, and operational safety.
Review in this priority order:
Correctness
scaleTargetRef.name match an existing Deployment/StatefulSet?minReplicaCount and maxReplicaCount consistent with the workload SLA?pollingInterval appropriate for the trigger type (SQS charges per API call)?metadata use the right field names for this scaler version?Security
Operational safety
minReplicaCount: 0 justified? What is the cold-start latency?cooldownPeriod long enough to prevent thrashing?advanced.restoreToOriginalReplicaCount: true set if the ScaledObject may be deleted?activationThreshold/activationQueueLength set to prevent premature activation on sparse events?scaleDown.stabilizationWindowSeconds configured for latency-sensitive services?GitOps safety
Separate findings into:
Design the scaling strategy for a workload from requirements.
Steps:
references/keda.mdpollingInterval, cooldownPeriod, and minReplicaCount based on the workload patternRollback: kubectl delete scaledobject <name> -n <namespace> removes KEDA control. Replica behavior on deletion depends on configuration:
advanced.restoreToOriginalReplicaCount: true (explicit) → restores the pre-KEDA replica countVerify: kubectl get deployment <name> -n <namespace> -o jsonpath='{.spec.replicas}' — if replicas are 0, manually scale up: kubectl scale deployment <name> -n <namespace> --replicas=<desired>.
nitinjain999/platform-skills
c2e75b7
Canonical home
since Oct 12, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.