Clean and standardize messy tabular data (CSV, spreadsheet paste, system exports) into an analysis-ready dataset — consistent dates and names, typed columns, duplicates identified, missing values handled explicitly. Use when the user says "clean this data", "standardize this CSV", "dedupe this list", or pastes a table with inconsistent formatting.
Scanned 8/30/2026
Install to Claude Code
npx -y skills add sgharlow/claude-code-recipes --skill data-cleanup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Data Cleanup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sgharlow-data-cleanup)More formats (shields.io, HTML) on the badges page.
---
name: data-cleanup
description: Clean and standardize messy tabular data (CSV, spreadsheet paste, system exports) into an analysis-ready dataset — consistent dates and names, typed columns, duplicates identified, missing values handled explicitly. Use when the user says "clean this data", "standardize this CSV", "dedupe this list", or pastes a table with inconsistent formatting.
---
# Data Cleanup and Formatting
Standardize messy tabular data without ever silently changing what it says. Every
transformation is declared; every ambiguous value is surfaced, not guessed.
## Steps
1. Get the data (file path or paste) and profile it first: row count, columns, detected
types, distinct-value oddities (mixed date formats, case-inconsistent names, stray
whitespace, mixed types in one column), missing-value counts, and candidate duplicates.
Present this profile BEFORE changing anything.
2. Propose the cleanup plan as a checklist the user confirms: target date format, name
casing, type per column, duplicate rule (exact vs. fuzzy key), and missing-value policy
per column (leave blank / fill with sentinel / drop row — never a silent default).
3. Apply the confirmed plan. For anything ambiguous (is `02/03/24` Feb 3 or Mar 2? are
"J. Smith" and "John Smith" the same person?), stop and ask — wrong-but-tidy is worse
than messy.
4. Deliver: the cleaned dataset, plus a transformation log — rows in/out, per-column changes
applied, duplicates found (listed, not just deleted), missing values and how each was
handled, and any rows quarantined as unparseable rather than mangled.
5. Verify: spot-check that no value changed meaning (dates shifted, names merged wrongly);
re-state the row count arithmetic (in = out + dropped + quarantined) so nothing vanishes.
## Constraints
- Never delete or merge rows without listing exactly which ones and why.
- Never guess an ambiguous date, unit, or identity — ask.
- The original input is never overwritten; cleaned output is a new file/table.
- If the data is too large to show fully, show the profile + a sample and operate via a
script the user can inspect, not invisible edits.
Full walkthrough, examples, and variations: `recipes/Recipe-009-Data-Cleanup-Formatting.md`.
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!