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…
Configures, optimizes, and troubleshoots GKE ComputeClasses. Use when configuring Spot VMs with on-demand fallback, targeting specific accelerators (GPUs/TPUs) or machine families, restricting ComputeClass access, or debugging pending pods related to node pool auto-creation. Do
$ npx -y skills add google/skills --skill gke-compute-classes --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gke-compute-classesContext preview
The summary Claude sees to decide when to auto-load this skill.
Configures, optimizes, and troubleshoots GKE ComputeClasses. Use when configuring Spot VMs with on-demand fallback, targeting specific accelerators (GPUs/TPUs) or machine families, restricting ComputeClass access, or debugging pending pods related to node pool auto-creation. Do
name: gke-compute-classes description: >- Configures, optimizes, and troubleshoots GKE ComputeClasses. Use when configuring Spot VMs with on-demand fallback, targeting specific accelerators (GPUs/TPUs) or machine families, restricting ComputeClass access, or debugging pending pods related to node pool auto-creation. Do not use for cluster-level Node Auto Provisioning configuration or general GKE cluster creation. metadata: category: Containers
<!-- disableFinding(LINE_OVER_80) -->
Guidance on configuring, optimizing, and troubleshooting GKE ComputeClasses.
--------------------------------------------------------------------------------
ComputeClasses depend on zone availability, CUDs, and workload constraints. **Do not block the user's initial request.** If asked for YAML/recommendations:
1. **Provide Generalized Answer Immediately:** Fulfill request using best practices and placeholders (`<YOUR-ZONE-HERE>`).
(e.g., N4, C4) are generic best-practice examples. You MUST explicitly state that the final choice of machine family should be aligned with the user's existing Committed Use Discounts (CUDs) or Reservations.
to cap a primary machine family to match a Committed Use Discount (CUD) footprint (e.g., 100-core CUD for N4) and automatically spill over excess workload demand to secondary families (N4D, C4), you MUST recommend a **`CapacityQuota`** (`autoscaling.x-k8s.io/v1beta1`, GKE 1.36.2+) targeting `cloud.google.com/compute-class: <NAME>` and `cloud.google.com/machine-family: <PRIMARY_FAMILY>` with a `cpu: <CUD_CORES>` limit. This caps only the primary preferred family without restricting secondary fallback priorities in the `ComputeClass` (`n4d`, `c4`), allowing Cluster Autoscaler to emit `noScaleUp` and automatically spill over excess demand to uncapped fallback families without pods staying in Pending. Do NOT recommend manual node pool limits or GCE Capacity Reservations for this pattern.
near the `machineFamily` field: `# IMPORTANT: Align machineFamily with your existing CUDs/Reservations`.
`spec.description`, `gvnic`, `transparentHugepageEnabled`, or `shutdownGracePeriodSeconds`. Use `bootDiskSize` (NOT `bootDiskSizeGb`).
use `bootDiskSize: 50`, not `bootDiskSize: "50"`). `imageType` MUST be lowercase.
priority for AI/ML Inference, *even if the workload is stateless*. Accelerator node startup latency is severe. The correct priority is: `Reservations -> On-Demand -> DWS FlexStart -> Spot`.
with cluster-level Node Auto Provisioning. Starting with GKE `1.33.3-gke.1136000`, `nodePoolAutoCreation.enabled: true` in the ComputeClass achieves automatic node pools scoped directly to the ComputeClass. **It does NOT require turning on Node Auto Provisioning at the cluster level.**
`cloud.google.com/compute-class` on **auto-created** pools — node pool auto-creation already applies AND auto-tolerates that key, so duplicating it breaks scheduling → REMOVE it (don't add a toleration). This is NOT "never add taints": an intentional **dedication/isolation** taint (e.g. `dedicated=ml:NoSchedule`) in `nodePoolConfig.taints` is valid — it keeps other workloads off, and the intended workloads need a matching toleration (normal K8s contract). Judge intent before deleting; only the compute-class key is redundant. **Manual pools STILL require `cloud.google.com/compute-class=<NAME>` as label AND taint to bind to the ComputeClass — never remove that.** **Schema limit:** a `nodePoolConfig.taints` key may NOT contain the reserved `kubernetes.io` substring (GKE Warden rejects it) — so the Cluster-Autoscaler-ignored prefixes (`startup-taint.`/`status-taint.cluster-autoscaler.kubernetes.io/`) cannot be set via a ComputeClass; those are node-pool-level taints.
`nvidia.com/gpu:NoSchedule` — this is sep
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…