dbt-projects-on-snowflake_skill

This skill helps you deploy, manage, and monitor dbt projects inside Snowflake, enabling web based workspaces, automated runs, and event table telemetry.
  • Python

26

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill sfc-gh-dflippo/snowflake-dbt-demo --skill dbt-projects-on-snowflake

  • SKILL.md9.4 KB

Overview

This skill deploys, runs, and monitors dbt projects natively inside Snowflake using DBT PROJECT objects, Snowsight workspaces, and Snowflake CLI integration. It provides a complete path from development workspaces to production deployments, with event-table based telemetry for real-time observability. Use it to consolidate dbt execution, scheduling, and monitoring directly in the Snowflake Data Cloud.

How this skill works

Projects can be developed in Snowsight workspaces or deployed as DBT PROJECT objects and executed via SQL or the Snowflake CLI. Execution emits OpenTelemetry-aligned events into configurable event tables; provided SQL scripts query those tables for recent runs, errors, traces, and performance metrics. Scheduling is handled with Snowflake Tasks and jobs, while filters and attributes in event tables let you isolate dbt activity by project, schema, and warehouse.

When to use it

  • You want to run dbt entirely inside Snowflake without external orchestration.
  • You need real-time observability of dbt runs using OpenTelemetry-style event tables.
  • You want web-based development with Snowsight plus production DBT PROJECT deployments.
  • You need to schedule and automate dbt runs with Snowflake Tasks.
  • You must enable team collaboration while keeping execution and telemetry centralized.

Best practices

  • Always filter monitoring queries by TIMESTAMP first to limit scanned data and cost.
  • Set event tables at the DATABASE level and use RESOURCE_ATTRIBUTES to filter by project/schema.
  • Use snow.executable.type = 'DBT_PROJECT' to isolate dbt-related events from other telemetry.
  • Archive event data older than ~90 days into separate tables to keep queries performant.
  • Tune LOG_LEVEL/TRACE_LEVEL/METRIC_LEVEL per schema to balance signal and volume.

Example use cases

  • Create a Snowsight workspace for interactive model development, then deploy the project as a DBT PROJECT for production runs.
  • Schedule nightly builds and tests with Snowflake Tasks and monitor outcomes with recent_executions.sql and execution_errors.sql.
  • Investigate a slow model using trace_spans.sql to find span durations and identify bottlenecks.
  • Alert on failures using alert_failures.sql and route high-severity ERROR events to incident workflows.
  • Compare week-over-week performance with performance_regression.sql to detect regressions after a deploy.

FAQ

Yes — build, run, test, compile, seed, and snapshot are supported for DBT PROJECT objects and workspaces; deps is available only in workspaces.

How do I limit monitoring costs from large event tables?

Filter by TIMESTAMP first, use RESOURCE_ATTRIBUTES to narrow scope, archive older data, and reduce TRACE/METRIC/LOG levels per schema.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational