SkillAgentSearch skills...

bigquery-slot-cost-optimizer

Analyzes Google Cloud BigQuery slot consumption, query costs, and execution bottlenecks using INFORMATION_SCHEMA

Install / Use

npx skills add google/skills --skill bigquery-slot-cost-optimizer

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

92/100

Supported Platforms

Universal

Tags

Our assessment of bigquery-slot-cost-optimizer

bigquery-slot-cost-optimizer scores 92/100 on our quality scale, 47th of 219 Data & Analytics skills we index (top 22%).

Its SKILL.md is 8.8 KB long, well organised into 14 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.

With 20,340 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
29/30
Structure
18/20
Description
12/15
Adoption
18/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 3 days ago, so bigquery-slot-cost-optimizer is actively maintained.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

bigquery-slot-cost-optimizer compared with similar skills

All 4 of these similar skills score higher than bigquery-slot-cost-optimizer; compare them before choosing.

SkillScoreStarsUpdatedFormat
bigquery-slot-cost-optimizer (this skill)by google9220.3k3d agoSKILL.md
algorithmic-artby anthropics100177.9k4d agoSKILL.md
pptxby anthropics100177.9k4d agoSKILL.md
designby nextlevelbuilder100130.2k5d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100130.2k5d agoSKILL.md

Frequently asked questions

How do I install bigquery-slot-cost-optimizer?
Run npx skills add google/skills --skill bigquery-slot-cost-optimizer. The install tabs above show the steps for each supported agent.
Which AI agents does bigquery-slot-cost-optimizer work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is bigquery-slot-cost-optimizer safe to use?
It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is bigquery-slot-cost-optimizer still maintained?
The repository was last updated 3 days ago, so bigquery-slot-cost-optimizer is actively maintained.

name: bigquery-slot-cost-optimizer description: >- Analyzes Google Cloud BigQuery slot consumption, query costs, and execution bottlenecks using INFORMATION_SCHEMA. Use when diagnosing slow BigQuery queries, slot starvation, high on-demand query costs, unpartitioned table scans, or join performance issues. Don't use for generic BigQuery administration (use bigquery-basics), BigQuery ML (use bigquery-ai-ml), or DataFrame operations (use bigquery-bigframes). metadata: version: 1.0.0 publisher: google category: BigDataAndAnalytics tags: - bigquery - performance - cost-optimization - slot-analysis - sql

BigQuery slot and cost optimizer

This skill equips AI agents and cloud engineers with procedural heuristics to analyze BigQuery resource consumption, calculate slot hours, identify slot contention and queueing, mitigate Cartesian joins, and optimize unpartitioned table scans.

Trigger conditions and intent mapping

Activate this skill whenever the user asks to:

  • "Optimize BigQuery query performance or reduce slot usage"
  • "Find the most expensive queries in BigQuery"
  • "Diagnose BigQuery slot contention or queueing"
  • "Fix slow running BigQuery jobs or memory spillage"
  • "Detect Cartesian joins or row count explosions in BigQuery"
  • "Identify unpartitioned table scans or missing partition filters"

Prerequisites and environment setup

Before executing this skill, ensure the environment is configured with the necessary SDKs, permissions, and billing:

  1. Cloud SDK and client library installation:

  2. Project, billing, and regional selection:

    • Set the active project:

      gcloud config set project <PROJECT_ID>
      
    • Important: the target Google Cloud project must have an active Cloud Billing account attached.

    • Regional selection: specify the target BigQuery dataset location or execution region, as BigQuery INFORMATION_SCHEMA views are strictly region-scoped (for example, multi-regions like region-us or region-eu, or single regions like region-us-central1). Querying the wrong region returns empty job telemetry. Pass the matching region via --region (the script automatically normalizes location names like us-central1 to region-us-central1). For valid location identifiers, see BigQuery locations.

  3. API enablement:

    • Enable the BigQuery API on the project:

      gcloud services enable bigquery.googleapis.com
      
  4. Authentication setup:

    • Authenticate the local gcloud environment and configure Application Default Credentials (ADC):

      gcloud auth login
      gcloud auth application-default login
      
  5. IAM roles and permissions:

    • The executing principal requires the following minimum IAM roles:
      • roles/bigquery.jobUser: grants permission to run queries and analyze telemetry.
      • roles/bigquery.resourceViewer: grants read-only access to query metadata in INFORMATION_SCHEMA.JOBS_BY_PROJECT and capacity reservations.
  6. Pricing reference:

    • Cost estimates in this skill are for planning purposes. Before running scripts/slot_analyzer.py, retrieve live BigQuery billing rates at runtime from official Google Cloud BigQuery Pricing (and consult BigQuery editions introduction for edition capabilities) after considering user-specific parameters such as target region, chosen edition (Standard, Enterprise, Enterprise Plus), and commitment tier (Pay-as-you-go, 1-year, 3-year). Pass these runtime-fetched rates explicitly via --ondemand-rate <USD_PER_TIB> and --slot-hour-rate <USD_PER_SLOT_HOUR>.

