data-cleaner
Opinionated data cleaning pipeline builder for tabular datasets.
Skill by tezansahu
Chalk Labs
Need help deploying data-cleaner?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tezansahu-data-cleaner
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/data-cleaner
What's inside
- Skill name
data-cleaner- Description
- Opinionated data cleaning pipeline builder for tabular datasets. Trigger when the user asks to "clean this data", "fix this dataset", "handle missing values", "remove duplicates", "preprocess this data", "data wrangling", "normalize columns", "fix data types", "data quality", or provides messy data that needs cleaning before analysis or modeling. Also triggers on "prepare this data for modeling", "data preprocessing pipeline". Detects column types, handles missing values with strategy recommendations, normalizes strings, fixes date parsing, deduplicates rows, and outputs clean data plus a cleaning report.
- License
- GPL-3.0
- Instructions
- 174 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Data Cleaner
Build a systematic, documented data-cleaning pipeline that turns raw data into analysis-ready datasets.
---
## Workflow
```
1. Load and profile raw data
2. Fix data types
3. Handle missing values
4. Clean string columns
5. Handle duplicates
6. Detect and handle outliers (optional)
7. Validate and export clean data
8. Generate cleaning report
```
---
## Step 1 -- Load and Profile
Use the `eda-autopilot` skill's `profile_data.py` if available, otherwise:
```python
df = pd.read_csv(path)
print(f"Shape: {df.shape}")
print(df.dtypes)
print(df.isnull().sum())
print(df.describe())
```
---
## Step 2 -- Fix Data Types
| Symptom | Fix |
|---|---|
| Numeric column stored as `object` | `pd.to_numeric(col, errors='coerce')` |
| Date column stored as `object` | `pd.to_datetime(col, errors='coerce', infer_datetime_format=True)` |
| Boolean stored as `0/1` int | `col.astype(bool)` if semantically boolean |
| Category with few unique values | `col.astype('category')` |
| ID columns as numeric | Keep as `str` -- never aggregate IDs |
Always log type changes:
```python
cleaning_log = []
cleaning_log.append({"column": col, "action": "type_cast", "from": "object", "to": "float64", "affected_rows": n})
```
---
## Step 3 -- Handle Missing Values
### Decision Framework
| Scenario | Strategy |
|---|---|
| <5% missing, numeric | Median imputation |
| <5% missing, categorical | Mode imputation |
| 5-30% missing, numeric | Median imputation + add `_is_missing` indicator column |
| 5-30% missing, categorical | Mode imputation + add `_is_missing` indicator column |
| >30% missing | Recommend dropping column (flag for user review) |
| MNAR pattern suspected | Flag for domain expert -- do not auto-impute |
| Entire row mostly empty (>50% null) | Drop row |
### Implementation
```python
for col in df.columns:
pct = df[col].isnull().mean()
if pct > 0.3:
cleaning_log.append({"column": col, "action": "drop_column", "reason": f"{pct:.0%} missing"})
df.drop(columns=[col], inplace=True)
elif pct > 0.05:
df[f"{col}_is_missing"] = df[col].isnull().astype(int)
fill_val = df[col].median() if pd.api.types.is_numeric_dtype(df[col]) else df[col].mode()[0]
df[col].fillna(fill_val, inplace=True)
elif pct > 0:
fill_val = df[col].median() if pd.api.types.is_numeric_dtype(df[col]) else df[col].mode()[0]
df[col].fillna(fill_val, inplace=True)
```
---
## Step 4 -- Clean String Columns
Apply to all `object` / `string` dtype columns:
1. **Strip whitespace**: `.str.strip()`
2. **Normalize case**: `.str.lower()` (unless case is semantically meaningful)
3. **Replace multiple spaces**: `.str.replace(r'\s+', ' ', regex=True)`
4. **Standardize missing representations**: Replace `"", "N/A", "n/a", "NA", "null", "None", "-", "?"` with `np.nan`
5. **Trim excessive length**: Flag strings > 500 chars as potential data entry errors
For categorical columns with near-duplicates (e.g., "New York" vs "new york" vs "NEW YORK"):
```python
col = col.str.lower().str.strip()
```
---
## Step 5 -- Handle Duplicates
```python
dupes = df.duplicated()
n_dupes = dupes.sum()
if n_dupes > 0:
# Log before removing
cleaning_log.append({"action": "remove_duplicates", "rows_removed": int(n_dupes)})
df = df.drop_duplicates()
```
For partial duplicates (same on key columns but differ on others):
- Ask user which columns define uniqueness.
- Keep first occurrence by default, or most recent if a timestamp exists.
---
## Step 6 -- Outlier Handling (Optional)From tezansahu/ai-garage, GPL-3.0.
More from tezansahu/ai-garage
- 0.605score
insight-extractor
tezansahu
Extract key, actionable insights from knowledge resources and save as structured markdown files in the knowledge/insights/ folder.
SkillBFreshness: B★ 16Claude Code +9 - 0.605score
generate-structurizr-c4-diagram
tezansahu
Generate C4 software-architecture diagrams in Structurizr DSL from a codebase, folder(s), a description, docs, or an existing diagram, then render them in the…
SkillBFreshness: B★ 16Claude Code +9 - 0.605score
arxiv-submission
tezansahu
Submit a paper to arXiv as a preprint.
SkillBFreshness: B★ 16Claude Code +9 - 0.602score
evaluate-skill-with-copilot-sdk
tezansahu
Evaluate a skill with the GitHub Copilot SDK — measure its triggering accuracy and compare its output quality against a no-skill baseline.
SkillBFreshness: B★ 16Claude Code +9 - 0.580score
skill-creator
tezansahu
Create new skills, modify and improve existing skills, and measure skill performance.
SkillBFreshness: B★ 16Claude Code +9 - 0.575score
tdd
tezansahu
Test-driven development.
SkillBFreshness: B★ 16Claude Code +9 - 0.572score
to-spec
tezansahu
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
SkillBFreshness: B★ 16Claude Code +9 - 0.572score
to-tickets
tezansahu
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker —…
SkillBFreshness: B★ 16Claude Code +9 - 0.564score
implement
tezansahu
Implement a piece of work based on a spec or set of tickets.
SkillBFreshness: B★ 16Claude Code +9 - 0.555score
stats-advisor
tezansahu
Recommend and execute the right statistical test for a given question, with plain-English interpretation.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
eda-autopilot
tezansahu
Perform comprehensive Exploratory Data Analysis on any tabular dataset (CSV, Parquet, Excel, or database table).
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
llm-app-builder
tezansahu
Scaffold and build LLM-powered applications -- RAG pipelines, agentic workflows, structured output chains, tool-calling agents, and chatbot interfaces.
SkillCFreshness: C★ 16Claude Code +9
Signals
- Stars
- 16
- Forks
- 8
- Open issues
- 1
- Last commit (this folder)
- Jul 7, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- Repository
- github.com/tezansahu/ai-garage
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tezansahu
- 0.605score
generate-structurizr-c4-diagram
tezansahu
Generate C4 software-architecture diagrams in Structurizr DSL from a codebase, folder(s), a description, docs, or an existing diagram, then render them in the…
SkillBFreshness: B★ 16Claude Code +9 - 0.605score
insight-extractor
tezansahu
Extract key, actionable insights from knowledge resources and save as structured markdown files in the knowledge/insights/ folder.
SkillBFreshness: B★ 16Claude Code +9 - 0.605score
arxiv-submission
tezansahu
Submit a paper to arXiv as a preprint.
SkillBFreshness: B★ 16Claude Code +9 - 0.602score
evaluate-skill-with-copilot-sdk
tezansahu
Evaluate a skill with the GitHub Copilot SDK — measure its triggering accuracy and compare its output quality against a no-skill baseline.
SkillBFreshness: B★ 16Claude Code +9 - 0.580score
skill-creator
tezansahu
Create new skills, modify and improve existing skills, and measure skill performance.
SkillBFreshness: B★ 16Claude Code +9 - 0.575score
tdd
tezansahu
Test-driven development.
SkillBFreshness: B★ 16Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get data-cleaner running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
data-cleaner skill. Agent Mart. https://agentmart.dev/skills/tezansahu-data-cleaner (last updated 2026-10-24)