cosmos-dbt-core_skill

This skill helps convert a dbt Core project into an Airflow DAG or TaskGroup using Cosmos, with setup validation and execution configuration.
  • Python

251

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 astronomer/agents --skill cosmos-dbt-core

  • SKILL.md13.0 KB

Overview

This skill converts a dbt Core project into an Airflow DAG or TaskGroup using Astronomer Cosmos. It guides selection of parsing and execution strategies, configures warehouse/profile/project details, and assembles a runnable DbtDag or DbtTaskGroup with safe operator settings. Use it to produce predictable, production-ready Airflow integrations for dbt Core (not dbt Fusion).

How this skill works

The skill inspects project constraints (dbt engine, warehouse, Airflow version, execution environment, DAG vs TaskGroup, and manifest availability) and chooses a RenderConfig load mode and ExecutionConfig execution mode accordingly. It configures ProfileConfig and ProjectConfig, sets test behavior and operator_args, then builds either a standalone DbtDag or an embedded DbtTaskGroup. Finally it runs safety checks to ensure compatibility (container requirements, adapters, secret handling, and Airflow 3 asset URI differences).

When to use it

  • You have a dbt Core project and want an Airflow-native DAG/TaskGroup via Cosmos
  • You run Airflow 3.x with Cosmos >=1.11 (or can adapt imports for Airflow 2.x)
  • You need explicit control over parsing for large projects or containerized execution
  • You require integrated dbt test behavior, operator tuning, or artifact/cloud uploads
  • You must enforce connection-based secrets (no plaintext profiles)

Best practices

  • Confirm dbt engine is Core (not Fusion) before starting
  • For containerized execution always use dbt_manifest load mode and supply a manifest path
  • Prefer Airflow connections or environment variables for secrets; never hardcode credentials
  • Pick the simplest execution mode that meets constraints (WATCHER/LOCAL first, containers only when isolation required)
  • Validate Airflow version to use correct imports and update asset URIs when migrating to Airflow 3

Example use cases

  • Create a standalone DbtDag for nightly dbt builds with Snowflake credentials mapped via ProfileMapping
  • Embed a DbtTaskGroup inside an existing DAG to run dbt models between upstream and downstream tasks
  • Use dbt_manifest load mode for very large projects or CI-produced manifests in containerized Airflow workers
  • Configure test_behavior to AFTER_EACH for lineage and quick failure feedback in development

FAQ

Always use dbt_manifest load mode for containerized execution; manifest_path (and optionally project_name) must be provided.

How do I avoid exposing secrets?

Use Airflow Connections or environment variables mapped into the runtime. Do not put credentials or secrets directly in profiles.yml or operator_args.

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