harvard-artifacts-collection-data-engineering — Claude Code skill
This skill pulls Harvard Art Museums data into MySQL and renders it in Streamlit. Useful when you want a working ETL example from API to dashboard.
npx skills add reason-machines/data-skills --skill harvard-artifacts-collection-data-engineering -a claude-codeWhat harvard-artifacts-collection-data-engineering does
The skill covers a full application: a client for the Harvard Art Museums API with pagination, an ETL pipeline, a relational schema and interactive dashboards. The flow is API → ETL → SQL → analytics → visualization.
Three tables hold the data — artifactmetadata, artifactmedia and artifactcolors. Media and colors come out of nested JSON as separate rows and link back to the artifact by foreign key. Analytics is a set of ready-made SQL queries, and charts run on Plotly inside Streamlit.
You need a HARVARD_API_KEY and a reachable MySQL instance: host, port, user, password and database name all come from environment variables. Dependencies install from requirements.txt — streamlit, pandas, requests, mysql-connector-python and plotly. There are no migrations, so create the tables yourself before the first pipeline run; otherwise the load step has nowhere to write.
What it helps with
- pull a museum collection from the API page by page
- flatten nested JSON into relational tables
- link artifacts to their images and colors
- run analytical queries over collection metadata
- build an interactive Streamlit dashboard
Example prompts for the agent
- build an ETL pipeline for Harvard Art Museums artifact data
- set up batch loading from the Harvard API into MySQL
- create a Streamlit dashboard over the artifactmetadata table
How to install harvard-artifacts-collection-data-engineering
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-collection-data-engineering -a claude-code2Manually: put the files in place
~/.claude/skills/harvard-artifacts-collection-data-engineering/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/harvard-artifacts-collection-data-engineering/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-collection-data-engineering -a codex2Manually: put the files in place
.agents/skills/harvard-artifacts-collection-data-engineering/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-collection-data-engineering -a cursor2Manually: put the files in place
.cursor/skills/harvard-artifacts-collection-data-engineering/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/data-skills harvard-artifacts-collection-data-engineering2Manually: put the files in place
.github/skills/harvard-artifacts-collection-data-engineering/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-collection-data-engineering -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/data-skills --path skills/harvard-artifacts-collection-data-engineeringManually: put the files in place
.devin/skills/harvard-artifacts-collection-data-engineering/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-collection-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-artifacts-collection-data-engineering
How do I install harvard-artifacts-collection-data-engineering in Claude?
Run npx skills add reason-machines/data-skills --skill harvard-artifacts-collection-data-engineering -a claude-code. The skill lands in ~/.claude/skills/harvard-artifacts-collection-data-engineering/SKILL.md.
What does this skill do?
It describes an end-to-end app for the Harvard Art Museums API: artifact extraction, ETL into MySQL, analytical SQL queries and Streamlit dashboards with Plotly.
What do I need before running it?
A HARVARD_API_KEY and MySQL access. Set DB_HOST, DB_PORT, DB_USER, DB_PASSWORD and DB_NAME in your environment, and create the artifactmetadata, artifactmedia and artifactcolors tables by hand.