Auto-generates a Markdown codebook from a dataset (CSV, DTA, Excel, Parquet) with types and summary statistics. Use when documenting variables.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill codebook --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Codebook?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/brycewang-stanford-codebook)More formats (shields.io, HTML) on the badges page.
---
name: codebook
description: Auto-generates a Markdown codebook from a dataset (CSV, DTA, Excel, Parquet) with types and summary statistics. Use when documenting variables.
argument-hint: <path to dataset>
allowed-tools: Bash, Read, Write, Glob, Grep
---
# Generate Variable Codebook
Auto-generate a Markdown codebook documenting all variables in a dataset.
## Arguments
- `$ARGUMENTS` — path to a dataset file (e.g., `data/rawData/sample_data.csv`, `data/panel.dta`)
## Steps
1. Determine the file format from the extension:
- `.csv` — read with pandas `read_csv`
- `.dta` — read with pandas `read_stata`
- `.xlsx` / `.xls` — read with pandas `read_excel`
- `.parquet` — read with pandas `read_parquet`
- Other formats: ask the user how to load it
2. Load the dataset using `uv run python` and extract metadata for each variable:
- Variable name
- Data type (numeric, string, categorical, datetime)
- Non-missing count and missing count
- Number of unique values
- For numeric variables: min, max, mean, median, standard deviation
- For categorical/string variables: top 5 most frequent values with counts
- For datetime variables: min and max date
3. Generate a Markdown codebook with:
- **Header:** Dataset name, file path, number of observations, number of variables, date generated
- **Summary table:** Variable name | Type | Non-missing | Unique | Description (placeholder)
- **Detailed sections per variable:** Full statistics and a `[FILL: description]` placeholder for the user to add a human-readable description
4. Derive the output filename from the dataset name:
- `data/rawData/sample_data.csv` → `references/sample-data-codebook.md`
5. Save to `references/<dataset-name>-codebook.md`
6. Report the file path and the number of variables documented.
## Error handling
- If the file does not exist, report the error and suggest checking the path.
- If the file cannot be read (corrupt, unsupported format), report the error and ask for guidance.
- Never modify the source data file. This command is read-only with respect to data.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!