What problem does it solve? Hand-edited spreadsheets and one-off data fixes cannot be re-run, reviewed, or trusted. This Skill turns data cleaning into versioned code: raw data stays immutable, every mutation is a counted stage, rejects go to a queryable lane, and the run ends with an exact row-level reconciliation. ## Core Features & Use Cases - Ordered cleaning stages: type coercion, structural fixes, value normalization, sentinel/null handling, deduplication, and validation, sequenced so each stage builds on the previous one's guarantees. - Reject lanes and reconciliation: failed coercions are counted and exported with reasons, and the final report proves raw = clean + rejects + deduped, to the row. - Reviewable mappings and drift gates: fuzzy matching only proposes candidates for a human-approved mapping table in git, and recurring feeds get drift checks via Great Expectations, pandera, or dbt tests. - Use Case: A monthly 200k-row vendor CSV arrives with mixed date formats, currency symbols in amounts, free-text vendor names, and 3% duplicate shipments. The pipeline cleans it as six scripted functions, rejects 1,882 unparseable rows back to the vendor, dedupes with a latest-file-date survivor rule, and catches a vendor schema change in month 3 via a null-rate drift gate. ## Quick Start Clean this messy CSV into an analysis-ready dataset as a reproducible scripted pipeline with a rejects file and a row-count reconciliation report.