— No reviews yet
0 installs
16 views
0.0% view→install
Install
$ agentstack add skill-danielrosehill-claude-data-wrangler-plugin-data-cleanliness-scan ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Are you the author of Data Cleanliness Scan? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claimAbout
Data Cleanliness Scan
Audit flat data files and flag issues that would block SQL ingestion or cause analytical errors.
When to invoke
- Before
sql-loadto catch issues early. - User asks "is this data clean?", "what's wrong with this dataset?", "will this load into Postgres?".
- After receiving a new data dump from an external source.
Checks performed
Per column
- Type consistency — in an
object/string column that should be numeric or date, flag rows that don't conform and report the fraction. - Mixed types — same column has ints, floats, strings, bools interleaved.
- Null sentinels — detect disguised nulls (
"N/A","null","-","","#N/A") that are not real NaN. - Date parsing — detect date-shaped strings; check for mixed formats (
DD/MM/YYYYvsMM/DD/YYYYvsYYYY-MM-DD). Flag ambiguous orderings. - Whitespace — leading/trailing whitespace, tab characters, non-breaking spaces in cells.
- Case inconsistency — for low-cardinality columns, report
{"Active": 42, "active": 17, "ACTIVE": 3}. - Encoding artefacts — mojibake patterns (
éforé,’for'). - Out-of-range values — negative ages, future dates in historical columns, percentages > 100.
- Outliers — > 5σ from mean for numeric columns (as a flag, not a removal recommendation).
- Nullability — columns that should be non-null (e.g. keys) with nulls present.
- Uniqueness — candidate key columns with duplicates.
- Length / format — codes with inconsistent length (e.g.
country_codemixingUSandUSA).
Per file
- Row count mismatch between header and data (for CSV).
- Delimiter drift — file declared CSV but some rows use semicolons.
- Ragged rows — different column counts per row.
- BOM presence — UTF-8 with BOM vs without.
- Line-ending mix — CRLF and LF interleaved.
Cross-column
- Referential integrity hints —
country_codepopulated butcountry_namenull, or vice versa. - Logical consistency —
end_date < start_date,total != sum(components)when components are present.
Procedure
- Determine input(s) — one or several flat files. Confirm formats and target.
- Run the checks above — use pandas for profiling; add
chardetfor encoding,dateutilfor date parsing attempts. - Rank findings by severity:
- Blocker — will definitely fail SQL ingestion (mixed types, ragged rows, duplicate PKs, invalid dates).
- High — likely to cause analytical errors (mixed date formats, disguised nulls, out-of-range values).
- Medium — inconsistencies that muddy results (case mismatch, whitespace, mojibake).
- Low — cosmetic (trailing whitespace in some cells).
- Produce the report
cleanliness_report.md:
- Executive summary — file names, row counts, blocker count, high count.
- Per-file section listing findings with severity, row count affected, sample cells (masked for PII), and recommended remediation skill (
standardise-country-names,text-to-numeric, etc.). - Optional JSON twin
cleanliness_report.jsonfor programmatic consumption.
- Offer to invoke remediation skills in the order suggested — but do not run them automatically.
Dependencies
pip install pandas pyarrow openpyxl chardet python-dateutil
Edge cases
- Very large files — sample strategically (first/last/random N rows + full-file aggregations via streaming). Note the sample size in the report.
- Heavily nested JSON — structural cleanliness (schema consistency across records) is the main check; recommend
json-restructureto flatten before deeper analysis. - Genuinely heterogeneous columns (e.g.
valuecolumn in an EAV table) — recognise the pattern and treat it differently rather than flagging as "mixed types". - False positives on outliers — outliers are not always errors. Report as observations, not defects; let the user decide.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: danielrosehill
- Source: danielrosehill/Claude-Data-Wrangler-plugin
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.