# Etl Pipelines

> Construye pipelines ETL/ELT con Pandas: extracción, transformación y carga de datos con logging, manejo de errores, idempotencia y opciones de orquestación.

- Skill: `leandrobenjaminl/etl-pipelines` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds add leandrobenjaminl/etl-pipelines`
- Raw SKILL.md: https://api.skillmd.com/api/skills/leandrobenjaminl/etl-pipelines/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector WARNING)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics, DevOps & Infra, ETL & Pipelines
- Tags: Dagster, Data Pipeline, Elt, Etl, Orchestration, Pandas, Prefect, Python
- License: MIT
- Author: LeandroBenjaminL (https://skillmd.com/u/leandrobenjaminl)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/leandrobenjaminl/etl-pipelines

---


# Skill: etl-pipelines

Pipelines ETL. Que los datos fluyan solos y no se rompan los viernes.

## Trigger

- Necesitás procesar archivos regularmente (diario, semanal)
- Los datos vienen de múltiples fuentes y hay que unificarlos
- Querés automatizar transformaciones que hoy hacés a mano
- El proceso manual ya no escala

## Workflow LEND

```
1. ANALIZAR
   ├── Fuentes: ¿archivos, APIs, DBs, web scraping?
   ├── Frecuencia: one-shot, diaria, tiempo real
   ├── Volumen: ¿MB, GB? ¿crece con el tiempo?
   └── Destino: ¿DB, data lake, CSV, dashboard?

2. OFRECER (Menú del Senior)
   ├── A) Script Python simple — Pandas pipeline, schedule con cron
   ├── B) Pipeline modular — extract + transform + load como funciones separadas
   └── C) Orquestación — Prefect / Dagster con monitoreo, retries, logging

3. ELEGIR → confirmación

4. HACER
   ├── Extraer: leer de fuente (CSV, API, DB), validar que llegaron datos
   ├── Transformar: limpiar, tipar, unificar, calcular
   ├── Cargar: escribir a destino (DB, archivo, API)
   ├── Logging: cada etapa loguea filas procesadas, errores, duración
   ├── Error handling: try/except con reintentos y notificación
   └── Schedule: cron para scripts, scheduler para orquestadores

5. VERIFICAR
   ├── El pipeline corre de principio a fin sin errores
   ├── Los datos cargados coinciden con los datos fuente (mismo count)
   └── Si falla, el error es claro y hay un mecanismo de alerta
```

## Patrones

- **ETL vs ELT**: ETL si transformás antes de cargar. ELT si cargás crudo y transformás en destino.
- **Pipeline idempotente**: correrlo dos veces da el mismo resultado (upsert, no insert duplicado)
- **Logging**: cada etapa registra: qué entró, qué salió, cuánto tardó, errores
- **Incremental**: procesar solo lo nuevo en vez de todo siempre
- **Checkpoint**: guardar el estado para poder retomar desde donde falló

## Anti-patrones

- ❌ Pipeline no idempotente — correrlo dos veces duplica datos
- ❌ Sin logging — cuando falla no sabés en qué paso
- ❌ Todo en un solo script de 500 líneas — partí en etapas
- ❌ Sin manejo de errores — un timeout de API mata todo el pipeline
- ❌ Procesar todo siempre — si solo cambiaron 10 filas, no proceses 10M

