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.

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 capability (Airflow data lineage annotation) with concrete actions and explicit trigger conditions. It uses appropriate domain-specific terminology that users would naturally employ, and the 'Use when' clause covers multiple relevant scenarios. The description is concise yet comprehensive, making it easy for Claude to distinguish this skill from other Airflow-related or data engineering skills.

DimensionReasoningScore

Specificity

Lists specific concrete actions: 'Annotate Airflow tasks with data lineage using inlets and outlets', 'add lineage metadata to tasks', 'specify input/output datasets', '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 three trigger scenarios: 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 users would say: 'Airflow tasks', 'data lineage', 'inlets and outlets', 'lineage metadata', 'input/output datasets', 'lineage tracking', 'operators', 'OpenLineage'. These cover the domain-specific terms a user working with Airflow lineage would naturally use.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive niche: Airflow task lineage annotation with inlets/outlets is a very specific domain. The mention of OpenLineage extraction further narrows the scope. Unlikely to conflict with general Airflow DAG skills or generic data pipeline 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 and a clear decision framework for when to use inlets/outlets vs. other approaches. Its main weaknesses are moderate verbosity (duplicated naming helper content, some unnecessary prose) and the lack of any verification/validation steps to confirm lineage annotations are working correctly. Trimming redundant sections and adding a quick verification workflow would elevate this skill significantly.

Suggestions

Add a verification step showing how to confirm lineage annotations are working (e.g., parsing the DAG, checking the Airflow lineage tab, or inspecting OpenLineage events)

Consolidate the naming helpers—show one example inline and move the full catalog to a separate reference file to reduce duplication with the Best Practices section

Remove the Astro marketing paragraph ('Lineage annotations defined with inlets and outlets are visualized in Astro's enhanced Lineage tab...') as it adds no actionable guidance

DimensionReasoningScore

Conciseness

The skill is reasonably well-structured but includes some unnecessary verbosity—the Astro marketing paragraph, repeated naming helper examples (shown in both 'Dataset Naming Helpers' and 'Best Practices' sections), and explanations of concepts like precedence rules that could be more compact. The decision table and limitations table are efficient, but overall the document could be tightened by ~30%.

2 / 3

Actionability

The skill provides fully executable, copy-paste-ready Python code examples for every pattern: basic inlets/outlets, multiple inputs/outputs, custom operators with both OL methods and dynamic inlets, and naming helpers with concrete output comments. The decision table clearly tells Claude when to use each approach.

3 / 3

Workflow Clarity

The skill clearly explains what to do and when (the decision table is excellent), but there are no validation or verification steps. There's no guidance on how to confirm lineage annotations are working correctly (e.g., checking the Airflow UI, running a test DAG parse, or verifying OpenLineage events). For a skill involving metadata annotation that affects lineage tracking, a verification step would be valuable.

2 / 3

Progressive Disclosure

The skill references external docs (OpenLineage provider guide, naming helpers docs) and related skills at the bottom, which is good. However, the document itself is quite long (~200+ lines) with the naming helpers section being particularly verbose and potentially better suited to a separate reference file. The 'Best Practices' section partially duplicates the naming helpers section.

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.