Download for macOS
Skill

creating-openlineage-extractors

@astronomer Updated 2026-10-14

Create custom OpenLineage extractors for Airflow operators. Use when the user needs lineage from unsupported or third-party operators, wants column-level lineage, or needs complex extraction logic beyond what inlets/outlets provide.

agentic-workflowagentsaiai-agentsairflowapache-airflowclaudecursor

Install

git clone https://github.com/astronomer/agents /tmp/agents && ln -s /tmp/agents/skills/creating-openlineage-extractors ~/.claude/skills/creating-openlineage-extractors

From README

Creating OpenLineage Extractors This skill guides you through creating custom OpenLineage extractors to capture lineage from Airflow operators that don't have built-in support. Reference: See the OpenLineage provider developer guide for the latest patterns and list of supported operators/hooks. When to Use Each Approach | Scenario | Approach | |----------|----------| | Operator you own/maintain | OpenLineage Methods (recommended, simplest) | | Third-party operator you can't modify | Custom Extractor | | Need column-level lineage | OpenLineage Methods or Custom Extractor | | Complex extraction logic | OpenLineage Methods or Custom Extractor | | Simple table-level lineage | Inlets/Outlets (simplest, but lowest priority) | Important: Always prefer OpenLineage methods over custom extractors when possible. Extractors are harder to write, easier to diverge from operator behavior after changes, and harder to debug.