Skip to content
Development
Skill

/gke-cost-analysis

Answer natural language questions and perform analysis on GKE cluster and workload costs using BigQuery billing exports, cost allocation data, and live cluster monitoring metrics. Use when querying GKE costs across projects, namespaces, or workloads, analyzing billing reports in

From plugin
skills
22k178 skills1 MCP

Claude Code

$ npx -y skills add google/skills --skill gke-cost-analysis --agent claude-code

SKILL.md

gke-cost-analysis.SKILL.md
name: gke-cost-analysis
metadata:
  version: "1.0.1"
  category: CloudObservabilityAndMonitoring
description: >-
  Answer natural language questions and perform analysis on GKE cluster and
  workload costs using BigQuery billing exports, cost allocation data, and live
  cluster monitoring metrics. Use when querying GKE costs across projects,
  namespaces, or workloads, analyzing billing reports in BigQuery (`bq`), checking
  cluster cost budgets (`gcloud billing`), or diagnosing cost drivers like pod
  requests vs. actual utilization (`kubectl top`). Don't use for applying cost
  optimization changes, creating rightsizing manifests (VPA/MPA), or selecting
  ComputeClasses (use gke-cost-optimization instead).

GKE Cost Analysis

This skill provides guidance on answering natural language questions about GKE-related costs, billing reports, and utilization analysis.

Attribution

**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you MUST read [Usage Attribution](references/attribution.md). For commands executed directly in the terminal (never in generated scripts, Terraform, or user code), prefix `gcloud` with `CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:gke-cost-analysis)"` and append `agent-skills/1.0 (skill:gke-cost-analysis)` to `User-Agent` headers.

Overview

When users ask about GKE costs (e.g., "What are my costs across projects?", "What's my most expensive namespace?", "Why is my cluster cost spiking?"), use this skill to provide a structured and expert response using BigQuery billing exports, cost allocation metadata, and live cluster metrics.

Instructions

When handling a cost-related question:

1. **Provide a Direct Answer**: Address the specific cost question or analytical request clearly and concisely. 2. **Explain BigQuery Integration**: Explain how to query BigQuery for historical cost breakdown. Note that GKE costs originate from the GCP Billing Detailed BigQuery Export (`gcp_billing_export_resource_v1_*`). 3. **Check & Verify Cost Allocation**: Explain that GKE Cost Allocation must be enabled on the cluster (`--enable-cost-allocation`) for namespace, label, and workload-level billing granularity. If queries return empty labels, provide the `gcloud` command to enable it. 4. **Analyze Pricing Drivers & Utilization**: When diagnosing cost drivers, explain whether the cluster is in Autopilot (billed by requested pod CPU/memory) or Standard mode (billed by underlying VM node size + control plane fees), and compare live utilization (`kubectl top`) against provisioned requests. 5. **Provide Actionable Commands/Queries**: Provide concrete BigQuery CLI (`bq query`) commands or read-only `gcloud`/`kubectl` inspection commands. Prefer `bq` over BigQuery Studio when available.

Key Points & Pricing Drivers

  • **Data Source**: GKE costs come from GCP Billing Detailed BigQuery Export.

The user must provide the full path to their BigQuery table (dataset name and table name containing the Billing Account ID).

  • **Granularity Requirement**: GKE Cost Allocation

(`--enable-cost-allocation`) must be enabled on the cluster to populate `goog-k8s-cluster-name`, `k8s-namespace`, `k8s-workload-name`, and `k8s-workload-type` labels in BigQuery.

  • **Autopilot vs. Standard Cost Drivers**:
  • **Autopilot Pricing**: Billed directly on pod resource requests

(`requests.cpu`, `requests.memory`, ephemeral storage). Over-requested pods drive up billing regardless of whether the pod actively uses those CPU cycles or memory.

  • **Standard Pricing**: Billed on provisioned node pool VMs (`e2`, `n4`,

`c3`, etc.). Idle nodes or multiple low-utilization dev clusters drive excess infrastructure costs.

  • **Cluster Management Fee**: ~$0.10/hour per cluster applies to BOTH

Standard and Autopilot modes. The free tier waives it for one eligible cluster per billing account.

  • **Credits & Discounts Impact**: When analyzing `cost` versus

`cost_before_credits`, note that Committed Use Discounts (CUDs) and Spot VMs appear as credits or reduced rate charges in the billing export.

  • **Tools & Syntax**: BigQuery CLI (`bq`) is preferred. When writing Standard

SQL queries, use a dot (`.`) instead of a colon (`:`) to separate the project ID and dataset name (`{project_id}.{dataset_name}.{table_name}`).

  • **Defaults**: Assume last 30 days, row limit 10, ordering by cost descending

(`ORDER BY cost DESC`), unless specified otherwise.

Live Cluster & Cost Monitoring

Use read-only CLI commands to inspect current cluster budgets, node utilization, and pod resource consumption vs. requests:

# View billing budgets for an account (requires Cost Management API)
gcloud billing budgets list --billing-account={billing_account} --quiet

# View live node resource utilization across the cluster
kubectl top nodes

# View pod resource usage across namespaces (compare against requested limits to diagnose waste)
kubectl top pods --all-namespaces --containers

> **Warning — cluster mutation, not read-only:** Enabling GKE cost allocation > modifies the cluster. Get explicit user confirmation before running it, and > note that namespace/workload labels populate in the billing export only from > enablement onward (no historical backfill). > > ```bash > gcloud container clusters update {cluster_name} \ > --enable-cost-allocation \ > --region {region} > ```

Applying Cost Optimizations

To apply rightsizing changes based on analysis (such as setting up `VPA` recommendation mode, adjusting CPU/memory to `P95 * 1.2`, configuring Spot VMs via `nodeSelector` or `ComputeClass`, enforcing `ResourceQuotas`, or selecting machine types and CUDs), use the **`gke-cost-optimization`** skill.

BigQuery Query Templates

Ready-to-adapt `bq query` templates — single workload cost, per-workload per-cluster b

Read more
@google
Ships withskills

This repository contains Agent Skills for Google products and technologies, including Google Cloud.

22k178 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
21.7k
Star history of google/skills on GitHub, a chart by star-history.com

Other skills on skills.

finding-google-skills

finding-google-skills

Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or…

@google@googleInstall Skill
gcloud

gcloud

Provides safety-critical validation, guardrails, and data reduction for gcloud CLI operations across Google Cloud Platform (GCP)…

@google@googleInstall Skill
google-cloud-recipe-auth

google-cloud-recipe-au…

Provides expert guidance on Identity and Access Management (IAM) and authenticating and authorizing to Google Cloud services and…

@google@googleInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about gke-cost-analysis.

Which coding agents can use gke-cost-analysis?
gke-cost-analysis installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.