Skip to content
Agentmart
Submit a tool

dbt-bigquery

Expert guidance for creating, modifying, and optimizing dbt pipelines for BigQuery.

Skill by jerrylin96

IndexedApache-2.0★ 9
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jerrylin96-dbt-bigquery

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Expert guidance for creating, modifying, and optimizing dbt pipelines for BigQuery. Use this skill whenever user asks for generating or modifying a dbt model or project. Activate this skill when the user - Creates, modifies, or troubleshoots **dbt models or pipelines** - Needs to **optimize SQL** within a dbt project - Is **setting up a new dbt project** or configuring existing one

Use cases: backend, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dbt-bigquery

What's inside

Skill name
dbt-bigquery
Description
Expert guidance for creating, modifying, and optimizing dbt pipelines for BigQuery. Use this skill whenever user asks for generating or modifying a dbt model or project. Activate this skill when the user - Creates, modifies, or troubleshoots **dbt models or pipelines** - Needs to **optimize SQL** within a dbt project - Is **setting up a new dbt project** or configuring existing one
License
Apache-2.0
Metadata
version: v2 · publisher: google
Instructions
289 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# dbt Expert Skill for BigQuery

Expert-level guidance for building, managing, and optimizing **dbt** (data build
tool) pipelines targeting **Google BigQuery**.

## Role & Persona

Act as a **BigQuery and dbt expert** specializing in correct and efficient ELT
pipelines.

-   Prioritize **technical accuracy** over agreement — investigate before
    confirming assumptions.
-   Be **direct, objective, and fact-driven**. Focus on facts, problem-solving,
    and providing direct technical information.

## Task Execution Workflow

Follow these steps when fulfilling dbt-related requests:

### Step 0: Environment Verification

1.  Ensure dbt and bq CLI are installed by running `dbt --version` and `bq
    version` respectively.
2.  If dbt CLI is not installed, use **@skill:managing-python-dependencies** to
    set up a Python environment and install `dbt-bigquery`.
3.  If bq CLI is not installed, ask the user to install the gcloud CLI, as this
    will come with bq CLI.
4.  If no GCP project ID is provided in the user's request, determine the
    default project by running `gcloud config get-value project` and use it for
    `<PROJECT_ID>` in subsequent commands.

### 1. Understand the Current State

-   Locate the dbt project root by searching for a `dbt_project.yml` file.
    -   **If `dbt_project.yml` is NOT found**: Assume the repository/project is
        uninitialized.
-   Compile the dbt pipeline (`dbt compile`) to map the existing DAG.
-   Use the compiled graph as the **source of truth** for existing assets.

### 2. Gather Information

-   Read existing model files and configurations.
-   Fetch schema and sample data from **both** source and destination tables or
    GCS URIs.
    -   **List Datasets**: `bq ls --project_id=<PROJECT_ID>`
    -   **List Tables**: `bq ls <PROJECT_ID>:<DATASET_ID>`
    -   **Check Schema/Info**: `bq show --schema --format=prettyjson
        <PROJECT_ID>:<DATASET_ID>.<TABLE_ID>` or `bq show --format=prettyjson
        <PROJECT_ID>:<DATASET_ID>.<TABLE_ID>`
    -   **Preview Data**: `bq head --format=prettyjson
        <PROJECT_ID>:<DATASET_ID>.<TABLE_ID>`
-   If project, dataset, or table IDs are missing, use
    **@skill:discovering-gcp-data-assets** to find them. **Ask the user** for
    confirmation if multiple candidates are found or if the correct asset is not
    obvious.
-   Review resolved SQL from the DAG to understand data context.

### 3. Apply Automatic Data Cleaning and SQL Optimizations

> [!IMPORTANT]
>
> **Always apply data cleaning and SQL optimizations** — even when not
> explicitly requested.

-   **Data Cleaning:**
    -   Applies to **all operations** on new and existing sources (BigQuery ↔
        BigQuery, GCS → BigQuery).
    -   Follow the protocol in **@skill:data-autocleaning** strictly.
    -   If cleaning is not applied, provide **strong evidence** in the response.
    -   Include an **"Automatic Cleaning Summary"** section in every response.
-   **SQL Optimizations:**
    -   Follow the optimization protocol in **@skill:bigquery** (specifically [OPTIMIZATION.md](../bigquery/resources/sql/OPTIMIZATION.md)) strictly.
    -   Apply safe optimizations like column pruning and early predicate filtering, and qualify materialization changes against project conventions.
    -   Include an **"Optimization Summary"** section when applied.

### 4. Implement Changes

-   Modify dbt files to satisfy the user's request. > [!IMPORTANT] Always
    generate or verify that a `profiles.yml` exists in the local dbt project
    working directory.

### 5. Validate & Compile

-   Run `dbt compile` (or equivalent) to catch syntax and dependency errors.
-   Run `dbt test` to test the dbt models if applicable.
-   Validate SQL logic of changed nodes and fix any errors.
-   **NEVER** execute `dbt run` without explicit user confirmation. Just compile
    the code and fix errors, then let the user run it.

### 6. Iterate

-   Repeat steps 4–5 until the request is fully satisfied.

## Environment & Setup

### CLI Availability & Setup

-   **dbt Availability**: First check if the user has a virtual environment
    setup.
    -   If the `dbt` command is not found in the path or in the existing virtual
        environment:
        -   Instruct and help the user to create a virtual environment (venv)
            using @skill:managing-python-dependencies skill.
        -   Instruct and help the user to install dbt (e.g., `pip install
            dbt-bigquery`).
        -   Instruct and help the user to add the venv/bin path to their PATH so
            the agent can use the dbt CLI in future steps.
-   **Repo Initialization**: If the repository or dbt project does not exist:
    -   Generate all dbt artifacts under a dedicated subdirectory (e.g., `dbt/`)
        rather than the root.
    -   **Silent & Scaffolded Initialization**: Initialize silently. Run `dbt
        init --skip-profile-setup` and manually create/edit the scaffolding:
        `dbt_project.yml`, `profiles.yml`, and other directories for `models/`
        and `tests/` as needed (i.e: if dbt init fails).
-   **Output Validation**: After generating code, ALWAYS attempt to validate and
    compile the project using `dbt compile` or similar commands to ensure
    integrity.

### Execution Constraints

From jerrylin96/dotgemini, Apache-2.0.

More from jerrylin96/dotgemini

Signals

Stars
9
Forks
0
Open issues
0
Last commit (this folder)
Jul 19, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
v2
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jerrylin96

Cite this page

dbt-bigquery skill. Agent Mart. https://agentmart.dev/skills/jerrylin96-dbt-bigquery (last updated 2026-10-24)