# harvard-artifacts-data-engineering-streamlit

Sets up an ETL pipeline for the Harvard Art Museums API, stores artifacts in MySQL, and visualizes trends with Streamlit.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 966 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-artifacts-data-engineering-streamlit/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/harvard-artifacts-data-engineering-streamlit

## What it does

The skill sets up a full workflow for museum catalog records. It pulls artifact entries from the Harvard Art Museums API using pagination and extracts details into relational structures for `artifactmetadata`, `artifactmedia`, and `artifactcolors`.

Data lands in MySQL or TiDB Cloud. Over 20 predefined SQL queries process breakdowns by century, culture, and department, presenting visual outputs through Plotly inside a Streamlit web app accessible at `http://localhost:8501`.

Without a valid `HARVARD_API_KEY` and an active database connection configured in `.env`, the extraction scripts fail immediately. Running the project also requires installing dependencies like `pandas`, `requests`, and `mysql-connector-python`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-artifacts-data-engineering-streamlit -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/harvard-artifacts-data-engineering-streamlit/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/harvard-artifacts-data-engineering-streamlit/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-artifacts-data-engineering-streamlit -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/harvard-artifacts-data-engineering-streamlit/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-artifacts-data-engineering-streamlit -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/harvard-artifacts-data-engineering-streamlit/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install reason-machines/data-skills harvard-artifacts-data-engineering-streamlit
```

2. **Manually: put the files in place**
- File: `.github/skills/harvard-artifacts-data-engineering-streamlit/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-artifacts-data-engineering-streamlit -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/reason-machines/data-skills --path skills/harvard-artifacts-data-engineering-streamlit
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/harvard-artifacts-data-engineering-streamlit/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add reason-machines/data-skills --skill harvard-artifacts-data-engineering-streamlit -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-artifacts-data-engineering-streamlit/SKILL.md

## When to use it
- ingest museum catalog data from the Harvard Art Museums API
- load artifact metadata and color distributions into MySQL
- build an interactive Plotly dashboard with Streamlit
- run analytical SQL queries across centuries and cultural origins

## Example prompts
- Build an ETL pipeline to ingest Harvard Art Museums API data into MySQL
- Set up a Streamlit dashboard with Plotly charts for museum artifact analytics
- Generate MySQL table schemas for artifact metadata and color records

## Similar
- [xlsx](https://affpapa.org/en/nevibecode/skills/xlsx.md) — skill · 187223 installs
- [google-agents-cli-observability](https://affpapa.org/en/nevibecode/skills/google-agents-cli-observability.md) — skill · 511300 installs
- [caveman-evidence-review](https://affpapa.org/en/nevibecode/skills/caveman-evidence-review.md) — skill · 104500 installs
- [migration](https://affpapa.org/en/nevibecode/skills/migration.md) — skill · 103900 installs
- [performance-optimization](https://affpapa.org/en/nevibecode/skills/performance-optimization.md) — skill · 65200 installs
- [supabase](https://affpapa.org/en/nevibecode/skills/supabase.md) — skill · 8 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
