mcpbeat Sign in

Dataset Quality Audit Skill for Claude

Run comprehensive quality checks on tabular data (CSV/Excel/TSV/JSON), detecting missing values, duplicates, outliers, format issues, and type inconsistencies to produce an overall score, grade, and actionable suggestions. Triggered when users ask to check data quality, find missing or duplicate values, detect outliers, validate formats, profile data, or clean data.

8k tokens
context cost
the whole folder, loaded on every use
3
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
4468
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/zebbern/claude-code-guide --skill dataset-quality-audit

What comes with it

26 198 bytes besides the instruction
LICENSE
scripts/data_quality_checker.py

The instruction itself

9 sections, as written by the author

dataset-quality-audit

A data quality auditing tool that runs 12-dimension quality checks on tabular data, producing per-dimension scores (0–100), an overall grade, and actionable fix suggestions.

Capabilities

| Dimension | Description |

|-----------|-------------|

| Missing Values | Count and percentage of null/NaN values per column |

| Duplicate Rows | Number and percentage of fully duplicated rows |

| Type Consistency | Mixed types within a single column (e.g., numbers mixed with text) |

| Value Range / Outliers | Outlier detection using the IQR method |

| Format Compliance | Consistency of date, email, phone number, and other formatted fields |

| Uniqueness Constraints | Whether ID-type columns contain duplicates |

| Whitespace Issues | Leading/trailing spaces, empty strings, whitespace-only values |

| Constant Columns | Columns with only a single unique value (zero information) |

| Distribution Skewness | Whether numeric columns have excessive skewness |

| Column Naming | Spaces, special characters, or inconsistent casing in column names |

| Cardinality Anomalies | Unusually high or low number of unique values |

| Cross-Column Consistency | Logical checks across columns (e.g., start date before end date) |

Quick Start

# Basic quality check
python3 scripts/data_quality_checker.py data.csv

# Save report as JSON
python3 scripts/data_quality_checker.py data.csv --output report.json

# Specify ID columns (for uniqueness checks)
python3 scripts/data_quality_checker.py users.csv --id-columns "user_id,email"

# Specify date columns (for format checks)
python3 scripts/data_quality_checker.py orders.csv --date-columns "created_at,updated_at"

Detailed Usage

Basic Invocation

python3 scripts/data_quality_checker.py <data-file> [options]

Parameters

| Parameter | Short | Required | Default | Description |

|-----------|-------|----------|---------|-------------|

| input | — | Yes | — | Path to input file (CSV/TSV/Excel/JSON) |

| --output | -o | No | stdout | Path for the JSON report output |

| --id-columns | -id | No | Auto-detect | Comma-separated column names that should be unique |

| --date-columns | -dc | No | Auto-detect | Comma-separated column names containing dates |

| --sample | -s | No | All rows | Number of rows to sample (useful for large files) |

| --encoding | -e | No | utf-8 | File encoding |

Output Format (JSON)

{
  "file": "data.csv",
  "rows": 10000,
  "columns": 15,
  "overall_score": 78.5,
  "grade": "B",
  "dimensions": {
    "missing_values": {
      "score": 85.0,
      "issues": [
        {"column": "age", "missing_count": 150, "missing_pct": 1.5, "suggestion": "Fill with median or mode"}
      ]
    },
    "duplicates": {
      "score": 95.0,
      "issues": [...]
    }
  },
  "top_suggestions": [
    "Column 'age' has 1.5% missing values — consider filling with the median",
    "Found 200 fully duplicated rows — consider deduplication"
  ]
}

Grading Scale

| Grade | Score Range | Meaning |

|-------|------------|---------|

| A+ | 95–100 | Excellent quality — ready for use as-is |

| A | 90–95 | Good quality — minor issues only |

| B | 80–90 | Moderate quality — recommended to fix before use |

| C | 60–80 | Poor quality — significant cleaning required |

| D | 40–60 | Very poor quality — many issues need attention |

| F | 0–40 | Essentially unusable — requires re-collection or major cleanup |

Dependencies

  • Python 3.8+
  • pandas
  • numpy
pip install pandas numpy

Other skills for the same job

different authors, same section of the catalogue
Datacommons Client
by christophacham
×3

Work with Data Commons, a platform providing programmatic access to public statistical data from global sources. Use this skill when working with demographic data, economic indicators, health statistics, environmental data, or any public datasets available through Data Commons. Applicable for querying population statistics, GDP figures, unemployment rates, disease prevalence, geographic entity resolution, and exploring relationships between statistical entities.

9k tokens
Neuropixels Analysis
by christophacham
×3

Neuropixels neural recording analysis. Load SpikeGLX/OpenEphys data, preprocess, motion correction, Kilosort4 spike sorting, quality metrics, Allen/IBL curation, AI-assisted visual analysis, for Neuropixels 1.0/2.0 extracellular electrophysiology. Use when working with neural recordings, spike sorting, extracellular electrophysiology, or when the user mentions Neuropixels, SpikeGLX, Open Ephys, Kilosort, quality metrics, or unit curation.

36k tokens scripts
Polars
by christophacham
×3

Fast in-memory DataFrame library for datasets that fit in RAM. Use when pandas is too slow but data still fits in memory. Lazy evaluation, parallel execution, Apache Arrow backend. Best for 1-100GB datasets, ETL pipelines, faster pandas replacement. For larger-than-RAM data use dask or vaex.

20k tokens
Senior Data Scientist
by ComeOnOliver
×3

World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics. Expertise in Python (NumPy, Pandas, Scikit-learn), R, SQL, statistical methods, A/B testing, time series, and business intelligence. Includes experiment design, feature engineering, model evaluation, and stakeholder communication. Use when designing experiments, building predictive models, performing causal analysis, or driving data-driven decisions.

8k tokens scripts
Pyopenms
by ComeOnOliver
×3

Python interface to OpenMS for mass spectrometry data analysis. Use for LC-MS/MS proteomics and metabolomics workflows including file handling (mzML, mzXML, mzTab, FASTA, pepXML, protXML, mzIdentML), signal processing, feature detection, peptide identification, and quantitative analysis. Apply when working with mass spectrometry data, analyzing proteomics experiments, or processing metabolomics datasets.

28k tokens
Dask
by ComeOnOliver
×2

Parallel/distributed computing. Scale pandas/NumPy beyond memory, parallel DataFrames/Arrays, multi-file processing, task graphs, for larger-than-RAM datasets and parallel workflows.

35k tokens
Tensorboard
by Orchestra-Research
×1

Visualize training metrics, debug models with histograms, compare experiments, visualize model graphs, and profile performance with TensorBoard - Google's ML visualization toolkit

15k tokens
Datacommons Client
by BioTender-max
×1

Work with Data Commons, a platform providing programmatic access to public statistical data from global sources. Use this skill when working with demographic data, economic indicators, health statistics, environmental data, or any public datasets available through Data Commons. Applicable for querying population statistics, GDP figures, unemployment rates, disease prevalence, geographic entity resolution, and exploring relationships between statistical entities.

9k tokens

How to use it

Copy the folder

Take zebbern/dataset-quality-audit from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip. Without those the skill loads but fails at the first command.