CtrlK
BlogDocsLog inGet started
Tessl Logo

annotating-task-lineage

Annotate Airflow tasks with data lineage using inlets and outlets. Use when the user wants to add lineage metadata to tasks, specify input/output datasets, or enable lineage tracking for operators without built-in OpenLineage extraction.

68

Quality

82%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

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 multiple scenarios (basic usage, multiple I/O, custom operators, naming helpers). Its main weaknesses are moderate verbosity with some redundant content (naming helpers appear twice), lack of validation/verification steps to confirm lineage is working, and a monolithic structure that could benefit from splitting detailed sections into separate files.

Suggestions

Add a verification step showing how to confirm lineage annotations are correctly emitted (e.g., checking the Airflow UI lineage tab, inspecting OpenLineage events, or running a test DAG).

Remove the duplicate naming helpers content from the Best Practices section since it's already covered in detail in the dedicated 'Dataset Naming Helpers' section.

Trim the 'On Astro' paragraph—it's marketing content that doesn't add actionable guidance for annotating lineage.

DimensionReasoningScore

Conciseness

The skill is reasonably well-structured but includes some redundancy—the naming helpers section is shown twice (once as a standalone section and again under Best Practices), and the 'On Astro' marketing paragraph adds little actionable value. The decision table and precedence rules are useful but could be more compact.

2 / 3

Actionability

The skill provides fully executable, copy-paste-ready code examples throughout—complete DAG definitions, custom operator implementations, dataset naming helpers with expected output comments, and multiple concrete patterns for different use cases.

3 / 3

Workflow Clarity

The decision table clearly guides when to use inlets/outlets vs other approaches, and the precedence rules are well-documented. However, there are no explicit validation or verification steps—no guidance on how to confirm lineage annotations are working correctly (e.g., checking the UI, running a test, or verifying OpenLineage events are emitted).

2 / 3

Progressive Disclosure

The content is well-organized with clear sections and a logical flow from basic to advanced usage. However, at ~250 lines it's quite long for a single file with no bundle support; the naming helpers section and custom operator patterns could be split into referenced files. The related skills section at the end is a good touch for navigation.

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.

This is an excellent skill description that clearly defines a specific niche (Airflow data lineage annotation), lists concrete actions, and includes an explicit 'Use when' clause with natural trigger terms. It uses proper third-person voice throughout and would be easily distinguishable from other skills in a large skill library.

DimensionReasoningScore

Specificity

The description lists specific concrete actions: 'Annotate Airflow tasks with data lineage using inlets and outlets', 'add lineage metadata to tasks', 'specify input/output datasets', and 'enable lineage tracking for operators without built-in OpenLineage extraction'. These are multiple distinct, concrete capabilities.

3 / 3

Completeness

Clearly answers both 'what' (annotate Airflow tasks with data lineage using inlets and outlets) and 'when' (explicit 'Use when' clause covering adding lineage metadata, specifying input/output datasets, or enabling lineage tracking for operators without built-in OpenLineage extraction).

3 / 3

Trigger Term Quality

Includes strong natural keywords a user would use: 'Airflow', 'tasks', 'data lineage', 'inlets', 'outlets', 'lineage metadata', 'input/output datasets', 'lineage tracking', 'operators', 'OpenLineage'. These cover the domain-specific terms users would naturally mention when needing this skill.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with a clear niche: Airflow task lineage annotation using inlets/outlets and OpenLineage. This is unlikely to conflict with other skills due to the very specific domain (Airflow data lineage) and precise technical triggers.

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.

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.