← ClaudeAtlas

add-dbt-modellisted

Add a new dbt model (staging, intermediate, or marts) to an existing MDS deployment. Invoke when the user wants to transform raw data, build an analytics table, or expose a new metric in BigQuery.
pol-cc/agentic-data-engineer · ★ 0 · AI & Automation · score 72
Install: claude install-skill pol-cc/agentic-data-engineer
# add-dbt-model > **Status**: v0.9.0 (pre-test) — conventions + templates complete, with **incremental-by-default for fact/event marts** on BigQuery (cost control). Conventions and decision-tree references written; copy-paste templates (staging, marts dimension, marts incremental fact, schema, sources) included plus the `incremental-and-cost.md` reference; the Phase A–D playbook (classify → write → run/verify → commit) is in place. ## What this skill does Adds a new dbt model to the client's dbt project. Decides where the model belongs (staging / intermediate / marts) based on what the user describes, writes the SQL, adds tests, and runs it once to verify before committing. ## Preflight ```bash if [ ! -f .agentic-data-engineer.json ]; then echo "[abort] not a managed MDS deployment" exit 1 fi # Confirm dbt is configured in this stack jq -e '.stack.transform == "dbt_vps"' .agentic-data-engineer.json > /dev/null || { echo "[abort] this MDS doesn't have dbt configured" echo "Phase 2 of create-mds adds dbt — run that first" exit 1 } ``` ## Playbook outline **Phase A — Classify the model** Ask the user what they want to compute. Then decide: | Layer | When | |---|---| | **staging** (`stg_<source>_<table>`) | One-to-one with a raw source table, applies cleanup (rename columns, cast types, filter junk rows). One staging model per raw table. | | **intermediate** (`int_<concept>`) | Reusable logic that several marts will consume (e.g. `int_orders_with_customer`). N