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
82%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
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.
| Dimension | Reasoning | Score |
|---|---|---|
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.
| Dimension | Reasoning | Score |
|---|---|---|
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.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
166c98a
Table of Contents
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.