building-dbt-semantic-layer

Configure dbt models with the Semantic Layer and validate with dbt parse.

11|3|Updated Mar 9, 2026
One-click install
npx skills add https://github.com/kyle-chalmers/dbt-agentic-development --skill building-dbt-semantic-layer-kyle-chalmers
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: building-dbt-semantic-layer
Source: https://github.com/kyle-chalmers/dbt-agentic-development/tree/main/.agents/skills/building-dbt-semantic-layer
Command: npx skills add https://github.com/kyle-chalmers/dbt-agentic-development --skill building-dbt-semantic-layer-kyle-chalmers

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill guides the creation and modification of dbt Semantic Layer components—semantic models, entities, dimensions, and metrics—ensuring consistent conventions and validation across projects. It covers both latest and legacy YAML specs, including MetricFlow integration and time spine considerations.

Core Features & Use Cases

  • Guides enabling semantic_model on models, defining entities, dimensions, and metrics
  • Helps determine whether to use the latest spec or legacy spec and how to upgrade
  • Provides a practical workflow for validating YAML configs with dbt parse / mf validate-configs
  • Supports time spine integration and advanced metric types (simple, derived, cumulative, ratio, conversion) for production-grade dashboards

Quick Start

Create or update a dbt model to enable semantic modeling by adding a semantic_model block, define default agg_time_dimension, craft entities and dimensions, and define metrics following the chosen spec, then run validation.

Frequently Asked Questions about building-dbt-semantic-layer

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

FAQPage Schema
How do I configure a dbt semantic model with entities, dimensions, and metrics?

To configure a dbt semantic model, enable the semantic_model block on your dbt model, define a default agg_time_dimension, craft entities and dimensions, and specify metrics following your chosen spec version.

What is the difference between the latest and legacy dbt Semantic Layer specs?

The latest and legacy dbt Semantic Layer specs differ in YAML structure and MetricFlow integration. This skill helps determine which spec to use and guides upgrading from legacy to the latest spec format.

How do I validate dbt Semantic Layer YAML configurations with MetricFlow?

Validate dbt Semantic Layer YAML configurations by running `dbt parse` to check dbt syntax and `mf validate-configs` to ensure MetricFlow correctly interprets your semantic models, entities, dimensions, and metrics.

How do I set up a time spine for dbt Semantic Layer metrics?

Set up a time spine for dbt Semantic Layer metrics by configuring a dedicated time spine model that provides consistent date or timestamp intervals, ensuring accurate aggregation for cumulative and time-based metric calculations.

Can I define advanced metric types like ratio and conversion in the dbt Semantic Layer?

Yes, the dbt Semantic Layer supports advanced metric types including simple, derived, cumulative, ratio, and conversion metrics, enabling production-grade dashboard calculations through MetricFlow validation.

Why is my dbt semantic model not validating correctly with mf validate-configs?

If your dbt semantic model fails `mf validate-configs`, check that entities, dimensions, and default agg_time_dimension are properly aligned, and ensure your YAML config matches either the latest or legacy spec requirements.