harvard-art-museum-data-engineering — Claude Code skill: ETL
A skill that builds an ETL pipeline for the Harvard Art Museums API: pull artifacts, shape them into tables, load into SQL, and chart them in Streamlit.
npx skills add reason-machines/data-skills --skill harvard-art-museum-data-engineering -a claude-codeWhat harvard-art-museum-data-engineering does
The skill lays out the whole path: API → ETL → SQL → analytics → visualization. Artifacts come from the Harvard Art Museums API and split into three tables — metadata, media and colors. From there the data lands in MySQL or TiDB, with a Streamlit dashboard on top.
It ships working code: paged fetching with requests, JSON-to-DataFrame conversion with pandas, batch inserts through mysql-connector-python using REPLACE INTO to handle duplicates. The three tables link by artifact_id through foreign keys. plotly is listed for charts.
You need a Harvard API key before anything runs — register and get one, then put it in .env next to the database settings: host, port, user, password, database name. No key means no extraction, so check that first. Dependencies come from requirements.txt or the package list.
What it helps with
- pull artifacts from the Harvard Art Museums API page by page
- turn API JSON responses into related tables
- load metadata, images and colors into MySQL or TiDB
- build a Streamlit dashboard over a museum collection
- avoid duplicate rows on repeated loads
Example prompts for the agent
- build an ETL pipeline for the Harvard Art Museums API
- extract artifacts with images and colors into MySQL
- create a Streamlit dashboard for the museum collection data
How to install harvard-art-museum-data-engineering
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-art-museum-data-engineering -a claude-code2Manually: put the files in place
~/.claude/skills/harvard-art-museum-data-engineering/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/harvard-art-museum-data-engineering/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-art-museum-data-engineering -a codex2Manually: put the files in place
.agents/skills/harvard-art-museum-data-engineering/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-art-museum-data-engineering -a cursor2Manually: put the files in place
.cursor/skills/harvard-art-museum-data-engineering/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/data-skills harvard-art-museum-data-engineering2Manually: put the files in place
.github/skills/harvard-art-museum-data-engineering/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-art-museum-data-engineering -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/data-skills --path skills/harvard-art-museum-data-engineeringManually: put the files in place
.devin/skills/harvard-art-museum-data-engineering/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-art-museum-data-engineering -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about harvard-art-museum-data-engineering
How do I install harvard-art-museum-data-engineering in Claude?
Run npx skills add reason-machines/data-skills --skill harvard-art-museum-data-engineering -a claude-code. The skill file then sits at ~/.claude/skills/harvard-art-museum-data-engineering/SKILL.md.
What does this skill do?
It moves data from the Harvard Art Museums API through an ETL step into a SQL database and serves analytics in Streamlit. Extraction, transformation and loading code is included.
What do I need before running it?
A Harvard API key and access to a MySQL or TiDB database. The key and connection settings live in .env.