dbt

Generates dbt staging, intermediate, and model code with tests and documentation.

14|1|Updated Dec 5, 2025
One-click install
npx skills add https://github.com/jpoutrin/product-forge --skill dbt-jpoutrin
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dbt
Source: https://github.com/jpoutrin/product-forge/tree/main/plugins/devops-data/skills/dbt
Command: npx skills add https://github.com/jpoutrin/product-forge --skill dbt-jpoutrin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solves?

Building and managing data transformation logic for analytics often lacks structure, version control, and testing capabilities, leading to inconsistent data models and unreliable insights. This Skill provides dbt (data build tool) patterns to streamline analytics engineering.

Core Features & Use Cases

  • Project Structure: Guidelines for organizing dbt projects into staging, intermediate, and marts layers.
  • Model Patterns: Examples for defining staging models (cleaning raw data) and incremental models (efficiently processing new data).
  • Testing: How to implement data quality tests (e.g., unique, not_null) directly within your dbt project.
  • Best Practices: Tips for sourcing raw data with source(), referencing models with ref(), and adding documentation.
  • Use Case: Creating a new dbt project for a data warehouse, defining a staging model for raw customer data, implementing an incremental fact table for orders, or adding data quality tests to ensure data integrity.

Quick Start

Use the dbt skill to generate a dbt staging model for a raw.customers table, renaming id to customer_id.

Frequently Asked Questions about dbt

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build data transformation pipelines with dbt?

Data transformation with dbt organizes SQL logic into staging, intermediate, and marts models using source() and ref() functions. You define models as SQL queries, configure materialization (table, view, incremental), and dbt handles dependencies and execution order automatically.

What's the best way to structure a dbt project for analytics?

dbt projects use a layered structure: staging models clean raw data, intermediate models combine and reshape data, and marts models serve analytics use cases. This separation enforces data quality checks and makes models reusable across your analytics workflow.

How do I implement incremental models in dbt?

Incremental models process only new or changed data by appending rows since the last run. You specify a unique key and dbt-managed timestamp to identify updates, reducing compute time and costs when processing large fact tables or event streams.

Can I add data quality tests to dbt models?

Yes. dbt includes built-in tests like unique and not_null, plus custom tests you define. Tests run after model builds to verify schema constraints, referential integrity, and business logic, catching data issues before downstream analytics.

Do I need SQL knowledge to use dbt?

Yes. dbt models are written in SQL (or Jinja templates). You write SELECT statements to define transformations, then dbt compiles and deploys them. Strong SQL skills accelerate development, though dbt's macros and documentation support learning.

How does dbt handle dependencies between models?

dbt uses ref() to reference upstream models and source() for raw tables, creating a directed acyclic graph (DAG). dbt automatically resolves execution order, ensures models run after dependencies complete, and manages schema creation.