mcpField
D
dataset-quality-audit

dataset-quality-audit

github.com/zebbernData & databases4.7k42 installsUpdated 1d ago
Repository

About dataset-quality-audit

A data quality auditing tool for tabular files, producing scores, an overall grade, and suggested fixes across 12 dimensions. It is for analysts and data teams checking datasets before use.

Key features

  1. 0112-dimension quality checks
  2. 02Scores and grades by dimension
  3. 03Overall quality score and grade
  4. 04Actionable fix suggestions
  5. 05CSV, TSV, Excel, and JSON input
  6. 06JSON report and row sampling

Use cases

  1. 01Audit a dataset before analysis
  2. 02Check ID columns for duplicate values
  3. 03Sample large files for quality issues
  4. 04Save findings as a JSON report

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/zebbern/claude-code-guide --skill dataset-quality-audit

After installing, type/dataset-quality-auditin Claude Code to confirm it loaded.

Bundled filesLICENSEscripts/data_quality_checker.py

Details

From the project README

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

DimensionDescription
Missing ValuesCount and percentage of null/NaN values per column
Duplicate RowsNumber and percentage of fully duplicated rows
Type ConsistencyMixed types within a single column (e.g., numbers mixed with text)
Value Range / OutliersOutlier detection using the IQR method
Format ComplianceConsistency of date, email, phone number, and other formatted fields
Uniqueness ConstraintsWhether ID-type columns contain duplicates
Whitespace IssuesLeading/trailing spaces, empty strings, whitespace-only values
Constant ColumnsColumns with only a single unique value (zero information)
Distribution SkewnessWhether numeric columns have excessive skewness
Column NamingSpaces, special characters, or inconsistent casing in column names
Cardinality AnomaliesUnusually high or low number of unique values
Cross-Column ConsistencyLogical 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
ParameterShortRequiredDefaultDescription
input—Yes—Path to input file (CSV/TSV/Excel/JSON)
--output-oNostdoutPath for the JSON report output
--id-columns-idNoAuto-detectComma-separated column names that should be unique
--date-columns-dcNoAuto-detectComma-separated column names containing dates
--sample-sNoAll rowsNumber of rows to sample (useful for large files)
--encoding-eNoutf-8File 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

GradeScore RangeMeaning
A+95–100Excellent quality — ready for use as-is
A90–95Good quality — minor issues only
B80–90Moderate quality — recommended to fix before use
C60–80Poor quality — significant cleaning required
D40–60Very poor quality — many issues need attention
F0–40Essentially unusable — requires re-collection or major cleanup

Dependencies

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

Comments

Markdown supported