csv-analyse
Analyse a CSV file in the sandbox — row/column counts, column types, summary statistics for numeric columns, unique value distributions for categorical columns, and missing-value counts. Use when the user asks to explore, summarise, profile, or analyse a CSV file.
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
---
name: "csv-analyse"
description: "Analyse a CSV file in the sandbox — row/column counts, column types, summary statistics for numeric columns, unique value distributions for categorical columns, and missing-value counts. Use when the user asks to explore, summarise, profile, or analyse a CSV file."
license: "MIT"
---
# CSV analyse
## When to use
The user has a CSV file (uploaded, written to the filesystem, or inline) and wants a structured summary or statistical analysis.
Examples:
- "Summarise sales.csv"
- "What columns are in this file and what do they contain?"
- "Give me descriptive stats for the numeric columns"
- "Count missing values per column"
## Steps
1. **Locate the CSV.** If the user mentioned a filename, call `fs_list` and `fs_read` under `uploads/` or their chosen folder to get the content as a string. If the content is in a previous tool result or an attachment, pass it directly as `stdin`.
2. **Run the bundled analyser.** Call:
```
run_skill_script({
name: "csv-analyse",
path: "scripts/analyse.py",
stdin: <the CSV content as a string>
})
```
The script reads stdin, uses pandas to profile the data, and prints a JSON report to stdout.
3. **Parse the JSON.** The stdout is a single JSON object with keys: `shape`, `columns`, `dtypes`, `missing`, `numeric_summary`, `categorical_summary`, `head`. Show the user the bits they asked for — don't dump the whole thing unless they asked for "everything".
4. **Offer follow-ups.** Use `offer_choices` with 3-5 relevant next steps, e.g.:
- "Plot the distribution of [numeric column]"
- "Filter rows where [condition]"
- "Export the summary to a Word document"
- "Correlate these columns"
## Style
- Present the shape (rows × cols) first — it's the most useful single fact.
- Show missing-value percentages only where > 0.
- Round numeric summaries to 3 significant figures.
- If the file is big (>10k rows), mention that analysis used the full file, not a sample.
## What not to do
- Don't guess column meanings. If a column name is ambiguous, ask the user.
- Don't dump the full CSV back in the chat. The user already has it.
- Don't run the analysis if the input looks like it's not a CSV (check for delimiters in the first line). Ask for clarification instead.More General & Other skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

