dbt-architecture

Structure dbt projects with medallion architecture across Bronze, Silver, and Gold layers.

34|13|Updated Feb 1, 2022
One-click install
npx skills add https://github.com/sfc-gh-dflippo/snowflake-dbt-demo --skill dbt-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dbt-architecture
Source: https://github.com/sfc-gh-dflippo/snowflake-dbt-demo/tree/main/.claude/skills/dbt-architecture
Command: npx skills add https://github.com/sfc-gh-dflippo/snowflake-dbt-demo --skill dbt-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates confusion around dbt project organization by providing clear architectural patterns and naming conventions for production-grade data pipelines.

Core Features & Use Cases

  • Medallion Architecture: Implements bronze/silver/gold layer separation for clean data flow.
  • Standardized Naming: Establishes consistent stg_, int_, dim_, fct_ prefixes across all models.
  • Use Case: Imagine you're building a customer analytics pipeline. Use this Skill to structure staging models for raw data, intermediate models for business logic, and marts for business-ready dimensions and facts.

Quick Start

Use the dbt-architecture skill to plan the folder structure for a new e-commerce analytics project using bronze, silver, and gold layers.

Frequently Asked Questions about dbt-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a dbt project using medallion architecture?

Medallion architecture organizes dbt models across three layers: Bronze (raw data staging), Silver (cleaned and validated data), and Gold (business-ready analytics). Structure your project with separate folders for each layer, apply naming conventions (stg_ for staging, int_ for intermediate, dim_ for dimensions, fct_ for facts), and enforce one-to-one staging models with no direct joins to sources.

What are dbt naming conventions for production data pipelines?

Standard dbt naming conventions use prefixes to clarify model purpose: stg_ for staging models that transform raw data, int_ for intermediate business logic, dim_ for dimension tables, and fct_ for fact tables. Apply these consistently across your project, pair them with layer-based folder organization, and configure materialization policies per layer to maintain clarity and enforce dependency rules.

How do I organize folder structure and layer separation in dbt?

Layer separation in dbt uses Bronze/Silver/Gold folders with folder-level configurations and standardized materialization policies. Apply ref() over source() within and across layers, enforce one-to-one staging, and use dbt_project.yml to configure materialization and naming conventions per folder, creating a scalable production-grade project structure.

When should I use staging models versus direct sources in dbt?

Staging models (prefixed stg_) are the single point of entry for raw source data in medallion architecture. Use one-to-one staging models to apply light transformations and validation before passing data to Silver layer models. Never join directly to sources; always reference staging models via ref(), which enforces dependency tracking and project modularity.

What's the best way to enforce consistent materialization across dbt layers?

Define materialization policies in dbt_project.yml at the folder level for each layer: Bronze typically uses views or ephemeral models, Silver uses tables for persistence, and Gold uses tables or views depending on query patterns. Layer-level configuration ensures consistency, reduces errors, and makes materialization decisions explicit and maintainable.