Rollout check
Verify Kubernetes deployment health — pod status, rollout progress, events, readiness, HPA state, and recent errors. Use when the user says "check rollout", "is deploy healthy", "rollout status", "deployment health", "pod status", "check pods", "why is deploy failing", "k8s health", "verify deployment", "are pods ready", "check deployment", or wants to verify a Kubernetes deployment is healthy after a rollout.From its SKILL.md
npx -y skills add indrasvat/claude-code-skills --skill rollout-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.0 KB, as published. Nobody here has run it
Rollout Health Check
Read-only deployment inspection. Lead with the health dashboard table.
1. Prerequisites
command -v kubectl-- REQUIRED. Abort immediately if missing.- Run
kubectl cluster-info --request-timeout=5sto confirm cluster access. If unreachable, stop and report. - Print the current context (
kubectl config current-context). - If
--contextis in$ARGUMENTS, pass--context <value>to every subsequent kubectl command.
2. Input
Parse $ARGUMENTS for:
- Deployment name -- first positional arg. REQUIRED. Abort if missing.
--namespace/-n-- optional. Default: current context namespace.--context-- optional. Default: current context.
Store the namespace flag as NS_FLAG (e.g., -n production) and context flag as CTX_FLAG for reuse.
3. Checks
Run these in parallel where possible. Capture stdout/stderr and exit code for each.
Rollout status: kubectl rollout status deployment/<name> --timeout=10s $NS_FLAG $CTX_FLAG. Classify: complete, progressing, or failed.
Pod status: kubectl get pods -l app=<name> -o wide $NS_FLAG $CTX_FLAG. Count pods by state: Ready, NotReady, Pending, CrashLoopBackOff, Evicted. Flag any pod not fully ready.
Recent events: Collect events for the deployment AND its pods: kubectl get events --sort-by=.lastTimestamp $NS_FLAG $CTX_FLAG and filter for events where involvedObject.name matches the deployment, its ReplicaSets, or its pods (use label selector app=<name> to identify related objects). Flag Warning-type events, back-off messages, and errors.
Resource usage: kubectl top pods -l app=<name> $NS_FLAG $CTX_FLAG. If metrics-server is unavailable (non-zero exit), skip gracefully and note it. Flag pods using >80% of their CPU or memory limits.
HPA status: kubectl get hpa $NS_FLAG $CTX_FLAG and filter rows matching the deployment name. Report current vs desired replicas and any scaling events. If no HPA exists, report N/A.
Container logs (unhealthy pods ONLY): For each pod in CrashLoopBackOff, Error, or not-ready state, run kubectl logs <pod> --tail=20 $NS_FLAG $CTX_FLAG. If the pod is crashlooping, also run with --previous to capture the last crash output. Skip this entirely if all pods are healthy.
4. Secret Masking
Before displaying ANY kubectl output, filter every line for keys matching (case-insensitive): password, secret, token, key, credential. Replace their values with [REDACTED]. Use: sed -E 's/(password|secret|token|key|credential)([=:][[:space:]]*)[^[:space:],"]*/\1\2[REDACTED]/gi' on all captured output.
5. Output
Print the health dashboard table FIRST:
| Check | Status | Detail |
|-----------------|--------|-------------------------------------|
| Rollout | OK | Successfully rolled out |
| Pods (3/3) | OK | All pods ready |
| Events | WARN | 2 warning events in last 10m |
| Resources | OK | All pods within limits |
| HPA | N/A | No HPA configured |
Status values: OK, WARN, FAIL. For any non-OK row, print the relevant log/event excerpts below the table under a heading matching the check name. No preamble, no commentary outside the structured output.
6. Idempotency
Strictly read-only inspection. No resources are created, modified, or deleted. Safe to re-run at any time.
$ARGUMENTS