finding-google-skills
Locates and loads the right Google product skill on demand from a remote catalog index, instead of preloading every skill. Use at the START of any request…
Diagnoses GKE workload failures (CrashLoopBackOff, OOMKilled, ImagePullBackOff, Pending, etc.) via logs and events. Use when pods fail to start or crash repeatedly. Don't use for GKE cluster infrastructure provisioning, node pool creation, or non-Kubernetes Google Cloud services.
$ npx -y skills add google/skills --skill gke-workload-troubleshooting --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gke-workload-troubleshootingContext preview
The summary Claude sees to decide when to auto-load this skill.
Diagnoses GKE workload failures (CrashLoopBackOff, OOMKilled, ImagePullBackOff, Pending, etc.) via logs and events. Use when pods fail to start or crash repeatedly. Don't use for GKE cluster infrastructure provisioning, node pool creation, or non-Kubernetes Google Cloud services.
name: gke-workload-troubleshooting metadata: category: Containers description: >- Diagnoses GKE workload failures (CrashLoopBackOff, OOMKilled, ImagePullBackOff, Pending, etc.) via logs and events. Use when pods fail to start or crash repeatedly. Don't use for GKE cluster infrastructure provisioning, node pool creation, or non-Kubernetes Google Cloud services.
Use this skill to systematically diagnose and resolve failures in application workloads deployed in GKE clusters. This skill operates non-interactively and enforces a read-only diagnostics boundary: it only **proposes** fixes — whether Kubernetes manifest/config patches or Google Cloud changes (for example `gcloud` IAM bindings or node-pool recreation) — and never executes live mutations itself.
1. **Parameter Extraction**: Extract required context (`project_id`, `cluster_name`, `cluster_location`, `workload_name`, `workload_namespace`) non-interactively from the user prompt, active `SETTINGS.md`, or active environment defaults:
config current-context` or `gcloud config get-value project`).
environment defaults to ensure autonomous execution flow.
2. **Cluster Credentials & Fallback Mode**:
{cluster_name} --region/--zone {cluster_location}`
non-existent, or live command execution fails (such as in sandboxed evaluations, dry-run mode, or offline analysis):
overflow in unreachable cluster scenarios.
commands for the human operator to run.
manifest fix based on the reported symptoms.
3. **Time Handling & Fallbacks**:
timestamp, use it as `{issue_time}`.
calculate the corresponding UTC timestamp based on current system time, and use it as `{issue_time}`.
`{issue_time}`.
`{issue_time}` (`start_time` = `{issue_time} - 30m`, `end_time` = `{issue_time} + 30m`).
--------------------------------------------------------------------------------
Inspect the workload's active pod states and controller status.
**Diagnostic Commands:**
# 1. Inspect the deployment's actual selector labels:
kubectl get deployment {workload_name} -n {workload_namespace} -o jsonpath='{.spec.selector.matchLabels}'
# 2. Query the pods using the returned labels, for example:
kubectl get pods -l {selector_labels} -n {workload_namespace}
kubectl get deploy/{workload_name} -n {workload_namespace} -o yamlNamespace Events)**.
an increasing back-off delay of up to five minutes. First read the terminated **reason** and **exit code**:
kubectl describe pod {pod_name} -n {workload_namespace}
kubectl get pod {pod_name} -n {workload_namespace} -o jsonpath='{.status.containerStatuses[*].lastState.terminated}'reached. Proceed to **Step 3 (Inspect Logs) → OOM Analysis** to classify container-level vs node-level, then **Step 5** to propose fixes.
Deployment/StatefulSet — `restartPolicy: Always` restarts the finished process, creating the loop. Common causes: the `command`/`entrypoint` does not start a persistent process, a worker exits on an empty queue, or a missing/invalid config (e.g., an unattached or mis-keyed `ConfigMap` volume) makes the app exit cleanly. Proceed to **Step 3 (Inspect Logs)**.
is wrong or absent in the image. Verify the container command in the manifest.
configuration errors, missing/invalid env vars or config files, unreachable dependencies, or auth failures (`401`/`403`) on Google Cloud calls (check the Pod's IAM / Workload Identity Federation). Proceed directly to **Step 3 (Inspect Logs)**.
suspect a **liveness probe failure** (see Step 3).
keeps retrying with back-off; `ErrImagePull` is a general, non-recoverable pull error. Related statuses: `InvalidImageName`, `RegistryUnavailable`, `SignatureValidationFailed`, `ImageInspectError`. Proceed to **Step 2 (Query Namespace Events)** to read the exact pull error message.
This repository contains Agent Skills for Google products and technologies, including Google Cloud.
Repo: google/skills
Locates and loads the right Google product skill on demand from a remote catalog index, instead of preloading every skill. Use at the START of any request…
Provides safety-critical validation, guardrails, and data reduction for gcloud CLI operations across Google Cloud Platform (GCP) services and infrastructure.…
Provides expert guidance on authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default…
Guides a developer's first steps on Google Cloud, covering account creation, billing setup, project management, and deploying a first resource. Use when a new…
Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI/Gemini, Android, Chrome, Web, Flutter, Go, Firebase, and…
Guides developers through managing (adding, removing, and clearing) audience members for Google products using the Data Manager API and its associated client…