altimate-code
Delegates dbt and warehouse work to altimate-code, a specialized CLI agent with 100+ purpose-built data tools. USE THIS SKILL…
Creates dbt models following project conventions. Use when working with dbt models for: (1) Creating new models (any layer - discovers project's naming conventions first) (2) Task mentions "create", "build", "add", "write", "new", or "implement" with model, table, or SQL (3)
$ npx -y skills add AltimateAI/data-engineering-skills --skill creating-dbt-models --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/creating-dbt-modelsContext preview
The summary Claude sees to decide when to auto-load this skill.
Creates dbt models following project conventions. Use when working with dbt models for: (1) Creating new models (any layer - discovers project's naming conventions first) (2) Task mentions "create", "build", "add", "write", "new", or "implement" with model, table, or SQL (3)
name: creating-dbt-models description: | Creates dbt models following project conventions. Use when working with dbt models for: (1) Creating new models (any layer - discovers project's naming conventions first) (2) Task mentions "create", "build", "add", "write", "new", or "implement" with model, table, or SQL (3) Modifying existing model logic, columns, joins, or transformations (4) Implementing a model from schema.yml specs or expected output requirements Discovers project conventions before writing. Runs dbt build (not just compile) to verify.
**Read before you write. Build after you write. Verify your output.**
1. **ALWAYS run `dbt build`** after creating/modifying models - compile is NOT enough 2. **ALWAYS verify output** after build using `dbt show` - don't assume success 3. **If build fails 3+ times**, stop and reassess your entire approach
cat dbt_project.yml find models/ -name "*.sql" | head -20
Read 2-3 existing models to learn naming, config, and SQL patterns.
# Find models with similar purpose find models/ -name "*agg*.sql" -o -name "*fct_*.sql" | head -5
Learn from existing models: join types, aggregation patterns, NULL handling.
# Preview upstream data if needed dbt show --select <upstream_model> --limit 10
Follow discovered conventions. Match the required columns exactly.
dbt compile --select <model_name>
**This step is REQUIRED. Do NOT skip it.**
dbt build --select <model_name>
If build fails: 1. Read the error carefully 2. Fix the specific issue 3. Run build again 4. **If fails 3+ times, step back and reassess approach**
**Build success does NOT mean correct output.**
# Check the table was created and preview data dbt show --select <model_name> --limit 10
Verify:
**For models with calculations, verify correctness manually:**
# Pick a specific row and verify calculation by hand
dbt show --inline "
select *
from {{ ref('model_name') }}
where <primary_key> = '<known_value>'
" --limit 1
# Cross-check aggregations
dbt show --inline "
select count(*), sum(<column>)
from {{ ref('model_name') }}
"For example, if calculating `total_revenue = quantity * price`: 1. Pick one row from output 2. Look up the source quantity and price 3. Manually calculate: does it match?
**Before declaring done, re-read the original request:**
Claude Code skills for Analytics & Data engineers working with dbt and Snowflake Altimate Data Skills is a collection of Claude Code skills that encode the workflows and best practices of experienced analytics engineers.
Delegates dbt and warehouse work to altimate-code, a specialized CLI agent with 100+ purpose-built data tools. USE THIS SKILL…
Analyze DBSQL queries, including SQL embedded in notebooks (`spark.sql(...)`, `%sql` cells), for anti-patterns, lint issues, and…
Debugs and fixes dbt errors systematically. Use when working with dbt errors for: (1) Task mentions "fix", "error", "broken",…
Develops and troubleshoots dbt incremental models. Use when working with incremental materialization for: (1) Creating new…
Documents dbt models and columns in schema.yml. Use when working with dbt documentation for: (1) Adding model descriptions or…
Converts legacy SQL to modular dbt models. Use when migrating SQL to dbt for: (1) Converting stored procedures, views, or raw SQL…