
Data Cleaner
Clean a dataset without silently corrupting it — profile first, log every transform, keep the original, reconcile row counts.
v1.0.0 · ~629 tokens · ⬇ 0 · Updated July 6, 2026
What it does
Cleans/validates a messy dataset deliberately: profile first (types, missing %, distributions, odd values), then handle types, missing values, duplicates, outliers, and inconsistencies with an explicit logged rule for each. Never drops/imputes silently, investigates outliers before removing, keeps the raw data and a reproducible script, and reconciles row-count in vs out.
Example uses
Clean a messy CRM export
A CRM export has mixed date formats, duplicate contacts, and currency strings that break your analysis.
Clean this CRM contacts export (contacts.csv, about 48,000 rows): signup dates in both MM/DD/YYYY and ISO format, deal values stored as strings like "$1,234.50", and duplicate contacts with slightly different name spellings. Profile it first, then write a reproducible pandas script that logs every transform and reconciles row count in versus out — and never overwrite the original file.Handle missing values deliberately
A dataset has columns with 4% to 60% missing values and you need a defensible per-column decision before analysis.
This churn dataset has missing values in 9 columns, ranging from 4% (last_login) to 62% (referral_source). For each column, recommend drop, impute, or flag — with the reasoning — then apply the decisions in a logged script. Flag any column where the choice could change the churn conclusion so a human can sign off before we run the analysis.Investigate outliers before removal
Revenue data contains extreme values and you do not know if they are entry errors or your biggest customers.
In orders.csv, 23 orders are above $50,000 while the median order is $180. Before removing anything, investigate: check whether the outliers cluster on specific accounts, dates, or a missing-decimal pattern, and give me a table with each outlier, your error-versus-legitimate verdict, and the evidence. Only then propose what to exclude — flagged, not silently deleted.Install
# 1. Create the skill folder in your Claude setup mkdir -p ~/.claude/skills/data-cleaner # 2. Download SKILL.md into it (or move the file you just downloaded) # → ~/.claude/skills/data-cleaner/SKILL.md # 3. Claude Code auto-discovers it on next launch.
Inside the skill
---
name: data-cleaner
description: Clean and validate a messy dataset — types, missing values, duplicates, outliers, inconsistencies — without silently corrupting it. Use when prepping data for analysis/import, on a "the data is dirty" task, or asked "clean this dataset", "validate this data", "fix these records". Every transform is explicit and reversible.
---
# Data Cleaner
Dirty data produces confident wrong answers. Clean it deliberately — every change logged,
nothing dropped silently, the original kept. A "cleaned" dataset you can't trust is worse than a dirty one you can.
## Profile first (understand before changing)
- Shape: rows, columns, types (what each column ACTUALLY is vs what it should be).
- Per column: % missing, unique count, min/max/distribution, sample of odd values.
- The point: know what "dirty" means HERE before you touch anything.
## Clean deliberately (log every decision)
- **Types**: coerce to the right type; a "number" column with `"1,234"` or `"N/A"` needs a
rule, not silent `NaN`. Decide and record the rule.
- **Missing values**: decide per column — drop the row, impute (mean/median/mode/forward-fill),
or flag. Never impute silently on data that will be analyzed; the choice changes conclusions.
- **Duplicates**: define what "duplicate" means (exact row? same key?) before dropping. Log how many.
- **Outliers**: investigate before removing — an outlier can be the most important row (fraud,
the bug, the whale customer) or a data-entry error. Don't auto-delete; flag and decide.
- **Inconsistencies**: normalize categories ("USA"/"U.S."/"United States"), trim whitespace,
fix encodings, standardize dates/units. Keep a mapping of what merged into what.
## Safeguards
- Keep the raw data; write cleaned output separately. Cleaning is never in-place on the source.
- Log every transform (what, how many rows affected, the rule). The cleaning IS documentation.
- Row count in vs out reconciles — if you lost 3,000 rows, that's a decision, not an accident.
## Rules
- Never drop or impute silently — every removed/changed value is a logged, defensible decision.
- Investigate outliers before deleting; the anomaly is sometimes the signal.
- Keep the original; a reproducible cleaning script beats a hand-edited file no one can re-derive.
## Output
The cleaning script/steps (reproducible), a log of each transform + rows affected, the row
count reconciliation, and flags for anything that needs a human call (ambiguous outliers, high-missing columns).
Changelog
- v1.0.02026-07-03Initial clean-room write.
Frequently asked questions
Is Data Cleaner free?
Yes. Data Cleaner is free to download and MIT-licensed.
Where do I install Data Cleaner?
Place the SKILL.md file in ~/.claude/skills/data-cleaner/ and Claude Code auto-discovers it on next launch.
How many tokens does Data Cleaner use?
About 629 tokens — it is designed to be token-lean.

We're developers and SaaS builders who use these tools daily in production. Every review comes from hands-on experience building real products — DealPropFirm, ThePlanetIndicator, PropFirmsCodes, and many more. We don't just review tools — we build and ship with them every day.
Written and tested by developers who build with these tools daily.