clean-datalisted
Install: claude install-skill haroExplorium/sales-skills-for-claude-code-clean-data
# Clean Data
Per-row cleanup on a GTM list before any Explorium match or enrich call. Profile, standardize, validate. Never destructive: raw input is preserved, invalid rows are tagged with reason codes rather than deleted. Out of scope: deduplication and canonical entity resolution (that is what `match-business` and `match-prospects` are for).
## Input
`$ARGUMENTS` is a path to a CSV, Excel, or JSON file. Parse the user message for optional sub-inputs:
- Schema hints if column names are ambiguous: which column is company name, domain, email, phone, country.
- Entity type: companies, contacts, or both. Default: infer from columns.
- Whether to run an MX-record check on email domains (slower, requires DNS). Default: off.
- Whether to produce a match-ready subset for downstream `match-business` or `match-prospects`. Default: no.
Example phrasings:
- "Clean this leads CSV before I import it to HubSpot."
- "Normalize the company names and domains in /path/accounts.xlsx."
- "Validate the emails in this file and tag the bad rows."
- "Prep this list for match-prospects, only keep contactable corporate rows."
- "Why does my country column have 200 different spellings."
## Workflow
1. **Copy raw input.** Before any transform, copy the input to `./00_raw/<filename>` and never write back. All transforms write to numbered phase folders: `01_profiled/`, `02_standardized/`, `03_validated/`. This is non-negotiable: the single most common failure mode in cleanup work is destructive t