astronomer avatar

Creating Openlineage Extractors

When Airflow's built-in OpenLineage support doesn't cover your operators, you need custom extractors. This skill walks through two approaches: adding OpenLineage methods directly to operators you control (the recommended path), or building standalone extractors for third-party operators you can't modify. The guide includes specifics on capturing column-level lineage, runtime metadata like row counts, and registration via airflow.cfg. It's honest about extractors being harder to maintain than the methods approach. If you're running custom operators or need lineage from providers that don't ship with extractors, this covers the implementation patterns and shows you which extraction hooks fire when.

skills.sh installs
960
GitHub stars
459
last updated
Aug 21, 2026

Install

$ npx -y skills add astronomer/agents --skill creating-openlineage-extractors --agent claude-code

Installs into .claude/skills of the current project.

Files

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

ScenarioApproach
Operator you own/maintainOpenLineage Methods (recommended, simplest)
Third-party operator you can't modifyCustom Extractor
Need column-level lineageOpenLineage Methods or Custom Extractor
Complex extraction logicOpenLineage Methods or Custom Extractor
Simple table-level lineageInlets/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.

On Astro

Sponsors

Details

Repository
github.com/astronomer/agents
First seen
May 16, 2026

More from astronomer/agents

All 24

Recommended

1juliusbrussee avatarcavemanjuliusbrussee/cavemanUltra-compressed communication mode. Cuts output tokens 65% (measured) by speaking like caveman while keeping full technical accuracy. Supports intensity levels618.3Kskills.sh installs
2mattpocock avatargrill-memattpocock/skillsA relentless interview to sharpen a plan or design.1.5Mskills.sh installs
3shadcn avatarimproveshadcn/improveSurvey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on s40Kskills.sh installs
4obra avatarsystematic-debuggingobra/superpowersUse when encountering any bug, test failure, or unexpected behavior, before proposing fixes326.7Kskills.sh installs
5forrestchang avatarkarpathy-guidelinesforrestchang/andrej-karpathy-skillsBehavioral guidelines to reduce common LLM coding mistakes through explicit assumptions, simplicity, and verifiable success criteria.17.9Kskills.sh installs
6vercel-labs avatarfind-skillsvercel-labs/skillsHelps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express int4.3Mskills.sh installs