CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

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

This is a high-quality, action-dense migration guide: concrete commands, executable code, and well-chosen gotchas that Claude would not reliably know. Its main weaknesses are a broken reference layer (all four referenced files are missing from the bundle) and minor duplication that costs tokens.

Suggestions

The four referenced files (reference/config-changes.md, reference/migration-patterns.md, reference/removed-methods.md, reference/migration-checklist.md) do not exist in the skill bundle — either include them or fix the paths so the progressive-disclosure links resolve.

Deduplicate the cron data-interval guidance: the AIRFLOW__SCHEDULER__CREATE_CRON_DATA_INTERVAL tip appears both in 'Migration at a Glance' and in 'Context Key Changes'; keep it in one place and cross-reference.

Add an explicit validation checkpoint after the unsafe auto-fix step (e.g., re-run 'ruff check --preview --select AIR .' and review the diff before proceeding) to give the batch migration a concrete validate-fix-retry loop.

DimensionReasoningScore

Conciseness

The body is dense and focused on genuinely non-obvious knowledge (ORM access ban, context key changes, config gotchas) with tables instead of prose, matching the efficient anchor. Minor trimmable material keeps it below 5: the cron data-interval tip is stated twice (in 'Migration at a Glance' and again under 'Context Key Changes') and the Astro-specific shared-utility note is deployment-specific.

4 / 5

Actionability

Fully executable throughout: copy-paste Ruff commands ("ruff check --preview --select AIR --fix --unsafe-fixes ."), two complete runnable Python examples for the Airflow client and REST API replacements, and concrete search patterns ("provide_session", "from airflow.settings import Session").

5 / 5

Workflow Clarity

"Migration at a Glance" gives a clear 5-step sequence with a re-check loop ("Implement changes incrementally, re-running Ruff and code searches after each major change") and a final test caution. It falls short of anchor 5 because the batch "--fix --unsafe-fixes" operation lacks an explicit validate-then-fix-then-retry checkpoint; the loop is implied rather than staged.

4 / 5

Progressive Disclosure

The body itself is well-structured with clearly signaled one-level references, but all four referenced files (reference/config-changes.md, migration-patterns.md, removed-methods.md, migration-checklist.md) are absent from the bundle, so the disclosure chain leads to nonexistent paths. Structure is above anchor 3, but broken navigation is more than the 'minor organization gaps' of anchor 4, placing it between the two anchors.

3 / 5

Total

16

/

20

Passed

Description

90%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it states a clear capability, gives explicit 'Use when...' trigger guidance with natural user phrasing, and carves out a distinct niche. The only weakness is modest capability specificity — it describes one action (migration) rather than enumerating the concrete sub-tasks it covers.

DimensionReasoningScore

Specificity

"Guide for migrating Apache Airflow 2.x projects to Airflow 3.x" names the domain and one concrete action (migration); phrases like "compatibility issues, breaking changes" function as triggers rather than listed capabilities, so it matches anchor 3 (1-2 concrete actions, not comprehensive) rather than 4.

3 / 5

Completeness

Explicitly answers what ("Guide for migrating Apache Airflow 2.x projects to Airflow 3.x") and when ("Use when the user mentions Airflow 3 migration, upgrade, compatibility issues, breaking changes..."), matching the anchor requiring both with concrete trigger phrases.

5 / 5

Trigger Term Quality

"Airflow 3 migration, upgrade, compatibility issues, breaking changes, modernize their Airflow codebase" plus "Airflow 2.x code" covers the natural terms and synonyms a user would actually say when they need this skill, matching the comprehensive-coverage anchor.

5 / 5

Distinctiveness Conflict Risk

The scope is tightly pinned to the Airflow 2.x-to-3.x niche with distinct version-specific triggers, so it is clearly distinguishable from generic Airflow, testing, or debugging skills with minimal conflict risk.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 5 missing

Warning

Total

14

/

16

Passed

Repository

astronomer/agents

Path

skills/migrating-airflow-2-to-3/SKILL.md

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.