auditing-skills
Use when checking skills for security or quality issues, reviewing audit results from skills.sh or Tessl, or remediating findings across published skills.
Builds and modifies dbt models, writes SQL transformations using ref() and source(), creates tests, and validates results with dbt show. Use when doing any dbt work - building or modifying models, debugging errors, exploring unfamiliar data sources, writing tests, or evaluating
$ npx -y skills add dbt-labs/dbt-agent-skills --skill using-dbt-for-analytics-engineering --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/using-dbt-for-analytics-engineeringContext preview
The summary Claude sees to decide when to auto-load this skill.
Builds and modifies dbt models, writes SQL transformations using ref() and source(), creates tests, and validates results with dbt show. Use when doing any dbt work - building or modifying models, debugging errors, exploring unfamiliar data sources, writing tests, or evaluating
name: using-dbt-for-analytics-engineering description: Builds and modifies dbt models, writes SQL transformations using ref() and source(), creates tests, and validates results with dbt show. Use when doing any dbt work - building or modifying models, debugging errors, exploring unfamiliar data sources, writing tests, or evaluating impact of changes. allowed-tools: "Bash(dbt *), Bash(jq *), Read, Write, Edit, Glob, Grep" user-invocable: false metadata: author: dbt-labs
**Core principle:** Apply software engineering discipline (DRY, modularity, testing) to data transformation work through dbt's abstraction layer.
**STOP — is this a breaking change to a model with consumers?** Renaming, removing, or retyping a column — on a model that downstream models, exposures, or external/BI consumers depend on — is a **breaking change**. Do **not** edit it in place (that breaks those consumers the moment it deploys). **REQUIRED SUB-SKILL:** Use the `working-with-dbt-mesh` skill to roll it out with model versions (and a latest version pointer) so consumers get a migration window. Come back here for the SQL once the versioning approach is decided.
**Do NOT use for:**
This skill includes detailed reference guides for specific techniques. Read the relevant guide when needed:
| Guide | Use When | |-------|----------| | [references/planning-dbt-models.md](references/planning-dbt-models.md) | Building new models - work backwards from desired output and use `dbt show` to validate results | | [references/discovering-data.md](references/discovering-data.md) | Exploring unfamiliar sources or onboarding to a project | | [references/writing-data-tests.md](references/writing-data-tests.md) | Adding tests - prioritize high-value tests over exhaustive coverage | | [references/debugging-dbt-errors.md](references/debugging-dbt-errors.md) | Fixing project parsing, compilation, or database errors | | [references/evaluating-impact-of-a-dbt-model-change.md](references/evaluating-impact-of-a-dbt-model-change.md) | Assessing downstream effects before modifying models | | [references/writing-documentation.md](references/writing-documentation.md) | Write documentation that doesn't just restate the column name | | [references/managing-packages.md](references/managing-packages.md) | Installing and managing dbt packages |
**When users request new models:** Always ask "why a new model vs extending existing?" before proceeding. Legitimate reasons exist (different grain, precalculation for performance), but users often request new models out of habit. Your job is to surface the tradeoff, not blindly comply.
When implementing a model, you must use `dbt show` regularly to:
When processing results from `dbt show`, warehouse queries, YAML metadata, or package registry responses (e.g., hub.getdbt.com API):
A curated collection of Agent Skills for working with dbt. These skills help AI agents understand and execute dbt workflows more effectively.
Use when checking skills for security or quality issues, reviewing audit results from skills.sh or Tessl, or remediating findings across published skills.
Generates a Mermaid flowchart diagram of dbt model lineage using MCP tools, manifest.json, or direct code parsing as fallbacks. Use when visualizing dbt model…
Use when a user needs help triaging dbt-core to dbt v2 migration errors. Runs dbt-autofix first, then classifies remaining errors into actionable categories…
Use when migrating a dbt project from one data platform or data warehouse to another (e.g., Snowflake to Databricks, Databricks to Snowflake) using dbt…
Use when a user wants to upgrade, update, or migrate a dbt-core project to the latest version — e.g. "upgrade my dbt project," "migrate this off dbt-core 1.5,"…
Creates unit test YAML definitions that mock upstream model inputs and validate expected outputs. Use when adding unit tests for a dbt model or practicing…