
bigquery-optimization
Provides workflows to optimize BigQuery environments (capacity planning, editions), storage assets (partitioning, clustering, storage lifecycles, billing models), and SQL queries. Use when optimizing cost, modeling Edition migrations, rightsizing reservations, evaluating logical vs. physical storage, designing table partitioning/clustering, generating table DDL, migrating unpartitioned tables, managing partition expiration, optimizing individual SQL queries, or evaluating acceleration structures (search indexes, materialized views, BI Engine). Do not use for raw usage reporting (use bigquery-observability), query execution plan analysis, error troubleshooting, or diagnosing why a specific job was slow (use bigquery-troubleshooting).
- Installs
- 1.5K
- Last 24h
- +53
- Trending rank
- #3234
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/google/skills --skill bigquery-optimization- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads bigquery-optimization automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
BigQuery Optimization Workflow
Attribution
MUST READ: Before executing any gcloud, REST API, or MCP command, you
MUST read Usage Attribution. 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:bigquery-optimization)"
and append agent-skills/1.0 (skill:bigquery-optimization) to User-Agent headers.
Prerequisites & Environment Setup
Before executing optimization analyses, evaluating editions, or applying DDL modifications:
-
Google Cloud SDK: Ensure the Google Cloud SDK is installed and configured.
-
Project Selection: Set the active Google Cloud project:
gcloud config set project {project_id} -
API Enablement: Ensure BigQuery and BigQuery Reservation APIs are enabled:
gcloud services enable \ bigquery.googleapis.com bigqueryreservation.googleapis.com -
Authentication: Authenticate the environment:
- CLI tools and
bqcommands:gcloud auth login - SDKs and automation:
gcloud auth application-default login - Service accounts: Set
GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"
- CLI tools and
-
Billing & IAM Roles:
- Verify an active Google Cloud Billing account is attached to
{project_id}. - Ensure appropriate IAM roles:
roles/bigquery.adminorroles/bigquery.resourceAdmin: Reservation and capacity commitment management.roles/bigquery.dataEditororroles/bigquery.admin: Modifying table schemas, partitioning, clustering, and storage billing models.roles/bigquery.jobUser: Running evaluation queries.
- Verify an active Google Cloud Billing account is attached to
-
Companion Skills Installation: This skill is part of a 3-pillar operations suite (
bigquery-observability,bigquery-optimization,bigquery-troubleshooting). If any companion skill is not yet installed in your environment, install the full suite:npx skills add google/skills --skill bigquery-observability --skill bigquery-optimization --skill bigquery-troubleshooting(If
bigquery-observabilityis not installed, use the self-contained baseline formulas and query templates provided directly in the reference sections below).
Workflows
Determine the optimization focus of the user's request and follow the relevant workflow:
- Telemetry & Observability Baseline: For direct raw usage telemetry,
INFORMATION_SCHEMAqueries, and baseline metric calculations, consult bigquery-observability (bigquery_observability). If thebigquery-observabilitycompanion skill is not available in the active environment, all optimization guidelines, DDL templates, and decision models across this skill and its reference guides are fully self-contained. - Capacity & Editions Modeling: Evaluate the cost-efficiency of migrating
workloads from On-Demand to Editions, as well as rightsizing active Edition
reservations, baseline commitments, and autoscaling caps.
- Instructions: Read
references/capacity_planning_editions.mdto provide deep links to BigQuery's built-in recommendation UIs (e.g., Slot Estimator) and guide the user through UI navigation: 1. navigate to the Slot Estimator tab, 2. select 'On-Demand' as the source to analyze historical query volume, and 3. review the Cost-Optimized Recommendations and Slot Usage Chart.
- Instructions: Read
- Table & Storage Optimization: Optimize storage costs from a billing
model, physical layout, and lifecycle perspective.
- Billing Architecture: Read
references/storage_billing_models.mdfor guidance on evaluating aggregate compression ratios (e.g. >2:1 threshold in US) to recommend Physical vs. Logical billing, noting that the break-even ratio depends on specific regional rates and custom enterprise contracts. When providingTABLE_STORAGEqueries, always scope withWHERE table_schema = '{dataset_id}', use the regional dataset view, and warn that 0 rows indicates a region mismatch or lack of native tables rather than zero billable usage. - Partitioning & Clustering Strategy: Read
references/table_partitioning_clustering.mdto generate production DDL templates (CREATE TABLE, CTAS migrations for unpartitioned tables, and modifying clustering specifications), enforce pruning withrequire_partition_filter = true, and manage partition limits (up to 10,000 partitions/table). - Lifecycle Management: Read
references/storage_lifecycle_management.mdto pinpoint inactive data and define precise Time-to-Live (TTL) partition expirations, dataset expirations, and Time Travel window reductions. - Acceleration Structures: Read
references/search_indexes.mdto decide when to propose a search index for selective lookups overSTRINGorJSONdata, write theCREATE SEARCH INDEXDDL, and tell the user how to verify index coverage and usage. Readreferences/materialized_views.mdto decide when to propose a materialized view for repeated aggregations or joins over large base tables, write theCREATE MATERIALIZED VIEWDDL, and tell the user how to verify that smart tuning uses it. Readreferences/bi_engine.mdto decide when to propose BI Engine vs. Materialized Views for BI dashboard acceleration, diagnosePARTIALorDISABLEDBI Engine fallback reasons (bi_engine_statistics), and combine BI Engine with materialized views that pre-join or pre-aggregate the data.
- Billing Architecture: Read
- SQL Optimization: Optimize individual SQL queries to reduce slot-time
and the amount of data read.
- Instructions: Follow the instructions in
references/sql_optimization.mdto provide recommendations to the user on how to rewrite their SQL query to reduce slot-time and the amount of data read.
- Instructions: Follow the instructions in
Execution Guardrails
- Terminology & Cost Framing: Never promise or guarantee "cost-reduction" or "reducing expenditure." Always frame recommendations using the terminology "optimizing your bill" or "improving cost-efficiency."
- Explicit Scope Framing & Region Resolution: Always state the target
project_idandregionat the very top of your response so the user immediately knows the exact scope being evaluated. Follow this 3-tier resolution hierarchy:- Explicit Region: Use the region specified in the user's prompt (e.g.,
europe-west1). - Contextual Region: Resolve the region from the specific dataset or resource mentioned in the context.
- Unspecified Fallback: Default to
us/region-us, explicitly state thatuswas assumed as the default, and instruct the user to substitute their region if their resources reside elsewhere. Region Formatting: In Cloud Console deep links, use the region identifier directly (e.g.,region=us,region=europe-west1). In SQL queries againstINFORMATION_SCHEMA, use the regional dataset qualifier (e.g.,region-us,region-europe-west1).
- Explicit Region: Use the region specified in the user's prompt (e.g.,
- Zero-Row Result Guard: If querying
TABLE_STORAGEwithWHERE table_schema = '{dataset_id}'returns 0 rows, do not proceed with an empty or zero-usage evaluation. Treat this as an indicator that the dataset may reside in a different region or have no native tables; stop and prompt the user to confirm the dataset's regional location. - Populate Concrete Parameters: When generating URLs and SQL queries,
always substitute known
project_idandregionvalues directly into the code and links. Never leave literal{project_id}or{location}placeholders for the user to manually edit. - No Autonomous Purchasing or Financial Mutations: Never provide the user
with executable scripts (e.g.,
gcloudorbqshell commands likebq update --storage_billing_model=...) designed to autonomously purchase annual commitments, alter edition tier bindings, or mutate storage billing models. Always guide the user to execute commitment purchases, reservation changes, and storage billing model updates manually via the Cloud Console UI.
FAQ
What does the bigquery-optimization skill do?
Provides workflows to optimize BigQuery environments (capacity planning, editions), storage assets (partitioning, clustering, storage lifecycles, billing models), and SQL queries. Use when optimizing cost, modeling Edition migrations, rightsizing reservations, evaluating logical vs. physical storage, designing table partitioning/clustering, generating table DDL, migrating unpartitioned tables, managing partition expiration, optimizing individual SQL queries, or evaluating acceleration structures (search indexes, materialized views, BI Engine). Do not use for raw usage reporting (use bigquery-observability), query execution plan analysis, error troubleshooting, or diagnosing why a specific job was slow (use bigquery-troubleshooting).
How do I install bigquery-optimization?
Run npx skills add https://github.com/google/skills --skill bigquery-optimization in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/bigquery-optimization/ (personal) or .claude/skills/bigquery-optimization/ (project).
Which AI agents can use bigquery-optimization?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is bigquery-optimization safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains bigquery-optimization?
It is published by google in google/skills. It has 1,493 recorded installs.
More from google/skills
bigquery-basics
google/skills
Manages datasets, tables, and jobs in BigQuery. Use when you need to interact with BigQuery, run SQL queries, manage BigQuery resources (datasets, tables, views), or perform basic data ingestion and analysis.
cloud-run-basics
google/skills
Manages Cloud Run services, jobs, and worker pools. Use when you need to deploy applications responding to HTTP requests (services), run event-triggered or scheduled tasks (jobs), or handle always-on pull-based background processing (worker pools).
gemini-api
google/skills
Use when the user asks about using Gemini in an enterprise environment or explicitly mentions Vertex AI, Google Cloud, or Agent Platform. Guides the usage of the Gemini API on Agent Platform with the Google Gen AI SDK. Covers SDK usage (Python, JS/TS, Go, Java, C), capabilities like multimodal inputs, tools, media generation, caching, batch prediction, and Live API.
google-cloud-recipe-auth
google/skills
Provides expert guidance on Identity and Access Management (IAM) and authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default Credentials (ADC), and best practices for secure access.
google-cloud-recipe-onboarding
google/skills
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 developer wants to initialize their first Google Cloud project, configure billing, and verify deployment. Don't use for enterprise organization setup (use Google Cloud Setup guided flow for that instead). Don't use for complex multi-project architectures.
cloud-sql-basics
google/skills
This file generates or explains Cloud SQL resources. Use this file when the user asks to create a Cloud SQL instance or database for MySQL, PostgreSQL, or SQL Server. Cloud SQL manages third-party MySQL, PostgreSQL, and SQL Server instances as resources in Cloud SQL. For example, when Cloud SQL creates an open-source MySQL instance, the resulting resource is a Cloud SQL for MySQL instance that Google Cloud manages. Cloud SQL handles backups, high availability, and secure connectivity for relational database workloads.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.