Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.
Install with Tessl CLI
npx tessl i github:wshobson/agents --skill airflow-dag-patterns82
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillAgent success when using this skill
Validation for skill structure
Production DAG default_args and retry configuration
retries=3
100%
100%
retry_delay 5 min
100%
0%
Exponential backoff
100%
100%
max_retry_delay 1h
100%
0%
email_on_failure True
0%
0%
email_on_retry False
100%
100%
catchup=False
100%
100%
max_active_runs=1
100%
100%
No depends_on_past
100%
100%
Task failure callback
100%
100%
DAG failure callback
100%
100%
No hardcoded date
80%
70%
schedule= syntax
100%
100%
Without context: $0.2329 · 54s · 10 turns · 10 in / 3,569 out tokens
With context: $0.5180 · 1m 37s · 20 turns · 268 in / 5,208 out tokens
Sensor patterns, branching, and trigger rules
TaskFlow @dag decorator
100%
100%
TaskFlow @task decorator
100%
100%
@task.sensor used
100%
100%
Sensor mode=reschedule
100%
100%
Sensor timeout set
100%
100%
Sensor poke_interval set
100%
100%
BranchPythonOperator used
87%
100%
Join trigger rule
100%
100%
Cleanup trigger rule
100%
100%
PokeReturnValue returned
100%
100%
Without context: $0.6989 · 3m 2s · 23 turns · 23 in / 10,764 out tokens
With context: $1.0355 · 3m 48s · 34 turns · 282 in / 12,115 out tokens
DAG testing, project structure, and dynamic generation
Factory function
100%
100%
globals() registration
100%
100%
Config-driven clients
100%
100%
Logic in common module
100%
100%
DAG file stays thin
100%
100%
DagBag fixture
100%
100%
include_examples=False
100%
100%
Import error test
100%
100%
Cycle detection test
71%
85%
Structural assertion
100%
100%
Without context: $0.9798 · 3m 30s · 37 turns · 661 in / 10,091 out tokens
With context: $1.5163 · 4m 49s · 51 turns · 48 in / 16,881 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.