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.
View on GitHubFebruary 1, 2026
Select agents to install to:
npx add-skill https://github.com/astronomer/agents/blob/main/skills/testing-dags/SKILL.md -a claude-code --skill testing-dagsInstallation paths:
.claude/skills/testing-dags/# DAG Testing Skill
Use `af` commands to test, debug, and fix DAGs in iterative cycles.
## Running the CLI
Run all `af` commands using uvx (no installation required):
```bash
uvx --from astro-airflow-mcp@latest af <command>
```
Throughout this document, `af` is shorthand for `uvx --from astro-airflow-mcp@latest af`.
---
## FIRST ACTION: Just Trigger the DAG
When the user asks to test a DAG, your **FIRST AND ONLY action** should be:
```bash
af runs trigger-wait <dag_id>
```
**DO NOT:**
- Call `af dags list` first
- Call `af dags get` first
- Call `af dags errors` first
- Use `grep` or `ls` or any other bash command
- Do any "pre-flight checks"
**Just trigger the DAG.** If it fails, THEN debug.
---
## Testing Workflow Overview
```
┌─────────────────────────────────────┐
│ 1. TRIGGER AND WAIT │
│ Run DAG, wait for completion │
└─────────────────────────────────────┘
↓
┌───────┴───────┐
↓ ↓
┌─────────┐ ┌──────────┐
│ SUCCESS │ │ FAILED │
│ Done! │ │ Debug... │
└─────────┘ └──────────┘
↓
┌─────────────────────────────────────┐
│ 2. DEBUG (only if failed) │
│ Get logs, identify root cause │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ 3. FIX AND RETEST │
│ Apply fix, restart from step 1 │
└─────────────────────────────────────┘
```
**Philosophy: Try first, debug on failure.** Don't waste time on pre-flight checks — just run the DAG and diagnose if something goes wrong.
---
## Phase 1: Trigger and Wait
Use `af runs trigger-wait` to test the DAG:
### Primary Method: Trigger and Wait
```bash
af runs trigger-wait <dag_id> --timeout 300
```
**Example:**
```bash
af runs trigger-wait my_dag --timeout 300
```
**Why this is the preferred method:**
- Single command handles trigg