Build an ETL/data pipeline that extracts, transforms, and loads data idempotently
Scanned 9/3/2026
Install to Claude Code
npx -y skills add black141312/ada --skill etl-pipeline --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Etl Pipeline?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/black141312-etl-pipeline)More formats (shields.io, HTML) on the badges page.
---
name: etl-pipeline
description: Build an ETL/data pipeline that extracts, transforms, and loads data idempotently
category: data-ml
---
# ETL Pipeline
Reach for this when moving data between systems (files, APIs, databases, warehouses) on a schedule or one-shot, and you need it to be re-runnable without duplicating or corrupting data.
1. Pin down source and sink contracts: schema, primary keys, volume, update frequency, and whether the source is append-only or mutable.
2. Split the job into explicit extract, transform, and load stages so each can be tested and re-run in isolation.
3. Make loads idempotent: upsert on a natural/surrogate key, or stage-then-swap, so a re-run never double-writes.
4. Process incrementally using a watermark (updated_at, sequence id, or partition) and persist the high-water mark after a successful load.
5. Validate row counts and key invariants between stages; fail loud and stop before loading bad data downstream.
6. Add structured logging and a dead-letter path for bad records, then wire retries with backoff on transient failures.
7. Make the run parameterized (date range, env) and schedulable via cron/Airflow/Prefect rather than hardcoded.
## Rules
- Never mutate the source; treat raw extracts as immutable and transform into a separate layer.
- Idempotency is non-negotiable — assume every run can be retried or run twice.
- Keep transforms pure and deterministic; isolate I/O so logic is unit-testable without the network.
- Checkpoint the watermark only after the load commits, never before.
- Surface partial failures explicitly; a green exit code must mean the data is actually correct.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!