Glue 09 10 Migration
aws-samples/aws-glue-samples
Upgrade an AWS Glue ETL job from Glue version 0.9 or 1.0 to Glue 4.0.
Provides guidance for migrating Apache Airflow DAGs in Managed Service for Apache Airflow (MSAA; formerly Cloud Composer).
$ npx skills add google/skills --skill managed-airflow-migrations -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/skills managed-airflow-migrations --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cloud/managed-airflow-migrations .claude/skills/managed-airflow-migrations && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "managed-airflow-migrations" agent skill from https://github.com/google/skills/tree/main/skills/cloud/managed-airflow-migrations into .claude/skills/managed-airflow-migrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-airflow-migrations", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google/skills/tree/main/skills/cloud/managed-airflow-migrationsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google/skills --skill managed-airflow-migrations -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/skills managed-airflow-migrations --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cloud/managed-airflow-migrations .agents/skills/managed-airflow-migrations && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "managed-airflow-migrations" agent skill from https://github.com/google/skills/tree/main/skills/cloud/managed-airflow-migrations into .agents/skills/managed-airflow-migrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-airflow-migrations", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/skills --skill managed-airflow-migrations -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/skills managed-airflow-migrations --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cloud/managed-airflow-migrations .cursor/skills/managed-airflow-migrations && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "managed-airflow-migrations" agent skill from https://github.com/google/skills/tree/main/skills/cloud/managed-airflow-migrations into .cursor/skills/managed-airflow-migrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-airflow-migrations", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google/skills.git --path skills/cloud/managed-airflow-migrations--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google/skills --skill managed-airflow-migrations -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/skills managed-airflow-migrations --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cloud/managed-airflow-migrations .gemini/skills/managed-airflow-migrations && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "managed-airflow-migrations" agent skill from https://github.com/google/skills/tree/main/skills/cloud/managed-airflow-migrations into .gemini/skills/managed-airflow-migrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-airflow-migrations", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google/skills managed-airflow-migrationsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google/skills --skill managed-airflow-migrations -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cloud/managed-airflow-migrations .github/skills/managed-airflow-migrations && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "managed-airflow-migrations" agent skill from https://github.com/google/skills/tree/main/skills/cloud/managed-airflow-migrations into .github/skills/managed-airflow-migrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-airflow-migrations", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/skills --skill managed-airflow-migrations -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google/skills managed-airflow-migrations --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cloud/managed-airflow-migrations .opencode/skills/managed-airflow-migrations && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "managed-airflow-migrations" agent skill from https://github.com/google/skills/tree/main/skills/cloud/managed-airflow-migrations into .opencode/skills/managed-airflow-migrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-airflow-migrations", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
managed-airflow-migrationsProvides guidance for migrating Apache Airflow DAGs in Managed Service for Apache Airflow (MSAA; formerly Cloud Composer).
Managed Airflow Migrations is an agent skill from google/skills, published by the product's own GitHub organization. Provides guidance for migrating Apache Airflow DAGs in Managed Service for Apache Airflow (MSAA; formerly Cloud Composer). Covers migration to Airflow 2.11.1 (MSAA Gen 2 and 3) and Airflow 3 (MSAA Gen 3), including environment inspection, GCS download/upload and scanning patterns for breaking changes. Use when migrating the DAG code to newer Airflow version. Don't use when checking DAG run failures unrelated to code migration.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/airflow-3.md`, `references/environment-inspection.md` and `references/local-development-environment.md`).
It sits in Data & Analytics, covering Data pipelines and ETL and Code migrations. It works with Apache Airflow. The repository describes itself as: Agent Skills for Google products and technologies. The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7d97937. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ruffgcloudFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gcloud, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Managed Airflow Migrations loads about 3k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 114 tokens; SKILL.md has 1,186 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from google/skills at commit 7d97937, republished under its Apache-2.0 licence (© google). 1,186 words, ~2,982 tokens.
.claude/skills/managed-airflow-migrations/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This skill guides you through the process of adjusting Airflow DAGs from an existing Managed Service for Apache Airflow (formerly Cloud Composer) environment (or available locally) to make them compatible with Airflow 2.11.1 (MSAA Gen 2 or 3) or Airflow 3 (MSAA Gen 3).
Before making any changes, download the existing DAG files if explicitly requested. Inspect the source environment to confirm source version only if explicitly requested. For detailed instructions about environment inspection and downloading files check references/environment-inspection.md.
If migrating to Airflow 2.11.1 (MSAA Gen 2) or Airflow 3, use the list below to trace the version progression of key dependencies. The list covers changes needed to get to Airflow 2.11.1. Take them into account when migrating from Airflow 2 (earlier than 2.11.1) to Airflow 3.
10.26.03.14.04.13.318.0.04.1.45.3.4timeout removed; get_conn() context
manager.SimpleHttpOperator -> HttpOperator.BigQueryExecuteQueryOperator removed.AutoMLBatchPredictOperator removed.BigQueryCreateEmptyTableOperator and
BigQueryCreateExternalTableOperator removed; Life Sciences operators
removed.19.0.04.1.65.5.020.0.05.0.06.0.2sshtunnel removed (native tunneling).If migrating to Airflow 3 (MSAA Gen 3), note that this is a major version upgrade with significant changes, including:
airflow to airflow.sdk).Dataset to Asset.Take into account all applicable changes within Airflow 2 (e.g. when migrating from Airflow 2.10.2, apply changes needed to move to Airflow 2.11.1 and Airflow 3 migration changes on top of that).
Run the scan commands from the root of your local workspace
(./migration_workspace unless indicated otherwise).
Use these scans if migrating to Airflow 2.11.1+ (intermediate step when migrating to Airflow 3).
grep -rn "Dataset(" ./dagsChange: Raw HTML in DAG docs / params is escaped by default.
Scan Command:
grep -rn -E "doc_md.*<|doc_md.*>|description.*<|description.*>" ./dagsRemediation: Convert HTML to Markdown, or set
AIRFLOW__WEBSERVER__ALLOW_RAW_HTML_DESCRIPTIONS=True in target.
grep -rn "as_teardown" ./dagsChange: Period renamed to Interval, testing helpers removed.
Scan Command (Code):
grep -rn -E "pendulum\.Period|pendulum\.period" ./dagsScan Command (Tests):
grep -rn -E "\.test\(|set_test_now\(" ./tests 2>/dev/null || trueRemediation: Replace Period with Interval, and period(...) with
interval(...).
grep -rn "SSHHook" ./dags | grep "timeout"grep -rn "with SSHHook" ./dagsgrep -rn "\.get_tunnel" ./dagstimeout with conn_timeout in SSHHook.with hook as conn: with with hook.get_conn() as conn:.get_tunnel() as context manager: with hook.get_tunnel(...) as tunnel:.grep -rn "SimpleHttpOperator" ./dagsSimpleHttpOperator with HttpOperator.Scan Command (BigQuery query):
grep -rn "BigQueryExecuteQueryOperator" ./dagsBigQueryInsertJobOperator (use
configuration dict).Scan Command (BigQuery table):
grep -rn -E "BigQueryCreateEmptyTableOperator|BigQueryCreateExternalTableOperator" ./dagsBigQueryCreateTableOperator (use
table_resource dict).Scan Command (AutoML):
grep -rn -E "AutoMLTrainModelOperator|AutoMLPredictOperator|AutoMLCreateDatasetOperator|AutoMLBatchPredictOperator" ./dagsScan Command (Dataflow):
grep -rn -E "CreateDataPipelineOperator|RunDataPipelineOperator" ./dagsDataflowCreatePipelineOperator/DataflowRunPipelineOperator.Scan Command (Life Sciences):
grep -rn "LifeSciencesRunPipelineOperator" ./dags`BatchCreateJobOperator).Scan Command (ADLS to GCS): grep -rn "ADLSToGCSOperator" ./dags
file_system_name is provided.Use instructions from references/airflow-3.md when migrating to Airflow 3.
Perform deployment and verification steps only if explicitly requested to do so.
After applying code changes for Airflow 3, verify syntax correctness. If available in the development environment, run static lint checks:
ruff check {target_dag_file} --select AIR30Resolve any reported deprecation warnings before finalization. If ruff is not available, recommend installing one.
gcloud composer environments describe <TARGET_ENV> \
--location <TARGET_REGION> \
--format="value(config.dagGcsPrefix)"Expected Output: gs://<target-bucket-name>/dags
Perform this step only if explicitly requested to do so. Copy the modified
DAGs and any backed-up bucket dependencies from your local workspace to the
target GCS bucket. If you skipped the inspection step, ensure you have the
correct <target-bucket-name>.
Upload DAGs:
gcloud storage cp -r ./dags/* gs://<target-bucket-name>/dags/Upload Other Bucket Dependencies (If applicable):
gcloud storage cp -r ./migration_workspace/<dependency-folder> gs://<target-bucket-name>/<dependency-folder>Perform this step only if explicitly requested to upload modified DAGS to a target environment (and after uploading).
You can verify that your DAGs have been successfully uploaded, parsed, and registered by the Airflow scheduler in the target environment using the Airflow CLI.
List Registered DAGs: Run the following command to list all DAGs registered in the target environment. Verify that your migrated DAGs appear in this list.
gcloud composer environments run <TARGET_ENV> \
--location <TARGET_REGION> \
dags listCheck for Import Errors: If some DAGs are missing from the list, or to ensure there are no parsing issues, check for import errors:
gcloud composer environments run <TARGET_ENV> \
--location <TARGET_REGION> \
dags list-import-errorsExpected Output:
No data found.Note: It may take a couple of minutes for the Airflow scheduler to parse the new files and for changes to reflect in these commands.
Perform this step only if explicitly requested to upload modified DAGS to a target environment (and after uploading). Monitor Cloud Logging for the target environment to detect any runtime errors or import errors.
Run the following query in the GCP Cloud Logging Console (or via gcloud logging read):
resource.type="cloud_composer_environment"
resource.labels.environment_name="<TARGET_ENV>"
log_id("airflow-scheduler")
severity>=ERRORIf you want to verify your changes locally before deploying to the target
environment, you can use the Composer Local Development CLI tool
(composer-dev). Use
references/local-development-environment.md
as a reference for interactions with local development environments.
© google, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/cloud/managed-airflow-migrations of google/skills.
Open the folder on GitHubat commit 7d97937
Managed Airflow Migrations next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Managed Airflow Migrations this skillgoogle/skills | 21k | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Glue 09 10 Migrationaws-samples/aws-glue-samples | 1.5k | — | ~2.4k | Automated safety check: Pass | MIT-0 | |
| Chart Testsastronomer/airflow-chart | 297 | — | ~2.8k | Automated safety check: Pass | Custom licence | |
| Airflowastronomer/agents | 451 | 1 repos | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| Migrating Dagster To Airflowastronomer/agents | 451 | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| Authoring Dagsastronomer/agents | 451 | 1 repos | ~1.8k | Automated safety check: Pass | Apache-2.0 |
aws-samples/aws-glue-samples
Upgrade an AWS Glue ETL job from Glue version 0.9 or 1.0 to Glue 4.0.
astronomer/airflow-chart
A skill your agent uses when writing, editing, reviewing, or running Helm chart tests for the Astronomer airflow-chart repository.
astronomer/agents
Queries, manages, and troubleshoots Apache Airflow using the af CLI.
astronomer/agents
Guide for migrating Dagster projects to Apache Airflow 3 on Astro.
astronomer/agents
Workflow and best practices for writing Apache Airflow DAGs.
astronomer/airflow-chart
A skill your agent uses when writing, editing, reviewing, or running functional (end-to-end) tests for the Astronomer airflow-chart repository.
google/skills
Query Cloud Trace spans, filter by latency thresholds or error status, correlate distributed traces with Cloud Logging, and diagnose latency bottlenecks across Google Cloud services.
google/skills
Manages Google Cloud Privileged Access Manager entitlements and grants: create and edit entitlements, request temporary access, and approve or deny pending grants.
google/skills
Writes Terraform alerting policies for AI agents that emit OpenTelemetry metrics, covering reliability, cost, safety, security and quality signals on Google Cloud.
google/skills
Deploys open models or custom weights from Model Garden to Agent Platform endpoints, checks deployment status and cleans up endpoints, confirming before any change.
google/skills
Searches, manages and scaffolds skills in the Gemini Enterprise Agent Platform Skill Registry using bundled Python scripts and Google Cloud credentials.
google/skills
Designs GCP infrastructure as local Terraform, validates and scans it against best practices, then imports it to Application Design Center for deployment and troubleshooting.
Works with
Categories
Provides guidance for migrating Apache Airflow DAGs in Managed Service for Apache Airflow (MSAA; formerly Cloud Composer). Managed Airflow Migrations is an agent skill from google/skills, published by the product's own GitHub organization. Provides guidance for migrating Apache Airflow DAGs in Managed Service for Apache Airflow (MSAA; formerly Cloud Composer).
Managed Airflow Migrations fits situations like: migrating the DAG code to newer Airflow version; checking DAG run failures unrelated to code migration.
Run `npx skills add google/skills --skill managed-airflow-migrations -a claude-code`. Or copy the skill folder (skills/cloud/managed-airflow-migrations in google/skills) into .claude/skills/managed-airflow-migrations in your project. Claude Code loads it when a task matches its description.
Run `npx skills add google/skills --skill managed-airflow-migrations -a codex`. Or copy the skill folder (skills/cloud/managed-airflow-migrations in google/skills) into .agents/skills/managed-airflow-migrations in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google/skills --skill managed-airflow-migrations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/managed-airflow-migrations, .gemini/skills/managed-airflow-migrations, .github/skills/managed-airflow-migrations and .opencode/skills/managed-airflow-migrations in your project.
Going by SKILL.md and its folder, Managed Airflow Migrations needs the command-line tools its instructions call (ruff and gcloud).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Managed Airflow Migrations is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Managed Airflow Migrations: Glue 09 10 Migration (aws-samples/aws-glue-samples, 1.5k stars), Chart Tests (astronomer/airflow-chart, 297 stars), Airflow (astronomer/agents, 451 stars) and Migrating Dagster To Airflow (astronomer/agents, 451 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
google (a GitHub organization, an official publisher) maintains it in google/skills, which has 21,032 GitHub stars. The repository holds 147 skills in this directory. The repository was last updated on October 8, 2026.
Source: google/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.