Managing dbt-core locally - installation, configuration, project setup, package management, troubleshooting, and development workflow...
Guide AI agents through installing and configuring dbt on local machines using the dbt Fusion
engine (dbt 2.0). Fusion is a single standalone Rust binary โ there is no Python requirement, no
conda, and no separate dbt-snowflake adapter package to install. The agent runs a diagnostic
script, installs Fusion via the official installer, and guides the user through Snowflake
configuration.
Activate this skill when users ask about:
Official dbt Documentation: Install dbt ยท dbt Projects on Snowflake
IMPORTANT: This skill uses non-interactive scripts. The AI agent must:
AI Agent Action: Run the check script to see whether dbt Fusion is already installed:
macOS/Linux:
cd .claude/skills/dbt-core/scripts/
./check-environment.sh
Windows:
cd .claude\skills\dbt-core\scripts\
check-environment.bat
What It Checks:
dbt is on PATHdbt --version reports the Fusion engine (2.0.x)Output: Structured summary with a recommendation for next steps.
If dbt is not installed (or is not the Fusion 2.0.x engine), run the installer. Fusion installs to a per-user location and does not require sudo/admin.
macOS/Linux โ installs to $HOME/.local/bin, updates PATH, and sets a dbtf alias:
cd .claude/skills/dbt-core/scripts/
./install-dbt.sh
Equivalent one-liner:
curl -fsSL https://public.cdn.getdbt.com/fs/install/install.sh | sh -s -- --update
Windows PowerShell โ installs to %USERPROFILE%\.local\bin and updates the user PATH (no admin
required):
cd .claude\skills\dbt-core\scripts\
.\install-dbt.ps1
Equivalent one-liner:
irm https://public.cdn.getdbt.com/fs/install/install.ps1 | iex
Open a new terminal (so PATH changes take effect) and confirm the Fusion engine is active:
dbt --version
# Expect: dbt-fusion 2.0.0-preview.x
AI Agent Action: Once dbt is installed and verified, guide the user to configure their Snowflake connection (see the profiles.yml configuration section below).
All scripts are in the scripts/ folder and are non-interactive for AI agent execution:
check-environment.sh/.bat - Environment check that:dbt is on PATHinstall-dbt.sh - Install the dbt Fusion engine on macOS/Linux, then print dbt --versioninstall-dbt.ps1 - Install the dbt Fusion engine on Windows (no admin), then print
dbt --versionscripts/ folder)requirements.txt - Optional supporting Python tools (snowflake-cli, Snowpark, Streamlit, etc.).
dbt itself is not installed here โ it comes from the Fusion installer.Fusion is a standalone binary installed by the official installer (see Step 2 above). Fusion does
not require Python. If you specifically want the Python distribution of dbt 2.0 instead of the
standalone binary, pip install --pre dbt is an optional alternative.
Configure your Snowflake connection in ~/.dbt/profiles.yml. The
profiles.yml documentation
covers all authentication methods:
authenticator: externalbrowserTo configure:
~/.dbt/profiles.yml with your Snowflake account detailsdbt debugOfficial dbt Docs: Snowflake setup ยท profiles.yml
Add a packages.yml to your project root, then run dbt deps.
Official dbt Docs: Package Management
Run the diagnostic script to verify the Fusion engine is installed:
# macOS/Linux
cd scripts/
./check-environment.sh
# Windows
cd scripts\
check-environment.bat
The script confirms dbt is on PATH and reports the Fusion (2.0.x) version. To verify the Snowflake
connection, use dbt debug.
Connection issues: Run dbt debug and check:
DBT_ENV_SECRET_SNOWFLAKE_PAT)~/.dbt/profiles.yml exists and is configured correctlysnow sql -q "SELECT CURRENT_USER()"Package issues: rm -rf dbt_packages/ && dbt deps --upgrade
dbt not found after install: open a new terminal so the updated PATH takes effect, or ensure
$HOME/.local/bin (macOS/Linux) / %USERPROFILE%\.local\bin (Windows) is on PATH.
Python compatibility: Not applicable โ Fusion is a standalone binary and does not require Python.
Official Docs: Network Issues
# Non-interactive (recommended for AI agents)
dbt init my_project_name --skip-profile-setup
# Configure ~/.dbt/profiles.yml separately (see Snowflake Configuration above)
# Configure your project with dbt_project.yml (see below)
Project structure: models/, tests/, macros/, seeds/, snapshots/
Configure your project in dbt_project.yml. Common patterns include:
To configure:
name to match your project nameprofile to match your profiles.yml profile namedbt debug to verify configurationOfficial dbt Docs: dbt_project.yml
# Install packages
dbt deps
# Verify connection
dbt debug
# Load seed data (if any)
dbt seed
# Build specific model
dbt build --select model_name
# Build with dependencies
dbt build --select +model_name+
# Build entire project
dbt build
# Build against production target
dbt build --target prod
# Test production
dbt test --target prod
# Generate documentation
dbt docs generate --target prod
{{ env_var('SCHEMA_NAME', 'DEFAULT_NAME') }} to allow
overriding of schema namesprofiles.yml or .env files (they contain credentials)# Update the Fusion engine in place
dbt system update
Check Migration Guides for breaking changes and test in dev first.
Goal: Transform AI agents into expert dbt setup specialists who guide users through installation, configuration, authentication, and troubleshooting with clear, actionable instructions and best practices.