A Claude Code skill that adds AI-generated annotations to CSV files by processing each row with a prompt.
- Classify, extract, or summarize data row-by-row
- Parallel processing for speed
- Use all columns or select specific context
- Inline prompts or prompt files for complex tasks
git clone https://github.com/brook-miller/annotate-csv.git ~/.claude/skills/annotate-csvgit clone https://github.com/brook-miller/annotate-csv.git
cd annotate-csv
cp .env.example .env
# Add your API key to .envCreate a .env file:
OPENAI_API_KEY=sk-...
# Classify sentiment
uv run annotate-csv.py "Classify sentiment: positive, negative, neutral" reviews.csv -c sentiment
# Extract information
uv run annotate-csv.py "Extract the product name mentioned" feedback.csv -c product
# Summarize
uv run annotate-csv.py "Summarize in one sentence" articles.csv -c summary| Option | Description | Default |
|---|---|---|
-o, --output |
Output file path | <input>_annotated.csv |
-c, --column |
Annotation column name | annotation |
--context |
Columns to use (all or comma-separated) | all |
--model |
OpenAI model | gpt-5-mini |
--parallelism |
Parallel workers | 10 |
--id-column |
Column for progress display | - |
Input reviews.csv:
id,text
1,"Great product, love it!"
2,"Terrible experience, broke immediately"
Command:
uv run annotate-csv.py "Classify sentiment: positive, negative, neutral" reviews.csv -c sentimentOutput reviews_annotated.csv:
id,text,sentiment
1,"Great product, love it!",positive
2,"Terrible experience, broke immediately",negative
- Python 3.11+
- OpenAI API key
MIT