debugging-dags
Comprehensive DAG failure diagnosis and root cause analysis. Use for complex debugging requests requiring deep investigation like "diagnose and fix the pipeline", "full root cause analysis", "why is this failing and how to prevent it". For simple debugging ("why did dag fail", "show logs"), the airflow entrypoint skill handles it directly. This skill provides structured investigation and prevention recommendations.
Best use case
debugging-dags is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Comprehensive DAG failure diagnosis and root cause analysis. Use for complex debugging requests requiring deep investigation like "diagnose and fix the pipeline", "full root cause analysis", "why is this failing and how to prevent it". For simple debugging ("why did dag fail", "show logs"), the airflow entrypoint skill handles it directly. This skill provides structured investigation and prevention recommendations.
Teams using debugging-dags should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/debugging-dags/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How debugging-dags Compares
| Feature / Agent | debugging-dags | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Comprehensive DAG failure diagnosis and root cause analysis. Use for complex debugging requests requiring deep investigation like "diagnose and fix the pipeline", "full root cause analysis", "why is this failing and how to prevent it". For simple debugging ("why did dag fail", "show logs"), the airflow entrypoint skill handles it directly. This skill provides structured investigation and prevention recommendations.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# DAG Diagnosis You are a data engineer debugging a failed Airflow DAG. Follow this systematic approach to identify the root cause and provide actionable remediation. ## Running the CLI Run all `af` commands using uvx (no installation required): ```bash uvx --from astro-airflow-mcp af <command> ``` Throughout this document, `af` is shorthand for `uvx --from astro-airflow-mcp af`. --- ## Step 1: Identify the Failure If a specific DAG was mentioned: - Run `af runs diagnose <dag_id> <dag_run_id>` (if run_id is provided) - If no run_id specified, run `af dags stats` to find recent failures If no DAG was specified: - Run `af health` to find recent failures across all DAGs - Check for import errors with `af dags errors` - Show DAGs with recent failures - Ask which DAG to investigate further ## Step 2: Get the Error Details Once you have identified a failed task: 1. **Get task logs** using `af tasks logs <dag_id> <dag_run_id> <task_id>` 2. **Look for the actual exception** - scroll past the Airflow boilerplate to find the real error 3. **Categorize the failure type**: - **Data issue**: Missing data, schema change, null values, constraint violation - **Code issue**: Bug, syntax error, import failure, type error - **Infrastructure issue**: Connection timeout, resource exhaustion, permission denied - **Dependency issue**: Upstream failure, external API down, rate limiting ## Step 3: Check Context Gather additional context to understand WHY this happened: 1. **Recent changes**: Was there a code deploy? Check git history if available 2. **Data volume**: Did data volume spike? Run a quick count on source tables 3. **Upstream health**: Did upstream tasks succeed but produce unexpected data? 4. **Historical pattern**: Is this a recurring failure? Check if same task failed before 5. **Timing**: Did this fail at an unusual time? (resource contention, maintenance windows) Use `af runs get <dag_id> <dag_run_id>` to compare the failed run against recent successful runs. ### On Astro If you're running on Astro, these additional tools can help with diagnosis: - **Deployment activity log**: Check the Astro UI for recent deploys — a failed deploy or recent code change is often the cause of sudden failures - **Astro alerts**: Configure alerts in the Astro UI for proactive failure monitoring (DAG failure, task duration, SLA miss) - **Observability**: Use the Astro [observability dashboard](https://www.astronomer.io/docs/astro/airflow-alerts) to track DAG health trends and spot recurring issues ### On OSS Airflow - **Airflow UI**: Use the DAGs page, Graph view, and task logs to inspect recent runs and failures ## Step 4: Provide Actionable Output Structure your diagnosis as: ### Root Cause What actually broke? Be specific - not "the task failed" but "the task failed because column X was null in 15% of rows when the code expected 0%". ### Impact Assessment - What data is affected? Which tables didn't get updated? - What downstream processes are blocked? - Is this blocking production dashboards or reports? ### Immediate Fix Specific steps to resolve RIGHT NOW: 1. If it's a data issue: SQL to fix or skip bad records 2. If it's a code issue: The exact code change needed 3. If it's infra: Who to contact or what to restart ### Prevention How to prevent this from happening again: - Add data quality checks? - Add better error handling? - Add alerting for edge cases? - Update documentation? ### Quick Commands Provide ready-to-use commands: - To clear and rerun the entire DAG run: `af runs clear <dag_id> <run_id>` - To clear and rerun specific failed tasks: `af tasks clear <dag_id> <run_id> <task_ids> -D` - To delete a stuck or unwanted run: `af runs delete <dag_id> <run_id>`
Related Skills
testing-dags
Complex DAG testing workflows with debugging and fixing cycles. Use for multi-step testing requests like "test this dag and fix it if it fails", "test and debug", "run the pipeline and troubleshoot issues". For simple test requests ("test dag", "run dag"), the airflow entrypoint skill handles it directly. This skill is for iterative test-debug-fix cycles.
authoring-dags
Workflow and best practices for writing Apache Airflow DAGs. Use when the user wants to create a new DAG, write pipeline code, or asks about DAG patterns and conventions. For testing and debugging DAGs, see the testing-dags skill.
warehouse-init
Initialize warehouse schema discovery. Generates .astro/warehouse.md with all table metadata for instant lookups. Run once per project, refresh when schema changes. Use when user says "/astronomer-data:warehouse-init" or asks to set up data discovery.
troubleshooting-astro-deployments
Troubleshoot Astronomer production deployments with Astro CLI. Use when investigating deployment issues, viewing production logs, analyzing failures, or managing deployment environment variables.
tracing-upstream-lineage
Trace upstream data lineage. Use when the user asks where data comes from, what feeds a table, upstream dependencies, data sources, or needs to understand data origins.
tracing-downstream-lineage
Trace downstream data lineage and impact analysis. Use when the user asks what depends on this data, what breaks if something changes, downstream dependencies, or needs to assess change risk before modifying a table or DAG.
setting-up-astro-project
Initialize and configure Astro/Airflow projects. Use when the user wants to create a new project, set up dependencies, configure connections/variables, or understand project structure. For running the local environment, see managing-astro-local-env.
profiling-tables
Deep-dive data profiling for a specific table. Use when the user asks to profile a table, wants statistics about a dataset, asks about data quality, or needs to understand a table's structure and content. Requires a table name.
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.
managing-astro-local-env
Manage local Airflow environment with Astro CLI (Docker and standalone modes). Use when the user wants to start, stop, or restart Airflow, view logs, query the Airflow API, troubleshoot, or fix environment issues. For project setup, see setting-up-astro-project.
managing-astro-deployments
Manage Astronomer production deployments with Astro CLI. Use when the user wants to authenticate, switch workspaces, create/update/delete deployments, or deploy code to production.
deploying-airflow
Deploy Airflow DAGs and projects. Use when the user wants to deploy code, push DAGs, set up CI/CD, deploy to production, or asks about deployment strategies for Airflow.