# harvard-art-museum-etl-analytics

Sets up an ETL workflow for the Harvard Art Museums API, organizes museum items into MySQL tables, and renders Streamlit visualizations.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2000 installs · ★ 5
- Author: reason-machines
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/reason-machines/data-skills/tree/HEAD/skills/harvard-art-museum-etl-analytics/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/harvard-art-museum-etl-analytics

## What it does

This skill guides a coding assistant through reading catalog entries from the Harvard Art Museums API and structuring raw JSON into relational storage. The schema defines tables for core artifact records, associated media links, and color metrics connected by foreign keys.

The extraction script handles rate limiting with sleep intervals and traverses paginated API responses. Downstream steps load normalized records into MySQL or TiDB Cloud, preparing SQL queries by century, medium, and department alongside Plotly charts inside Streamlit.

Execution breaks without a valid `HARVARD_API_KEY` from the museum portal and an active MySQL-compatible endpoint. Your environment also requires Python 3.8+ together with the `mysql-connector-python` package.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-art-museum-etl-analytics -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/harvard-art-museum-etl-analytics/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/harvard-art-museum-etl-analytics/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-art-museum-etl-analytics -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/harvard-art-museum-etl-analytics/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-art-museum-etl-analytics -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/harvard-art-museum-etl-analytics/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install reason-machines/data-skills harvard-art-museum-etl-analytics
```

2. **Manually: put the files in place**
- File: `.github/skills/harvard-art-museum-etl-analytics/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-art-museum-etl-analytics -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/reason-machines/data-skills --path skills/harvard-art-museum-etl-analytics
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/harvard-art-museum-etl-analytics/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-art-museum-etl-analytics -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/reason-machines/data-skills/tree/HEAD/skills/harvard-art-museum-etl-analytics/SKILL.md

## When to use it
- extract museum artifacts from the Harvard API with rate-limited pagination
- define relational MySQL schemas for metadata and color attributes
- assemble a Streamlit dashboard with Plotly charts for collection analytics
- write SQL queries to inspect artifacts across cultures and time periods

## Example prompts
- Set up an ETL pipeline to pull artifact records from the Harvard Art Museums API into MySQL
- Generate a Streamlit dashboard displaying color distributions and centuries of museum items
- Write the database migration script to store Harvard collection metadata and image links

## Similar
- [indicator-setup](https://affpapa.org/en/nevibecode/skills/indicator-setup.md) — skill · 551 installs
- [etl-connector-strategy](https://affpapa.org/en/nevibecode/skills/etl-connector-strategy.md) — skill · 8000 installs
- [indicator-dashboard](https://affpapa.org/en/nevibecode/skills/indicator-dashboard.md) — skill · 570 installs
- [ETL Pipeline](https://affpapa.org/en/nevibecode/skills/etl-pipeline.md) — skill · 4800 installs
- [pyspark-etl-best-practices-cursorrules-prompt-file](https://affpapa.org/en/nevibecode/rules/pyspark-etl-best-practices-cursorrules-prompt-file.md) — rule · ★ 41024
- [mysql](https://affpapa.org/en/nevibecode/skills/sanjay3290-mysql.md) — skill · 420 installs

From the same set: [reason-machines/data-skills](https://affpapa.org/en/nevibecode/by/reason-machines/data-skills.md) — 74 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
