harvard-artifacts-etl-pipeline — Claude Code skill: ETL and dashboards
A skill that walks your coding agent through an ETL pipeline from the Harvard Art Museums API to Streamlit charts.
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-pipeline -a claude-codeWhat harvard-artifacts-etl-pipeline does
The skill covers the whole path: paged requests to the Harvard Art Museums API, flattening nested JSON into tables, loading into MySQL or TiDB Cloud, analytical SQL, and Plotly charts in Streamlit. Your agent gets working code templates for each stage.
Inside are Python examples. fetch_artifacts pulls pages of 100 records and stops once the pages run out; extract_metadata, extract_media and extract_colors split the API response into three tables. The schema ships too: artifactmetadata, artifactmedia and artifactcolors, joined by artifact_id.
You need a HARVARD_API_KEY and a database — host, port, user and password go into .env. Without the API key every request fails, so check that first. Dependencies come from requirements.txt: streamlit, pandas, requests, mysql-connector-python, plotly, python-dotenv.
What it helps with
- pull museum objects from the Harvard Art Museums API page by page
- turn nested museum JSON into relational tables
- load artifact metadata and colors into MySQL or TiDB Cloud
- write SQL queries over the collection and its media
- build an interactive Streamlit dashboard with Plotly charts
Example prompts for the agent
- Help me write an ETL pipeline that fetches objects from the Harvard Art Museums API and splits them into tables
- Write SQL queries against the artifactmetadata table and chart the results with Plotly in Streamlit
- Set up paged fetching from the Harvard API and load the data into TiDB Cloud
How to install harvard-artifacts-etl-pipeline
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-pipeline -a claude-code2Manually: put the files in place
~/.claude/skills/harvard-artifacts-etl-pipeline/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/harvard-artifacts-etl-pipeline/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-pipeline -a codex2Manually: put the files in place
.agents/skills/harvard-artifacts-etl-pipeline/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-pipeline -a cursor2Manually: put the files in place
.cursor/skills/harvard-artifacts-etl-pipeline/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/data-skills harvard-artifacts-etl-pipeline2Manually: put the files in place
.github/skills/harvard-artifacts-etl-pipeline/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-pipeline -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/data-skills --path skills/harvard-artifacts-etl-pipelineManually: put the files in place
.devin/skills/harvard-artifacts-etl-pipeline/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-pipeline -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-pipeline
How do I install harvard-artifacts-etl-pipeline in Claude?
Run npx skills add reason-machines/data-skills --skill harvard-artifacts-etl-pipeline -a claude-code. The skill lands in ~/.claude/skills/harvard-artifacts-etl-pipeline/SKILL.md.
What does harvard-artifacts-etl-pipeline do?
It helps your agent build ETL pipelines and analytics dashboards on Harvard Art Museums API data: fetching, reshaping JSON into SQL tables, querying, and visualizing in Streamlit.
What do I need before running the pipeline?
A HARVARD_API_KEY and access to a MySQL or TiDB Cloud database. The API key and database credentials live in a .env file.