annotating-task-lineage

Annotate Airflow tasks with manual lineage metadata using inlets and outlets.

Updated Feb 6, 2026
One-click install
npx skills add https://github.com/beauschwab/airflow-dbt-datahub --skill annotating-task-lineage-beauschwab
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: annotating-task-lineage
Source: https://github.com/beauschwab/airflow-dbt-datahub/tree/main/.agents/skills/annotating-task-lineage
Command: npx skills add https://github.com/beauschwab/airflow-dbt-datahub --skill annotating-task-lineage-beauschwab

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Annotate Airflow tasks with manual lineage metadata using inlets and outlets to capture dataset relationships and enable downstream lineage tracking.

Core Features & Use Cases

  • Manual lineage annotations on operators to explicitly define inputs (inlets) and outputs (outlets).
  • Supports OpenLineage datasets, Airflow assets, and Airflow Datasets for flexible lineage representations.
  • Improves lineage governance when operators lack built-in OpenLineage extraction, providing clear provenance.

Quick Start

Provide inlets and outlets on your Airflow operators to enable lineage tracking.

Frequently Asked Questions about annotating-task-lineage

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

FAQPage Schema
How do I add lineage metadata to Airflow tasks using inlets and outlets?▼

To add lineage metadata to Airflow tasks, manually annotate operators with inlets and outlets to explicitly define inputs and outputs. This captures dataset relationships and enables downstream lineage tracking.

When do I need to manually annotate lineage in Airflow?▼

Manual lineage annotation is needed when operators lack built-in OpenLineage extraction or when you require explicit dataset lineage for tasks, datasets, or assets to ensure clear provenance.

Can I use OpenLineage datasets with Airflow inlets and outlets?▼

Yes, you can configure inlets and outlets using OpenLineage-compatible datasets, Airflow assets, and Airflow Datasets to provide flexible lineage representations for your operators.

What is the best way to track dataset relationships in Airflow without built-in extraction?▼

The best way to track dataset relationships without built-in extraction is providing inlets and outlets on your Airflow operators, which manually defines the lineage metadata for downstream tracking.

Why are my Airflow tasks not emitting lineage metadata?▼

Airflow tasks may not emit lineage metadata if the operators lack built-in OpenLineage extraction. You must manually configure inlets and outlets on the operators to capture the dataset relationships.

Does annotating inlets and outlets improve lineage governance in Airflow?▼

Yes, annotating inlets and outlets improves lineage governance by providing clear provenance and explicitly defining dataset relationships when relying on manual lineage metadata.