CtrlK
BlogDocsLog inGet started
Tessl Logo

migrating-airflow-2-to-3

Guide for migrating Apache Airflow 2.x projects to Airflow 3.x. Use when the user mentions Airflow 3 migration, upgrade, compatibility issues, breaking changes, or wants to modernize their Airflow codebase. If you detect Airflow 2.x code that needs migration, prompt the user and ask if they want you to help upgrade. Always load this skill as the first step for any migration-related request.

68

Quality

83%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

77%

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

This is a strong, well-structured migration skill with excellent actionability—concrete commands, executable code examples, and specific import/context mapping tables. The workflow is clearly sequenced with validation checkpoints. The main weakness is that the body is somewhat long with inline content that could be offloaded to the referenced files, and some architectural explanation could be trimmed for conciseness.

Suggestions

Consider moving the full Python client and REST API code examples to reference/migration-patterns.md and keeping only a brief pointer in the main skill body to improve conciseness.

Trim the architecture section to focus only on the code impact (ORM access fails at runtime) rather than explaining the component topology (DAG processor, triggerer, API server).

DimensionReasoningScore

Conciseness

The skill is mostly efficient and avoids explaining basic concepts Claude knows, but includes some unnecessary context (e.g., the architecture explanation about workers, DAG processor, and triggerer could be trimmed since Claude only needs the code impact). The quick reference tables are well-structured and dense, but some sections like the REST API example could be more concise.

2 / 3

Actionability

The skill provides fully executable code examples (Ruff commands, Python client usage, REST API calls), specific import mapping tables, concrete search patterns, and copy-paste ready commands. The migration steps are concrete with specific rule codes (AIR30/AIR301/etc.) and exact bash commands.

3 / 3

Workflow Clarity

The 'Migration at a Glance' section provides a clear 5-step sequence with explicit validation (re-running Ruff after changes, testing updated logic). It includes feedback loops ('implement changes incrementally, re-running Ruff and code searches after each major change') and cautions about testing. The workflow handles the complexity of migration well with clear checkpoints.

3 / 3

Progressive Disclosure

The skill references four detailed reference files (config-changes.md, migration-patterns.md, removed-methods.md, migration-checklist.md) with clear descriptions, which is good structure. However, no bundle files were provided to verify these exist, and the SKILL.md itself is quite long (~200 lines) with substantial inline content (architecture details, full code examples, multiple tables) that could arguably be moved to reference files.

2 / 3

Total

10

/

12

Passed

Description

89%

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 a strong skill description with excellent trigger term coverage and completeness, clearly specifying both what the skill does and when to use it. The main weakness is that the 'what' portion could be more specific about the concrete actions performed during migration (e.g., updating operators, resolving import changes, updating configs). The proactive detection guidance is a nice touch but the instruction 'Always load this skill as the first step' is operational rather than descriptive.

Suggestions

Add specific concrete migration actions to improve specificity, e.g., 'Updates deprecated operators, resolves import path changes, migrates DAG definitions, updates configuration files, and addresses API breaking changes.'

DimensionReasoningScore

Specificity

The description names the domain (Airflow 2.x to 3.x migration) and mentions some actions like detecting code that needs migration and helping upgrade, but it doesn't list specific concrete actions such as 'update deprecated operators, refactor DAG definitions, resolve import path changes, update configuration files.'

2 / 3

Completeness

Clearly answers both 'what' (guide for migrating Airflow 2.x to 3.x) and 'when' (explicit 'Use when...' clause listing multiple trigger scenarios including migration, upgrade, compatibility issues, breaking changes, and modernization). Also includes proactive detection guidance.

3 / 3

Trigger Term Quality

Includes strong natural trigger terms: 'Airflow 3 migration', 'upgrade', 'compatibility issues', 'breaking changes', 'modernize', 'Airflow codebase', and 'Airflow 2.x code'. These cover a good range of terms users would naturally use when seeking migration help.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with a clear niche: specifically Airflow 2.x to 3.x migration. The combination of 'Airflow', 'migration', '2.x to 3.x', and 'breaking changes' makes it very unlikely to conflict with other skills.

3 / 3

Total

11

/

12

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

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.