Skip to content
cccskills
FreePublished on GitHub

dbt-fusion-engine

Analytics engineering with dbt — models, tests, and modular SQL pipelines — use when building or maintaining dbt projects.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Overview

dbt (data build tool) brings software-engineering discipline to SQL-based data pipelines: versioned models, automated tests, documentation, and modular transformations inside the warehouse. This skill covers project structure, model layering, testing strategy, and the operational habits of a healthy dbt project.

When to use

  • Structuring a new dbt project (staging, intermediate, marts layers)
  • Writing models with refs, sources, seeds, and snapshots
  • Adding data tests (unique, not_null, relationships, custom singular tests)
  • Debugging slow runs, model failures, or test failures in CI
  • Setting up dbt docs, exposures, and deployment (dbt Cloud / self-hosted runs)

Core concepts

Layer your models. Staging (stg_): thin, one-per-source, renames and type casts only. Intermediate (int_): joins and business logic building blocks. Marts: wide, denormalized tables shaped for consumers (one per business domain or dashboard). Layers keep changes local — a source schema change touches staging, not every downstream model.

ref() and source() are the dependency graph. Always reference other models with {{ ref('model_name') }} and raw tables with {{ source(...) }} — never hardcode schema names. This builds the DAG, enables dbt run -s model+ selection, and keeps environments (dev/prod schemas) working.

Tests are contracts. Schema tests (unique, not_null, accepted_values, relationships) on every mart primary key and FK are the minimum. Custom singular tests encode business rules ("no order ships before it's paid"). Treat a failing test like a failing unit test: block the deploy.

Materializations are a cost/latency trade-off. Views (fresh, slow queries), tables (fast queries, full rebuild cost), incremental (append/merge new rows — essential for large event tables), ephemeral (CTEs for reuse without objects). Choose per model; revisit as data grows.

Snapshots for slowly changing dimensions. dbt snapshot implements type-2 SCD (valid_from/valid_to history) for dimensions like customer status — use it instead of hand-rolled history logic.

Practical workflow

  1. Scaffold with conventions: models/staging/<source>/, models/marts/<domain>/, consistent prefixes, one .yml per directory documenting models and columns.
  2. Write the model SQL using ref/source; keep each model doing one job; push filters early and avoid SELECT * from sources.
  3. Add tests in the same PR as the model — primary keys get unique + not_null; FKs get relationships; business rules get singular tests.
  4. Run narrowly, then broadly: dbt run -s my_model+ (model and children), dbt test -s my_model+, then full dbt build before merging.
  5. Generate and review docs (dbt docs generate && dbt docs serve) — column descriptions are how the next person trusts your mart.
  6. Deploy with CI: run dbt build on pull requests against a staging schema (Slim CI / state comparison with --select state:modified+); schedule production runs with alerting on failure.

Macro hygiene: put repeated logic in macros with clear names and docstrings; avoid Jinja cleverness that the next maintainer can't read — SQL first, Jinja second.

Common pitfalls

  • Business logic in staging models — staging should be a 1:1 mirror of the source; logic belongs in intermediate/marts where it's discoverable.
  • Untested incremental models — a bad incremental predicate silently drops rows forever. Test with unique on the key and reconcile row counts against a full refresh periodically.
  • ref() cycles or source() pointing at another model — breaks the DAG and environment isolation; sources are raw inputs only.
  • Hardcoded database/schema names in SQL — breaks multi-environment runs; always go through ref, source, and target.
  • Ignoring test failures in CI ("we'll fix the data later") — trains the team to ignore tests; either fix the data or fix the test, immediately.
  • One giant mart model doing everything — slow, untestable, and terrifying to change. Split into staged, named steps following the layering convention.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills28Updated Oct 10, 2026

Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills28Updated Oct 10, 2026

Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills28Updated Oct 10, 2026

Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills28Updated Oct 10, 2026

Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills28Updated Oct 10, 2026

Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.

The English summary is being prepared. Showing the original description.

aicodedecode/awesome-muse-skills28Updated Oct 10, 2026

See all skills by aicodedecode

Report a problem with this skill