dbt_ingest

Maps dbt schema.yml models and sources into ktx semantic-layer overlays and column notes.

1.6k|101|Updated May 10, 2026
One-click install
npx skills add https://github.com/Kaelio/ktx --skill dbt-ingest
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dbt_ingest
Source: https://github.com/Kaelio/ktx/tree/main/packages/cli/src/skills/dbt_ingest
Command: npx skills add https://github.com/Kaelio/ktx --skill dbt-ingest

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

When ingesting uploaded dbt projects into ktx, raw dbt YAML (models, sources, column tests) must be translated into semantic-layer overlays without inventing columns, joins, or measures that do not exist in the actual warehouse. This Skill provides the mapping rules and verification protocol to do that accurately.

Core Features & Use Cases

  • dbt-to-SL mapping: Converts models: and sources: entries into semantic-layer overlays, resolving identifier fields and matching manifest-backed tables on the correct warehouse connection.
  • Test metadata hints: Translates data_tests (not_null, unique, accepted_values, relationships) into short column description hints and validated joins.
  • Identifier verification protocol: Requires discover_data, entity_details, and sql_execution probes before writing any schema.table reference, preventing fictional identifiers.
  • Use Case: A user uploads a dbt project bundle containing schema.yml files under models/; the agent uses this Skill to write validated SL overlays and wiki notes grounded in the real warehouse schema.

Quick Start

Load the dbt_ingest skill and map the uploaded dbt schema.yml files into ktx semantic-layer overlays verified against the warehouse.

Frequently Asked Questions about dbt_ingest

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

FAQPage Schema
How do I ingest dbt schema.yml files into a semantic layer?

Map each dbt models or sources entry to an overlay on the manifest-backed table with the same name, using the identifier field when present. Confirm physical columns with warehouse discovery tools before writing column_overrides, grain, joins, or measures.

How are dbt data_tests handled during ingestion?

Tests like not_null, unique, and accepted_values become short hints in column descriptions or notes, such as "dbt: not null". Full structured metadata lands in the manifest through git sync, while relationships tests only become joins when the target table is verified.

Does dbt_ingest run dbt parse or read manifest.json?

No. The skill works only on uploaded dbt YAML files and never runs the dbt CLI or assumes target/ or manifest.json exists. Scheduled manifest pulls are out of scope; host-provided dbt sync may backfill structured test metadata separately.

What happens when a dbt model has no columns block?

The skill does not synthesize a standalone source. It writes a wiki note or a description-only overlay for the resolved manifest table instead, and records emit_unmapped_fallback when no matching warehouse table exists.

When should I use metricflow_ingest instead of dbt_ingest?

Use metricflow_ingest when the bundle contains MetricFlow semantic_models or metrics definitions, since that skill owns semantic and metric shapes. Use dbt_ingest for raw dbt schema.yml files covering models, sources, and tests.