ASD

Airflow Dag Patterns

Construye DAGs de Apache Airflow listos para producción con buenas prácticas para operadores, sensores, testing y despliegue.

Estrellas
38.8k

en todo el repo

Actividad
47

0–100, la ruta de este skill

Actualizado
hace 2 meses

último commit aquí

Commits
1

últimos 90 días

Contexto
784 tok

48 tok en reposo

Paquete
2 archivos

14 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill airflow-dag-patterns --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Proporciona patrones para diseñar DAGs de Apache Airflow con operadores, sensores y dependencias de tareas
  • Da ejemplos de código listos como plantilla de DAG con default_args, retries y TaskFlow API
  • Incluye buenas y malas prácticas para producción (idempotencia, timeouts, sensores en modo reschedule)

Úsalo cuando

  • Crear orquestación de pipelines de datos con Airflow
  • Diseñar estructuras de DAG y dependencias
  • Implementar operadores y sensores personalizados
  • Testear DAGs de Airflow localmente o depurar ejecuciones fallidas

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Ayúdame a crear un DAG de Airflow para un pipeline ETL diario
    • ¿Cómo estructuro dependencias fan-out en Airflow?
    • Necesito testear localmente mis DAGs de Airflow

    SKILL.md

    En inglés

    Apache Airflow DAG Patterns

    Production-ready patterns for Apache Airflow including DAG design, operators, sensors, testing, and deployment strategies.

    When to Use This Skill

    • Creating data pipeline orchestration with Airflow
    • Designing DAG structures and dependencies
    • Implementing custom operators and sensors
    • Testing Airflow DAGs locally
    • Setting up Airflow in production
    • Debugging failed DAG runs

    Core Concepts

    1. DAG Design Principles

    Principle Description
    Idempotent Running twice produces same result
    Atomic Tasks succeed or fail completely
    Incremental Process only new/changed data
    Observable Logs, metrics, alerts at every step

    2. Task Dependencies

    # Linear
    task1 >> task2 >> task3
    
    # Fan-out
    task1 >> [task2, task3, task4]
    
    # Fan-in
    [task1, task2, task3] >> task4
    
    # Complex
    task1 >> task2 >> task4
    task1 >> task3 >> task4
    

    Quick Start

    # dags/example_dag.py
    from datetime import datetime, timedelta
    from airflow import DAG
    from airflow.operators.python import PythonOperator
    from airflow.operators.empty import EmptyOperator
    
    default_args = {
        'owner': 'data-team',
        'depends_on_past': False,
        'email_on_failure': True,
        'email_on_retry': False,
        'retries': 3,
        'retry_delay': timedelta(minutes=5),
        'retry_exponential_backoff': True,
        'max_retry_delay': timedelta(hours=1),
    }
    
    with DAG(
        dag_id='example_etl',
        default_args=default_args,
        description='Example ETL pipeline',
        schedule='0 6 * * *',  # Daily at 6 AM
        start_date=datetime(2024, 1, 1),
        catchup=False,
        tags=['etl', 'example'],
        max_active_runs=1,
    ) as dag:
    
        start = EmptyOperator(task_id='start')
    
        def extract_data(**context):
            execution_date = context['ds']
            # Extract logic here
            return {'records': 1000}
    
        extract = PythonOperator(
            task_id='extract',
            python_callable=extract_data,
        )
    
        end = EmptyOperator(task_id='end')
    
        start >> extract >> end
    

    Detailed patterns and worked examples

    Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

    Best Practices

    Do's

    • Use TaskFlow API - Cleaner code, automatic XCom
    • Set timeouts - Prevent zombie tasks
    • Use mode='reschedule' - For sensors, free up workers
    • Test DAGs - Unit tests and integration tests
    • Idempotent tasks - Safe to retry

    Don'ts

    • Don't use depends_on_past=True - Creates bottlenecks
    • Don't hardcode dates - Use {{ ds }} macros
    • Don't use global state - Tasks should be stateless
    • Don't skip catchup blindly - Understand implications
    • Don't put heavy logic in DAG file - Import from modules

    Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

    Archivos

    2 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere un entorno de Apache Airflow configurado (por ejemplo con acceso a `dags/`).

    Detalles

    Creador
    wshobson
    Licencia
    MIT
    Recursos incluidos
    referencias
    Repositorio
    wshobson/agents
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de wshobson/agents

    Este repo incluye 180 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo al seleccionar y colocar iconos, imágenes, SVGs, diagramas o infografías de apoyo aprobados en un PPTX editable.

    Costo de contexto al activarse
    344 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    el mes pasado
    herramientas desarrollo

    Úsalo al redactar o reparar una especificación JSON con coordenadas explícitas para un PPTX editable.

    Costo de contexto al activarse
    489 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para validar o reparar un PPTX editable en cuanto a geometría, accesibilidad, editabilidad nativa, linaje de fuente e integridad del paquete OOXML.

    Costo de contexto al activarse
    409 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para analizar un PPTX de referencia en modo solo lectura: estructura, tema, tipografía, ritmo de layout, diagnósticos, catálogos de plantillas derivados o inspección segura del paquete OOXML.

    Costo de contexto al activarse
    689 tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo al preparar la narrativa, las fuentes y el contexto de diseño para un nuevo deck PPTX editable.

    Costo de contexto al activarse
    415 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Skills relacionados

    Configura Turborepo para builds de monorepo eficientes con caché local y remota. Útil al configurar Turborepo, optimizar pipelines de build o implementar caching distribuido.

    Costo de contexto al activarse
    2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    devops infraestructura

    Implementa observabilidad integral para service meshes, incluyendo tracing distribuido, métricas y visualización. Útil para monitoreo de mesh, depuración de latencia y SLOs.

    Costo de contexto al activarse
    708 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura

    Define e implementa Indicadores (SLI) y Objetivos (SLO) de nivel de servicio con error budgets y alertas, para establecer metas de fiabilidad y prácticas SRE.

    Costo de contexto al activarse
    1.8k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    devops infraestructura