# Portaljs Check Data Quality

Audit a local or remote tabular file (CSV/TSV) for common data quality issues, schema...

- Repository: https://github.com/datopian/portaljs (2370 stars)
- Category: Data and ML
- License: MIT
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add datopian/portaljs --skill portaljs-check-data-quality -g -a claude-code -y`
Codex: `npx skills add datopian/portaljs --skill portaljs-check-data-quality -g -a codex -y`
Cursor: `npx skills add datopian/portaljs --skill portaljs-check-data-quality -g -a cursor -y`
Gemini CLI: `npx skills add datopian/portaljs --skill portaljs-check-data-quality -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add datopian/portaljs`

## Description

Audit a local or remote tabular file (CSV/TSV) for common data quality issues, schema, nulls, types, duplicates. Read-only. Use when a dataset needs a quality check before publishing, or a showcase renders wrong (blank cells, garbled numbers, an unsortable date column) and the cause needs isolating.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# PortalJS, Check Data Quality

## Overview

Run a read-only quality audit of one CSV or TSV file, local or remote, and return a
structured JSON report. The audit profiles every column, null/blank counts, inferred
value types, numeric ranges, likely year/date fields, and flags duplicate rows,
duplicate values in identifier-like columns, ambiguous overlapping year columns (e.g.
`calendar year` vs `fiscal year`), and mixed-type columns. It never edits the source
file, `datasets.json`, or any other project file; it only reads the target file (a
remote URL is downloaded to a temp file that is deleted before the run ends) and
prints a report. Use it before publishing a dataset with `portaljs-add-dataset`, or to
diagnose why a showcase renders wrong.

## Prerequisites

- `python3` on `PATH`, the audit logic runs as an embedded Python script; nothing is
  installed.
- One CSV or TSV file, given as a local path or an `http`/`https` URL. Only one file
  per run.

## Instructions

The canonical, full step-by-step workflow is
[`.claude/commands/portaljs-check-data-quality.md`](https://github.com/datopian/portaljs/blob/main/.claude/commands/portaljs-check-data-quality.md), the single source of truth. Read and follow it when executing. Summary:

The rest: https://github.com/datopian/portaljs/blob/HEAD/skills/portaljs-check-data-quality/SKILL.md
