bigquery-troubleshooting
Skill240 starsChanged 5 months agoApache-2.0View on GitHub
Provides diagnostic workflows and step-by-step root-cause analysis procedures for actively broken, failing, or slow BigQuery jobs, execution graph and query plan stage bottlenecks, system performance issues, or unexpectedly expensive workloads. Use when interpreting symptoms, isolating bottlenecks, diagnosing cost spikes (on-demand query spend, capacity slot autoscaling, storage growth), execution graph stages or substep variables, identifying root causes, and determining remediation steps. Don't use for writing or optimizing SQL, proactive capacity planning, or storage layout design (use bigquery-optimization), or when the user already knows which telemetry they want and just needs the query (use bigquery-observability).
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- google/skillsedited, first seen Sep 29, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- google/skills★ 24k74% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository39 other files it gives its agents.
- accidental-data-loss-preventionSkill
- bigquery-ai-mlSkill
- bigquery-bigframesSkill
- bigquery-data-transfer-serviceSkill
- bigquery-graph-authorSkill
- bigquery-graph-querySkill
- bigquery-observabilitySkill
- bigquery-optimizationSkill
- bigtable-basicsSkill
- building-data-appsSkill
- cloud-databases-onboardingSkill
- dak-setupSkill
- data-autocleaningSkill
- dataform-bigquerySkill
- dbt-bigquerySkill
- discovering-gcp-data-assetsSkill
- enforcing-resource-attributionSkill
- federate-lakehouse-catalogSkill
- gcp-composer-troubleshootingSkill
- gcp-dataflowSkill
- gcp-data-pipelinesSkill
- gcp-managed-airflow-dag-authoringSkill
- gcp-managed-airflow-migrationsSkill
- gcp-managed-airflow-recommendationsSkill
- gcp-managed-spark-upgradesSkill
- gcp-pipeline-orchestrationSkill
- gcp-pipeline-resource-provisioningSkill
- gcp-spark-observabilitySkill
- gcp-sparkSkill
- gcp-spark-troubleshootingSkill
- gcs-security-assessmentSkill
- google-cloud-storage-basicsSkill
- google-cloud-storage-bucket-architectSkill
- google-cloud-storage-fuseSkill
- managing-python-dependenciesSkill
- ml-best-practicesSkill
- notebook-guidanceSkill
- resolving-mcp-region-configsSkill
- schema-mappingSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 29
Telemetry Tool Selection: Follow the tool-selection guidance in the @skill:bigquery-observability skill to select the appropriate telemetry …
- Distinctive: line 42
Bounded Initial Scan: Follow the baseline scan guidance in the corresponding domain reference under Domain References.
- Distinctive: line 136
If a user request shifts outside incident diagnosis during troubleshooting, execute the corresponding handoff:
- Very specific: line 139
SQL Query Optimizations: When the user asks to optimize the SQL query (e.g., rewriting joins or eliminating SELECT *), hand off to …
- Very specific: line 142
Raw Telemetry & Schema Retrieval: When the user asks for standalone INFORMATION_SCHEMA queries without an active performance regression or …
- Very specific: line 146
Proactive Capacity & Storage Planning: When the user requests future reservation sizing, commitment purchasing, or storage billing model …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
BigQuery Troubleshooting
Workflow
- Scope & Symptom Identification: Identify the primary symptom, target
project_id,region,reservation_id, orjob_id, and domain (Performance, Compute Cost, or Storage Cost). If the request falls outside incident diagnosis or asks for a sibling domain, follow Routing Boundaries below. - Telemetry Tool Selection: Follow the tool-selection guidance in the
@skill:bigquery-observabilityskill to select the appropriate telemetry interface (REST APIbq show --location={location} -j {project_id}:{job_id}for single-job stage bottlenecks vs.INFORMATION_SCHEMAfor system-wide factors). Diagnostic workflows, symptom-to-cause mappings, key tables/fields, CLI triage commands, and remediation levers are fully defined in this skill. For pre-composed SQL query templates and full schema dictionaries, consult@skill:bigquery-observability. - Open-Ended Triage (Stage 1 Baseline Scan & Conversational Gate): When
the user inquiry is open-ended or vague (e.g. "Why is BigQuery slow
today?" or "Why did my bill spike?"), execute a bounded high-level
baseline scan to isolate the affected domain before drilling into deep-dive
diagnostics:
- Bounded Initial Scan: Follow the baseline scan guidance in the corresponding domain reference under Domain References. Ensure initial queries are strictly bounded (e.g. 7-day Period-over-Period with partition and job-type filters; for unspecified cost spikes, scan the 3 primary vectors: On-Demand TiB, Capacity slot-hours, and Storage GiB) to keep diagnostic telemetry overhead minimal.
- Conversational Gate: Factually summarize high-level baseline findings first and propose 2–3 focused drill-down options rather than dumping downstream sub-vector queries unsolicited.
- Domain Deep Dive & Comparative Analysis: Execute the step-by-step
diagnostic workflow defined in the corresponding domain reference file
listed under Domain References below, then run the corresponding query
from the
@skill:bigquery-observabilityskill following itsINFORMATION_SCHEMAbest practices to isolate the root cause via comparative analysis against a normal baseline.
Performance Context: The Relativity of "Slow"
Performance is relative. Always approach performance troubleshooting as a comparative exercise: identify a comparable past execution, compare the statistics, and isolate which dimension shifted between a fast baseline and the slow execution:
- Data Processed: Data volume increase, partition/cluster pruning changes, data skew, input record amplification.
- Underlying Definitions: View changes, schema modifications.
- System Contention: Noisy neighbors, saturated capacity (>95% slot utilization), idle slot availability, concurrent query spikes.
- Configuration Changes: Slot capacity/autoscale max slots changes, expired capacity commitments, idle slot setting changes, or reservation reassignments.
Cost Context: The 4-Step Diagnostic Funnel
Cost troubleshooting requires tracing physical resource consumption (Slot-Hours, TiB Billed, GiB Stored) rather than fluctuating contract rates:
- Gather: Determine scope and pull 7-day PoP (or explicit MoM / 180-day) baseline metrics.
- Isolate: Pinpoint whether spend surged from query volume, a single "Bully Query", BQML 50x multipliers, uncovered PAYG baselines, autoscaling bursts, 90-day storage timer resets, or physical Fail-Safe retention drain.
- Explain: Correlate with administrative events
(
INFORMATION_SCHEMA.RESERVATION_CHANGES,INFORMATION_SCHEMA.CAPACITY_COMMITMENT_CHANGES_BY_PROJECT,INFORMATION_SCHEMA.SCHEMATA_OPTIONS, or actoruser_email/query_hash). - Remediate: Deliver actionable levers (partition filter enforcement, query caps, commitment purchases, or Time Travel reduction).
Domain References
Performance Troubleshooting
- Resource Contention & Performance Slowness
(
references/performance_resource_contention.md): Diagnostic workflows for isolating single-job stage bottlenecks (slot_contention,spill_to_disk), cohort baseline comparisons (normalized_literals), incident window discovery, 1-second reservation slot saturation, timeframe contention comparisons, fleet performance variance, and table-level concurrency. - Capacity & Configuration Changes
(
references/performance_config_changed.md): Diagnostic workflows for auditing reservationslot_capacityandautoscale.max_slotsedits, tracking active capacity commitment timelines, diagnosing reservation assignment modifications, and evaluating autoscaling headroom saturation. - Execution Graph & Query Plan Troubleshooting
(
references/query_plan_execution_graph.md): Diagnostic workflows for investigating single-job stage bottlenecks (bq showpoint-lookups), isolating slowest stages (end_ms - start_ms), diagnosing join explosions (records_written >> records_read,high_cardinality_joins), shuffle spills (shuffle_output_bytes_spilled), and partition skew, substep intermediate variable disambiguation ($1,$2), mandatory bytes scanned vs records read corrections, and UI execution graph grounding concepts.
Cost Troubleshooting
- On-Demand Compute Costs (
references/cost_compute_ondemand.md): Diagnostic workflows for unpartitioned runaway scans (the "Bully Query"), hidden Row-Level Security (RLS) redaction gaps, BigQuery ML (BQML) 50x model training rate multipliers, and user/service account query quotas. - Capacity (Editions) Compute Costs
(
references/cost_compute_capacity.md): Diagnostic workflows for uncovered baseline slot penalties (baseline > commitments), reservation baseline reductions triggering autoscale surges (RESERVATION_BASELINE_CHANGED), autoscaler thrashing from batch cron spikes, and serverless Apache Spark stored procedure slot-hours. - Storage Footprint & Retention Costs (
references/cost_storage.md): Diagnostic workflows for historical partition 90-day timer resets (the DML trap), unpartitioned table active data traps, physical Time Travel and Fail-Safe churn on daily overwrites, and dropped table Fail-Safe drain periods.
Routing Boundaries
If a user request shifts outside incident diagnosis during troubleshooting, execute the corresponding handoff:
- SQL Query Optimizations: When the user asks to optimize the SQL query
(e.g., rewriting joins or eliminating
SELECT *), hand off to@skill:bigquery-optimization. - Raw Telemetry & Schema Retrieval: When the user asks for standalone
INFORMATION_SCHEMAqueries without an active performance regression or incident (e.g. general telemetry queries), hand off to@skill:bigquery-observability. - Proactive Capacity & Storage Planning: When the user requests future
reservation sizing, commitment purchasing, or storage billing model
evaluations, hand off to
@skill:bigquery-optimization.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

