# dbt-data-transformation

A dbt skill for analytics engineering: models, tests, docs, incremental builds, macros and packages. Useful when your warehouse SQL needs structure.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 441 installs · ★ 62
- Author: manutej
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-data-engineering/skills/dbt-data-transformation/SKILL.md
- Updated: 2026-06-13
- HTML: https://affpapa.org/en/nevibecode/skills/dbt-data-transformation

## What it does

The skill treats dbt as a development framework rather than a pile of scripts. It walks through SELECT-based models, raw sources via `{{ source() }}`, cross-model references with `{{ ref() }}`, data quality tests, documentation and exposures. Materializations get their own sections: view, table and incremental with `unique_key` and `on_schema_change`.

Project layout is spelled out folder by folder: `staging/`, `intermediate/`, `marts/`, with `stg_`, `int_`, `fct_` and `dim_` prefixes. You get examples of declaring raw tables in `sources.yml`, attaching `unique` and `not_null` tests to columns, and letting dbt resolve the dependency graph. Jinja templating, macros and package management are covered too.

An incremental model breaks if the `where` clause does not bound the processing window: without a date filter dbt scans the whole table on every run. Check your unique key before the first production run. The text stops inside the incremental section, so orchestration with Airflow, Dagster or dbt Cloud appears only as a bullet in the use-case list, with no detail behind it.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill dbt-data-transformation -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/dbt-data-transformation/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/dbt-data-transformation/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill dbt-data-transformation -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/dbt-data-transformation/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill dbt-data-transformation -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/dbt-data-transformation/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install manutej/luxor-claude-marketplace dbt-data-transformation
```

2. **Manually: put the files in place**
- File: `.github/skills/dbt-data-transformation/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill dbt-data-transformation -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/manutej/luxor-claude-marketplace --path plugins/luxor-data-engineering/skills/dbt-data-transformation
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/dbt-data-transformation/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill dbt-data-transformation -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-data-engineering/skills/dbt-data-transformation/SKILL.md

## When to use it
- split SQL transformations into staging, intermediate and marts layers
- declare raw tables and attach column-level tests
- set up an incremental build for a large fact table
- move repeated logic into a Jinja macro
- generate model documentation and a lineage graph

## Example prompts
- Describe the jaffle_shop sources in sources.yml and add unique and not_null tests on id
- Build an incremental fct_orders model with unique_key order_id and an order_date filter
- Lay out models across staging, intermediate and marts with stg_, int_, fct_ and dim_ prefixes

## Similar
- [dbt-transformation-patterns](https://affpapa.org/en/nevibecode/skills/dbt-transformation-patterns.md) — skill · 11000 installs
- [using-dbt-for-analytics-engineering](https://affpapa.org/en/nevibecode/skills/using-dbt-for-analytics-engineering.md) — skill · 1200 installs
- [answering-natural-language-questions-with-dbt](https://affpapa.org/en/nevibecode/skills/answering-natural-language-questions-with-dbt.md) — skill · 1000 installs
- [dbt-sf-to-bq-translator](https://affpapa.org/en/nevibecode/skills/dbt-sf-to-bq-translator.md) — skill · 2300 installs
- [cosmos-dbt-core](https://affpapa.org/en/nevibecode/skills/cosmos-dbt-core.md) — skill · 962 installs
- [data-analyst](https://affpapa.org/en/nevibecode/skills/data-analyst.md) — skill · 2200 installs

From the same set: [manutej/luxor-claude-marketplace](https://affpapa.org/en/nevibecode/by/manutej/luxor-claude-marketplace.md) — 31 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
