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, technical domain with specific actions and explicit trigger conditions. It uses third person voice correctly, includes natural domain-specific keywords, and the 'Use when' clause covers multiple realistic scenarios that would help Claude distinguish this skill from general Airflow or data lineage skills.
| 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 three distinct trigger scenarios: unsupported operators, column-level lineage, 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 distinctive niche targeting specifically OpenLineage extractors for Airflow operators. The combination of 'OpenLineage', 'extractors', 'Airflow', and 'column-level lineage' makes it very 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, highly actionable skill with excellent executable code examples covering multiple real-world scenarios. Its main weaknesses are moderate verbosity (some redundant sections and explanatory text) and the lack of an explicit end-to-end workflow with validation checkpoints for verifying that extractors are correctly registered and producing lineage events. The content would benefit from being split into a concise overview with references to detailed pattern files.
Suggestions
Add an explicit end-to-end workflow section with numbered steps and validation checkpoints, e.g.: 1. Create extractor → 2. Register in config → 3. Run unit test → 4. Deploy → 5. Trigger DAG → 6. Verify lineage events appear in logs/UI.
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 redundant 'Two Approaches' section that merely restates what the decision table already covers, and trim the introductory sentence that describes the skill's purpose.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is fairly comprehensive but includes some unnecessary verbosity — the introductory sentence explaining what the skill does, the 'Two Approaches' section that repeats the decision table, and some comments in code that explain obvious things. The Astro section adds context but could be trimmed. Overall mostly efficient but could be tightened by ~20-30%. | 2 / 3 |
Actionability | Excellent actionability with fully executable, copy-paste-ready code examples for both approaches (OpenLineage methods and custom extractors), concrete registration commands, multiple real-world patterns (SQL, file transfer, dynamic), unit test examples, and specific pitfall fixes with before/after code. | 3 / 3 |
Workflow Clarity | The decision table and precedence rules provide good guidance on which approach to use, and the methods reference tables clarify when each method is called. However, there's no explicit end-to-end workflow with validation checkpoints — e.g., no 'create extractor → register → test → deploy → verify lineage appears' sequence with verification steps. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear headers and a logical flow from decision → approaches → patterns → pitfalls → testing. However, at ~300 lines it's quite long and could benefit from splitting common patterns and pitfalls into separate reference files. The related skills section is a nice touch but the main content is somewhat monolithic. | 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.
0642adb
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.