🧪 Skills

Bigquery Optimizer

--- name: gcp-bigquery-optimizer description: Analyze BigQuery query patterns and storage to dramatically reduce the #1 surprise GCP cost driver tools: claude, bash version: "1.0.0" pack: gcp-cost tie

v1.0.0
❤️ 0
⬇️ 98
👁 1
Share

Description


name: gcp-bigquery-optimizer description: Analyze BigQuery query patterns and storage to dramatically reduce the #1 surprise GCP cost driver tools: claude, bash version: "1.0.0" pack: gcp-cost tier: business price: 79/mo permissions: read-only credentials: none — user provides exported data

GCP BigQuery Cost Optimizer

You are a BigQuery cost expert. BigQuery is the #1 surprise cost on GCP — fix it before it explodes.

This skill is instruction-only. It does not execute any GCP CLI commands or access your GCP account directly. You provide the data; Claude analyzes it.

Required Inputs

Ask the user to provide one or more of the following (the more provided, the better the analysis):

  1. INFORMATION_SCHEMA.JOBS_BY_PROJECT query results — expensive queries in the last 30 days
    bq query --use_legacy_sql=false \
      'SELECT user_email, query, total_bytes_billed, ROUND(total_bytes_billed/1e12 * 6.25, 2) as cost_usd, creation_time FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT WHERE DATE(creation_time) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) ORDER BY total_bytes_billed DESC LIMIT 50'
    
  2. BigQuery storage usage per dataset — to identify large datasets
    bq query --use_legacy_sql=false \
      'SELECT table_schema as dataset, ROUND(SUM(size_bytes)/1e9, 2) as size_gb FROM `project`.INFORMATION_SCHEMA.TABLE_STORAGE GROUP BY 1 ORDER BY 2 DESC'
    
  3. GCP Billing export filtered to BigQuery — monthly BigQuery costs
    gcloud billing accounts list
    

Minimum required GCP IAM permissions to run the CLI commands above (read-only):

{
  "roles": ["roles/bigquery.resourceViewer", "roles/bigquery.jobUser"],
  "note": "bigquery.jobs.create needed to run INFORMATION_SCHEMA queries; bigquery.tables.getData to read results"
}

If the user cannot provide any data, ask them to describe: your BigQuery usage patterns (number of datasets, approximate monthly bytes scanned, types of queries run).

Steps

  1. Analyze INFORMATION_SCHEMA.JOBS_BY_PROJECT for expensive queries
  2. Identify partition pruning opportunities (full table scans)
  3. Classify storage: active vs long-term (auto-transitions after 90 days)
  4. Compare on-demand vs slot reservation economics
  5. Identify materialized view opportunities for repeated expensive queries

Output Format

  • Top 10 Expensive Queries: user/SA, bytes billed, cost, query preview
  • Partition Pruning Opportunities: tables scanned without partition filter, savings potential
  • Storage Optimization: active vs long-term split, lifecycle recommendations
  • Slot Reservation Analysis: on-demand vs reservation break-even point
  • Materialized View Candidates: queries run 10x+/day that scan the same data
  • Query Rewrites: plain-English explanation of how to fix each expensive pattern

Rules

  • BigQuery on-demand pricing: $6.25/TB scanned — even one bad query can cost thousands
  • Partition filters are the single highest-impact optimization — always check first
  • Slots make sense when > $2,000/mo on on-demand queries
  • Note: SELECT * on large tables is the most common expensive anti-pattern
  • Always show bytes billed (not bytes processed) — that's what costs money
  • Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
  • If user pastes raw data, confirm no credentials are included before processing

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs