data-engineering

Build idempotent data pipelines converting CSV to Parquet with schema validation.

8|1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/drewid74/ai_skills --skill data-engineering-drewid74
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-engineering
Source: https://github.com/drewid74/ai_skills/tree/main/data-engineering
Command: npx skills add https://github.com/drewid74/ai_skills --skill data-engineering-drewid74

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the problem of fragile data pipelines that break on re-runs, silently accept bad data, and make it hard to reliably transform messy inputs into analytics-ready datasets.

Core Features & Use Cases

  • Idempotent pipeline design: Ensures rerunning produces identical output via upsert or date-range overwrite.
  • Schema validation at ingestion: Uses Pydantic to validate and logs failures instead of silently dropping bad records.
  • Efficient formats for analytics: Converts CSV to Parquet and supports DuckDB to query Parquet without loading it all into memory.
  • Deduplication and quality gates: Applies deduplication on business keys and verifies row counts with explicit expectations.

Quick Start

Use data-engineering to design and implement an idempotent pipeline that validates incoming CSV schema, deduplicates records by business key, converts to Parquet, and verifies row counts when re-run on a recurring schedule.

Frequently Asked Questions about data-engineering

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a data pipeline that remains stable across reruns and messy inputs?

Idempotent pipeline design ensures reruns produce identical output via upsert or date-range overwrite. Schema validation at ingestion catches messy inputs by logging failures, while deduplication on business keys prevents duplicate records from corrupting downstream analytics.

What is the best way to validate CSV schema and convert to Parquet for analytics?

Schema validation at ingestion uses Pydantic to validate CSV inputs and log failures explicitly. Converting validated CSV data to Parquet format enables efficient analytics, allowing DuckDB to query Parquet files directly without loading them entirely into memory.

Can I use DuckDB to query Parquet files that exceed available memory?

DuckDB can query Parquet files that exceed available memory by processing data in batches without loading entire files. This makes it suitable for analytics workflows where large Parquet datasets need filtering, aggregation, or joining without full memory consumption.

How do I handle schema drift and validation errors in a recurring data pipeline?

Handle schema drift and validation errors by applying schema validation at ingestion using Pydantic to log failures rather than silently dropping records. Drift detection identifies evolving schemas, while verification gates validate row counts against explicit expectations during recurring pipeline reruns.

How do I deduplicate records by business key in an idempotent pipeline?

Deduplicate records by business key by applying explicit deduplication rules during the transformation stage. Verification gates then check resulting row counts against expectations, ensuring duplicates are removed and output remains stable and consistent across pipeline reruns.

When do I need idempotency and quality gates in a data engineering pipeline?

Idempotency and quality gates are needed when pipelines run on recurring schedules or process messy inputs. Idempotency ensures identical output across reruns, while quality gates verify row counts and enforce deduplication, preventing silent data corruption in analytics workflows.