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.

86

Quality

82%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Discovery

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.

This is an excellent skill description that clearly defines a narrow, specific domain (custom OpenLineage extractors for Airflow) with concrete actions and explicit trigger conditions. It uses appropriate domain-specific terminology that users would naturally employ, and the 'Use when' clause effectively covers the key scenarios. The description is concise yet comprehensive, making it easy for Claude to select this skill precisely when needed.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: creating custom OpenLineage extractors, handling unsupported/third-party operators, column-level lineage, and complex extraction logic beyond inlets/outlets.

3 / 3

Completeness

Clearly answers both 'what' (create custom OpenLineage extractors for Airflow operators) and 'when' (explicit 'Use when' clause covering unsupported operators, column-level lineage needs, and complex extraction logic).

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'OpenLineage', 'extractors', 'Airflow operators', 'lineage', 'column-level lineage', 'inlets/outlets', 'third-party operators'. These are the exact terms a user working in this domain would use.

3 / 3

Distinctiveness Conflict Risk

Highly specific niche targeting OpenLineage extractors for Airflow operators. The combination of 'OpenLineage', 'extractors', 'Airflow', and 'column-level lineage' creates a very distinct trigger profile unlikely to conflict with other skills.

3 / 3

Total

12

/

12

Passed

Implementation

64%

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

This is a solid, actionable skill with excellent code examples covering both OpenLineage methods and custom extractors, plus useful patterns for common scenarios. Its main weaknesses are moderate verbosity (some redundant sections and explanatory text), lack of explicit validation/verification workflow steps, and a monolithic structure that could benefit from splitting detailed patterns into separate files.

Suggestions

Add an explicit step-by-step workflow with validation checkpoints, e.g., 'Create extractor → Register in config → Verify registration with `airflow config get-value openlineage extractors` → Trigger test DAG → Check lineage events in logs'.

Move the Common Patterns section (SQL, File Transfer, Dynamic) into a separate PATTERNS.md file and reference it from the main skill to reduce length and improve progressive disclosure.

Remove the introductory sentence ('This skill guides you through...') and trim the Astro-specific paragraph — these don't add actionable value for the core task.

DimensionReasoningScore

Conciseness

The skill is fairly comprehensive but includes some unnecessary verbosity — the introductory sentence restates the title, the 'When to Use Each Approach' table partially duplicates the 'Two Approaches' section, and some patterns (like the SQL parser stub) add bulk without full value. The Astro section adds context Claude likely doesn't need for the core task.

2 / 3

Actionability

The skill provides fully executable, copy-paste-ready code examples for both approaches (OpenLineage methods and custom extractors), concrete registration commands, unit test examples, and specific import patterns. The common pitfalls section includes concrete bad/good code comparisons.

3 / 3

Workflow Clarity

The decision table and two-approach structure provide good guidance on which path to take, and the precedence rules are clearly documented. However, there's no explicit step-by-step workflow with validation checkpoints — e.g., no 'verify your extractor is registered' step, no 'test locally before deploying' sequence, and no feedback loop for debugging registration issues.

2 / 3

Progressive Disclosure

The content is well-structured with clear sections and a reference table, and it links to related skills at the bottom. However, the document is quite long (~300 lines) with multiple full code examples that could be split into separate reference files (e.g., patterns/examples in a separate file), and the external reference link at the top is good but the inline content could benefit from more offloading.

2 / 3

Total

9

/

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.

Validation11 / 11 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.