dtcat
Skill1 starsChanged 59 days agoMITView on GitHub
View and analyze tabular data files (CSV, TSV, Parquet, Arrow/Feather, JSON, NDJSON, Excel) using dtcat. Use when the user asks to open, view, inspect, read, or analyze a data file in any of these formats, or when you encounter such a file that needs to be examined. Also use when converting between formats.
In this repository16 other files it gives its agents.
- debug-remote-pipelineSkill
- dictateSkill
- dtdiffSkill
- dtfilterSkill
- dtsetSkill
- esync-setupSkill
- hathifilesSkill
- hathitrust-lookupSkill
- julia-releaseSkill
- marginSkill
- mint-gh-tokenSkill
- nclqSkill
- pr-walkthroughSkill
- rendering-spec-docsSkill
- wrds-downloadSkill
- wrds-downloadSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 106
Run dtcat <file> to see the overview (schema + sample data)
- Very specific: line 108
Use --describe for statistical analysis
- Very specific: line 109
Use --head/--tail to zoom into specific regions, --sample for random rows
- Very specific: line 110
Use --csv when you need to pipe data to other tools
- Very specific: line 111
Use --convert to transform between formats (e.g., CSV to Parquet)
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
dtcat — Tabular Data File Viewer
View and analyze tabular data files at the command line. Supports CSV, TSV, Parquet, Arrow/Feather, JSON, NDJSON, and Excel. Outputs structured, LLM-friendly markdown.
Quick Reference
# Auto-detect format and show overview
dtcat data.csv
dtcat data.parquet
dtcat data.arrow
dtcat data.json
dtcat report.xlsx
# Column names and types only
dtcat data.parquet --schema
# Summary statistics per column
dtcat data.csv --describe
# File metadata (size, format, shape, sheets)
dtcat report.xlsx --info
# View a specific sheet (Excel only)
dtcat report.xlsx --sheet Revenue
# First/last N rows
dtcat data.csv --head 10
dtcat data.csv --tail 10
# Show all rows (override adaptive limit)
dtcat data.csv --all
# Random sample of rows
dtcat huge.parquet --sample 20
dtcat huge.parquet --sample 50 --csv
# Raw CSV output for piping
dtcat data.parquet --csv
# Convert between formats
dtcat data.csv --convert parquet -o data.parquet
dtcat report.xlsx --sheet Revenue --convert csv -o revenue.csv
dtcat data.parquet --convert ndjson # text formats go to stdout
# Override format detection
dtcat data.txt --format csv
# Skip metadata rows above header
dtcat data.csv --skip 2Supported Formats
| Format | Extensions | Auto-detected |
| CSV | .csv | Yes (magic + extension) |
| TSV | .tsv, .tab | Yes |
| Parquet | .parquet, .pq | Yes (PAR1 magic) |
| Arrow/Feather | .arrow, .feather, .ipc | Yes (ARROW1 magic) |
| JSON | .json | Yes ([ prefix) |
| NDJSON | .ndjson, .jsonl | Yes ({ prefix) |
| Excel | .xlsx, .xls, .xlsb, .ods | Yes (PK/OLE magic) |
Detection priority: --format flag > magic bytes > file extension.
Default Behavior
- <=50 rows: shows all data
- >50 rows: shows first 25 + last 25 rows
- Excel, multiple sheets: lists all sheets with schemas (use
--sheetto pick one)
Flags
| Flag | Purpose |
--format <fmt> | Override format detection (csv, tsv, parquet, arrow, json, ndjson, excel) |
--sheet <name|index> | Select sheet by name or 0-based index (Excel only) |
--skip <n> | Skip first N rows before header |
--schema | Column names and types only |
--describe | Summary statistics (count, mean, std, min, max, median, unique) |
--head <n> | First N rows |
--tail <n> | Last N rows |
--all | Show all rows (override adaptive limit) |
--sample <n> | Randomly sample N rows |
--csv | Output as CSV instead of markdown |
--info | File metadata (size, format, shape, sheets) |
--convert <fmt> | Convert to format (csv, tsv, parquet, arrow, json, ndjson) |
-o <path> | Output file path (required for binary formats with --convert) |
Exit Codes
| Code | Meaning |
| 0 | Success |
| 1 | Runtime error (file not found, corrupt) |
| 2 | Invalid arguments |
Workflow
- Run
dtcat <file>to see the overview (schema + sample data) - For Excel multi-sheet files, pick a sheet with
--sheet - Use
--describefor statistical analysis - Use
--head/--tailto zoom into specific regions,--samplefor random rows - Use
--csvwhen you need to pipe data to other tools - Use
--convertto transform between formats (e.g., CSV to Parquet)
Mutual Exclusivity
--schema,--describe,--info,--csv,--convertare mutually exclusive with each other--sampleis mutually exclusive with--head,--tail,--all--convertis mutually exclusive with all display flags
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

