Awesome-omni-skill dbt
dbt (data build tool) patterns for data transformation and analytics engineering. Use when building data models, implementing data quality tests, or managing data transformation pipelines.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/dbt" ~/.claude/skills/diegosouzapw-awesome-omni-skill-dbt && rm -rf "$T"
manifest:
skills/data-ai/dbt/SKILL.mdsource content
dbt Skill
This skill provides dbt patterns for analytics engineering.
Project Structure
dbt_project/ ├── dbt_project.yml ├── models/ │ ├── staging/ │ │ └── stg_customers.sql │ ├── intermediate/ │ │ └── int_customer_orders.sql │ └── marts/ │ └── fct_orders.sql ├── seeds/ ├── macros/ ├── tests/ └── snapshots/
Model Patterns
Staging Models
-- models/staging/stg_customers.sql with source as ( select * from {{ source('raw', 'customers') }} ), renamed as ( select id as customer_id, lower(email) as email, created_at from source ) select * from renamed
Incremental Models
-- models/marts/fct_orders.sql {{ config( materialized='incremental', unique_key='order_id' ) }} select * from {{ ref('stg_orders') }} {% if is_incremental() %} where updated_at > (select max(updated_at) from {{ this }}) {% endif %}
Testing
# models/schema.yml models: - name: stg_customers columns: - name: customer_id tests: - unique - not_null - name: email tests: - unique
Best Practices
- Use staging → intermediate → marts pattern
- Source all raw data with
source() - Reference models with
ref() - Add documentation and tests
- Use incremental models for large datasets