harvard-artifacts-etl-analytics — Claude Code skill
A skill that walks your agent through building an ETL pipeline and an analytics dashboard on Harvard Art Museums API data. Useful when you want a set route from API calls to Streamlit charts.
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-analytics -a claude-codeWhat harvard-artifacts-etl-analytics does
The skill lays out the whole data path: pulling objects from the Harvard Art Museums API page by page, flattening nested JSON into three normalized tables, loading them into MySQL or TiDB Cloud, then querying the result. Code samples use requests, pandas and mysql-connector-python. The schema is fixed up front — artifactmetadata, artifactmedia and artifactcolors, joined by artifact_id.
You need a HARVARD_API_KEY and database credentials before anything runs. Host, port, user, password and database name go into .env. Requests to https://api.harvardartmuseums.org/object fail without the key, so registering on the museum site comes first. The dashboard starts with streamlit run app.py and serves at http://localhost:8501.
More than twenty ready-made analytical SQL queries ship with the skill, plus Plotly charts. Your agent leans on those templates when you ask for collection metrics by culture or century.
What it helps with
- pull objects from the Harvard Art Museums API across pages
- split nested JSON into metadata, media and color tables
- load normalized rows into MySQL or TiDB Cloud
- run ready-made SQL queries for collection metrics
- build a Streamlit dashboard with Plotly charts
Example prompts for the agent
- Build an ETL pipeline for Harvard Art Museums API data with paginated extraction
- Split the API response into
artifactmetadata,artifactmediaandartifactcolorstables - Create a Streamlit dashboard with Plotly charts by culture and century
How to install harvard-artifacts-etl-analytics
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-analytics -a claude-code2Manually: put the files in place
~/.claude/skills/harvard-artifacts-etl-analytics/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/harvard-artifacts-etl-analytics/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-analytics -a codex2Manually: put the files in place
.agents/skills/harvard-artifacts-etl-analytics/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-analytics -a cursor2Manually: put the files in place
.cursor/skills/harvard-artifacts-etl-analytics/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/data-skills harvard-artifacts-etl-analytics2Manually: put the files in place
.github/skills/harvard-artifacts-etl-analytics/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-analytics -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/data-skills --path skills/harvard-artifacts-etl-analyticsManually: put the files in place
.devin/skills/harvard-artifacts-etl-analytics/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-analytics -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-etl-analytics
How do I install harvard-artifacts-etl-analytics in Claude Code?
Run npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-analytics -a claude-code. The skill file lands at ~/.claude/skills/harvard-artifacts-etl-analytics/SKILL.md.
What does harvard-artifacts-etl-analytics do?
It guides an agent through building an ETL pipeline and an analytics app on Harvard Art Museums API data: extraction, JSON transformation, database loading and Streamlit visualization.
What do I need before running it?
A HARVARD_API_KEY and connection details in .env: DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME. The table schema comes from the SQL script in the skill.