Onboarding

Onboarding - First-Week Tour

Tour an unfamiliar dbt project at "The Builder Depot" using dbt Wizard. Seven steps: inventory the models, sample real data, read tests and contracts, then create and preview a new mart model (orders_by_week). Nothing is materialized.

Onboarding scenario walkthrough.

Background

The scenario

First week at The Builder Depot. You have access to the dbt repo and a mandate to "get familiar with the project and ship something small by Friday."

The seven steps cover orientation (folder layout, model inventory by layer and domain, grain and lineage of the headline mart, sampled rows, test coverage) and then ship a new mart model that compiles and previews.

Persona. New AE, first week at The Builder Depot. Day 1 is not when you build into a shared schema.
Goal. Tour the project, then create orders_by_week as a previewed, compiled, non-materialized model.
Prompts

Prompts, in order

Copy each prompt as written, or rephrase. Run in order.

  1. Project summary

    dbt Wizard reads the project as a whole and returns the subject areas and layering.

    Summarize what this dbt project does. What are the main subject areas and how is the project organized?

    Then group the models by layer and domain.

    List the staging, intermediate, and mart models. Group them by domain.
    Exercises: status, search, repo summarization
  2. Inventory the models

    Bucket the model list by layer and by domain to map the project's two axes.

    Show me the lineage, grain, and key columns for the orders mart model.
    Exercises: search, folder and tag grouping
  3. Deep-dive on one mart

    The orders mart sits at the busiest join in the project. Name the grain explicitly before continuing.

    Show me a 10-row sample of the orders mart and the distinct values in the order_status column.
    Exercises: describe, lineage
  4. Look at the actual data

    The distinct values for order_status are the reference list for filters used in later steps. Capture them now.

    What tests and contracts are defined on the orders model? Are any currently failing?
    Exercises: warehouse, dbt_show, select distinct
  5. Tests and failure signal

    The test list documents the model's invariants. The list of currently failing tests points to active problems in the project.

    Create a new mart model called orders_by_week that aggregates orders to the week grain with order count, gross revenue, and distinct customers.
    Exercises: test introspection, run-results parsing
  6. Create the new mart

    dbt Wizard writes orders_by_week.sql into models/marts/, built on the orders mart (not on staging), with convention-aware naming and date truncation.

    Compile and preview orders_by_week. Don't materialize it.
    Exercises: file edits, convention-aware model generation
  7. Compile and preview (no materialization)

    The model compiles, a sample of weekly rows renders, nothing lands in the warehouse. The deliverable is the reviewable orders_by_week.sql file.

    When the preview renders, confirm: roughly one row per week, non-zero values for order_count, gross_revenue, and distinct_customers, and a date column where every value is a week-start.
    Exercises: dbt_compile, dbt_show
Result

What gets built

models/marts/orders_by_week.sql - a mart model at the week grain with order_count, gross_revenue, and distinct_customers. Compiled and previewed. Not materialized.
Next

References and next scenario

GitHub

Open SKILL.md

Skill definition, prompts, and instructor notes for onboarding.

Reference

Printable prompt sheet

Every prompt in this scenario, formatted for print.

Next

Scenario 1

Inventory misallocation investigation.