# CSV Quality Auditor

> Audit CSV and delimiter-separated text files for blank or duplicate headers, inconsistent row widths, and fully empty data rows. Use when validating CSV structure before import, debugging malformed tabular exports, checking data handoffs, or producing a machine-readable quality report without third-party packages.

- Skill: `qwqqwqis666/csv-quality-auditor` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add qwqqwqis666/csv-quality-auditor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qwqqwqis666/csv-quality-auditor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: qwqqwqis666 (https://skillmd.com/u/qwqqwqis666)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/qwqqwqis666/csv-quality-auditor

---


# CSV Quality Auditor

Audit a delimited file with the bundled standard-library CLI and interpret its
exit status before using the data downstream.

## Workflow

1. Choose the delimiter. Omit `--delimiter` for comma-separated input; otherwise
   pass `comma`, `semicolon`, `tab`, a literal `\t`, or one custom character.
2. Run:

   ```bash
   python scripts/audit_csv.py INPUT [--delimiter DELIM] [--json]
   ```

3. Treat exit `0` as clean, exit `1` as completed with quality issues, and exit
   `2` as a usage, read, decoding, or CSV parse failure.
4. Use `--json` for automation. Read `issues` rather than scraping human output.
5. Report issue codes, logical row numbers, and messages. Do not claim the file
   is clean when the command failed with exit `2`.

## Interpretation

- `row_count` counts data records and excludes the header.
- `column_count` is the header width.
- Row `1` is the header; data records begin at row `2`.
- Empty rows are classified as `empty_row` and are not also reported as width
  mismatches.

Read [references/rules.md](references/rules.md) when exact rule semantics or
JSON behavior matter.

