Skip to content

dbt Snowflake to BigQuery Translator

Converts Snowflake dbt SQL models into BigQuery-compatible dbt models on Google Cloud.

Repository
google/skills
Stars
21,782
Licence
Apache-2.0
Files
4 files

What it does

When installed, the agent knows how to move a dbt project written for Snowflake over to Google BigQuery. It strips dbt macros into temporary placeholders, runs the SQL through Google's BigQuery Translation Service, and then cleans up the result with standardized rules such as explicit type casting, standardized JSON extraction, deduplication with QUALIFY, and copyright headers. It also tracks progress in a tasks checklist so a human supervisor can follow along.

Great for

  • Data engineers moving an existing Snowflake dbt pipeline to BigQuery on Google Cloud
  • Teams that want a repeatable, scripted first pass at bulk SQL conversion before manual review
  • Analytics engineers who need Jinja and ref/source macros preserved through the migration

Skip it if

  • Generic BigQuery query help or non-Snowflake SQL migrations, which the skill's own description excludes
  • Running unreviewed on production projects, since the output is generated SQL that needs human validation and the script calls cloud services that cost money and create resources
  • Teams without Google Cloud billing, permissions, or a Cloud Storage bucket, because the workflow cannot complete without them

Try asking

  • “Migrate my Snowflake dbt models in ./models to BigQuery, staging through bucket my-staging-bucket in region us”
  • “Translate this Snowflake dbt project to BigQuery and keep the ref() and source() macros intact”
  • “Convert our Snowflake JSON extraction and variant field access to BigQuery dot notation, using struct columns user_profile”
  • “Set up a migration project called q3_warehouse_move and create a tasks checklist for the translation”
Step-by-step guide: how to use dbt Snowflake to BigQuery TranslatorInstall, first run, examples, tips and FAQs

Install in 3 steps

  1. 1

    Download the skill

    The ZIP contains the 4 original files, the Apache-2.0 licence and an attribution note.

    dbt-sf-to-bq-translator.zip
  2. 2

    Add it to your agent

    Claude Code (all projects)

    mkdir -p ~/.claude/skills && unzip dbt-sf-to-bq-translator.zip -d ~/.claude/skills/

    Claude Code / Agent SDK (this project only)

    mkdir -p .claude/skills && unzip dbt-sf-to-bq-translator.zip -d .claude/skills/

    Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.

  3. 3

    Ask for the task

    No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.

Get better results

  • Run the script first on a copy of the project and review the translated output before applying it to real pipelines.
  • Start with the default --array-cast-mode array_string and only switch to other modes when the source table schema requires it.
  • Ask the agent to read the tasks.md checklist it creates to resume after interruptions and to review its progress.

What's inside

  • references/attribution.md
  • references/dbt_migration_patterns.md
  • scripts/bulk_translate_via_gcloud.py
  • SKILL.md

Redistributed unmodified from google/skills under the Apache-2.0 licence. The assessment was drafted with AI from the skill's files on 2026-10-29. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.