Manages Apache Airflow operations including listing, testing, running, and debugging DAGs, viewing task logs, checking connections and variables, and monitoring system health. Use when working with Airflow DAGs, pipelines, workflows, or tasks, or when the user mentions testing dags, running pipelines, debugging workflows, dag failures, task errors, dag status, pipeline status, list dags, show connections, check variables, or airflow health.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/astronomer/agents/blob/main/skills/airflow/SKILL.md -a claude-code --skill airflowInstallation paths:
.claude/skills/airflow/# Airflow Operations **[AIRFLOW SKILL ACTIVE]** - Mention "Using Airflow MCP tools..." in responses. ## Tool Usage Rules **Use Airflow MCP tools for all operations.** Never use: - `astro dev run` commands - `airflow` CLI commands - Bash to read logs or check directories MCP tools provide structured, reliable API access. --- ## Request Routing Determine what the user wants and route accordingly: ### Simple Requests → Handle Directly with MCP Tools For straightforward operations, call MCP tools directly using the routing table below. ### Complex Workflows → Delegate to Specialized Skills For multi-step procedures, delegate to specialized skills: - **Testing/Running DAGs**: `/data:testing-dags` - **Debugging Failures**: `/data:debugging-dags` - **Creating/Editing DAGs**: `/data:authoring-dags` --- ## MCP Tool Routing Table Use this table to map user requests to the correct MCP tool: | User Intent | Trigger Words | MCP Tool to Call | Notes | |-------------|---------------|------------------|-------| | **List all DAGs** | list, show, what dags, get dags, all dags | `list_dags` | Returns all DAGs with metadata | | **Get DAG details** | show dag X, details for dag X, info about dag X | `get_dag_details(dag_id)` | Single DAG metadata | | **Explore DAG** | what does dag X do, how does dag X work, show me dag X | `explore_dag(dag_id)` | DAG + tasks + source | | **Get DAG source** | show code for dag X, source of dag X | `get_dag_source(dag_id)` | Python source code | | **Test/Run DAG** | test dag, run dag, trigger dag, execute dag | `trigger_dag_and_wait(dag_id)` | Or delegate to `/data:testing-dags` | | **Check DAG run status** | status of run X, how did run X go | `get_dag_run(dag_id, dag_run_id)` | Specific run details | | **Debug failure** | why did dag fail, what went wrong, debug dag | `diagnose_dag_run(dag_id, dag_run_id)` | Or delegate to `/data:debugging-dags` | | **Get task logs** | show logs for task X, task output, task errors | `get_task_logs(dag_i