Diagnostic execution workflow

Execute automated telemetry extraction

Run scripts/slot_analyzer.py to pull and analyze historical query telemetry from INFORMATION_SCHEMA.JOBS_BY_PROJECT, passing the runtime-retrieved pricing rates for your specific region, edition, and commitment tier:

# General analysis passing live regional pricing rates fetched from BigQuery pricing
python3 scripts/slot_analyzer.py --project-id <PROJECT_ID> --days 7 \
  --ondemand-rate <USD_PER_TIB> --slot-hour-rate <USD_PER_SLOT_HOUR> --format table

# Output structured JSON for programmatically parsing recommendations
python3 scripts/slot_analyzer.py --project-id <PROJECT_ID> --days 7 \
  --ondemand-rate <USD_PER_TIB> --slot-hour-rate <USD_PER_SLOT_HOUR> --format json

# Offline verification mode using synthetic or extracted telemetry
python3 scripts/slot_analyzer.py --mock-data-file path/to/extracted_telemetry.json \
  --ondemand-rate <USD_PER_TIB> --slot-hour-rate <USD_PER_SLOT_HOUR> --format table

# Dry-run mode to inspect regional SQL query
python3 scripts/slot_analyzer.py --project-id <PROJECT_ID> --region region-us --dry-run

Run python3 scripts/slot_analyzer.py --help to inspect all supported CLI flags, focus modes (--mode), and required pricing rate arguments (--ondemand-rate per TiB and --slot-hour-rate per slot-hour).

Metric interpretation and decision tree

Evaluate the telemetry output using the following decision rules. CRITICAL MANDATE: After classifying the query issue using the decision tree below, you MUST immediately call view_file on references/remediation_playbooks.md to read and execute the corresponding remediation playbook (Rule SLOT-001, Rule JOIN-001, or Rule PART-001) and include all mandatory diagnostic SQL queries and 4-step checklists in your response.

[Query Telemetry Analyzed]
       |
       +---> If wait_ratio_avg > 0.40 OR slot_contention == TRUE
       |     --> Classify as slot contention and queueing (Rule SLOT-001)
       |     --> MANDATORY: Read Rule SLOT-001 in references/remediation_playbooks.md
       |
       +---> If shuffle_output_bytes_spilled > 0 OR records_written > 10 * records_read
       |     --> Classify as Cartesian join (Rule JOIN-001)
       |     --> MANDATORY: Read Rule JOIN-001 in references/remediation_playbooks.md
       |
       +---> If total_bytes_billed > 10 GB AND no date/partition filters
       |     --> Classify as unpartitioned scan (Rule PART-001)
       |     --> MANDATORY: Read Rule PART-001 in references/remediation_playbooks.md
       |
       +---> Otherwise
             --> Check BI Engine, search indexes, or materialized view opportunities
             --> MANDATORY: Read references/optimization_rules.md

Remediation playbooks and architectural reference links

To minimize token consumption in SKILL.md, concrete remediation playbooks (Rule SLOT-001, Rule JOIN-001, Rule PART-001), diagnostic SQL queries, and DDL rewrite patterns are housed in references/:

Verification and validation protocol

Before finalizing query rewrites:

Dry-run validation

Validate query syntax and calculate estimated bytes scanned without incurring cost:

from google.cloud import bigquery
client = bigquery.Client()
job_config = bigquery.QueryJobConfig(dry_run=True, use_query_cache=False)
query_job = client.query(optimized_sql, job_config=job_config)
print(f"Scanned bytes: {query_job.total_bytes_processed / (1024**3):.2f} GB")

Offline and dry-run validation

  • Offline mock telemetry verification: validate heuristic classification, slot contention detection, Cartesian join identification, and cost estimation offline using synthetic or extracted JSON telemetry payloads (--mock-data-file):

    python3 scripts/slot_analyzer.py --mock-data-file path/to/extracted_telemetry.json \
      --ondemand-rate <USD_PER_TIB> --slot-hour-rate <USD_PER_SLOT_HOUR> --format table
    
  • CLI dry-run inspection: verify regional SQL query formation and script execution without contacting BigQuery or incurring costs:

    python3 scripts/slot_analyzer.py --project-id <PROJECT_ID> --region region-us --dry-run
    

Related Skills

View on GitHub
GitHub Stars20.3k
CategoryData
Updated3d ago
Forks1.7k

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions