CtrlK
BlogDocsLog inGet started
Tessl Logo

creating-openlineage-extractors

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.

88

1.29x
Quality

Does it follow best practices?

Impact

97%

1.29x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

65%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Highly actionable with executable, correct code and strong decision guidance, but somewhat verbose and monolithic. Tightening redundant examples and adding an explicit registration-validation checkpoint would lift the weaker dimensions.

Suggestions

De-duplicate the OperatorLineage-structure block (it appears in both 'OperatorLineage Structure' and the example extractors) and consolidate the repeated precedence/registration reminders into one place to improve conciseness.

Add an explicit build-and-deploy validation step (e.g. 'verify the extractor is importable and registered by checking Airflow's OpenLineage config, then run the unit test') to close the workflow-clarity feedback loop.

Move the extended code catalog (SQL, file-transfer, dynamic-lineage extractors) into a references/ file and link to it, keeping SKILL.md as a tighter overview to improve progressive disclosure.

DimensionReasoningScore

Conciseness

Mostly efficient with executable code, but ~400 lines include redundancy — OperatorLineage structure is shown twice and the precedence/registration guidance is repeated across 'Important' callouts — so it could be tightened.

2 / 3

Actionability

Provides fully executable code with real import paths, concrete registration config (airflow.cfg and env var), and a runnable pytest unit test — copy-paste ready.

3 / 3

Workflow Clarity

A clear when-to-use decision table, precedence rules, and pitfalls give good sequence, but the build/deploy workflow lacks an explicit validate-then-proceed checkpoint despite registration misconfiguration being a real failure mode.

2 / 3

Progressive Disclosure

No bundle files exist and the skill is a single monolithic SKILL.md; sections are well-organized, but the large reference-style code catalog could be split into a referenced file rather than inlined.

2 / 3

Total

9

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A precise, third-person description that names concrete capabilities and provides explicit, multi-trigger 'when to use' guidance in a clear niche. No fluff or over-claims; every clause earns its place.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Create custom OpenLineage extractors', capturing 'lineage from unsupported or third-party operators', 'column-level lineage', and 'complex extraction logic' — matching the multiple-specific-actions anchor.

3 / 3

Completeness

Explicitly answers both what ('Create custom OpenLineage extractors for Airflow operators') and when via a 'Use when...' clause with several explicit triggers.

3 / 3

Trigger Term Quality

Covers natural terms a user would say ('lineage', 'third-party operators', 'column-level lineage', 'inlets/outlets'), giving good domain keyword coverage rather than jargon-only phrasing.

3 / 3

Distinctiveness Conflict Risk

A clear OpenLineage-extractor niche with distinct triggers that is unlikely to overlap with sibling lineage skills covering inlets/outlets or lineage tracing.

3 / 3

Total

12

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
astronomer/agents
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.