migrate-airflow-kestra
Installation
SKILL.md
Migrate Airflow DAG to Kestra
Migrate an Apache Airflow DAG file to a production-ready Kestra flow with proper namespace files, correct task ordering, and schema-validated YAML.
Never emit the legacy constructs below — they fail to parse, even if older docs, blueprints or examples use them:
| Never emit | Use instead |
|---|---|
ForEach, ForEachItem, EachSequential, EachParallel |
io.kestra.plugin.core.flow.Loop |
pluginDefaults (flow-level) |
Set the values on each task, or hoist shared values into flow variables: |
conditions: on a trigger |
when: Pebble expression |
Flow trigger preconditions / multipleConditions |
dependsOn + window + mode |
json() Pebble function |
fromJson() |
taskrun.value / parent.taskrun.value |
item.value (inside a Loop) |
runner: property |
taskRunner: or containerImage |
Listeners, Templates, core.trigger.Toggle, scripts.nashorn.* |
Flow triggers, Subflows, the API, graalvm.* |