Agent skill · data analytics · aradotso

harvard-art-museums-etl-analytics

Build ETL pipelines and analytics dashboards using Harvard Art Museums API with Python, SQL, and Streamlit

Why this skill is useful

Adds a complete ETL pipeline with executable scripts for data extraction, transformation, and visualization that are not commonly found in public documentation.

What it needs

Requires mysql-connector-python, pandas, plotly, requests, streamlit installed locally. Requires harvard-art-museums account access. About 7k tokens when loaded. Last updated 2026-08-05. 5 stars on the source repository.

What this skill does

Harvard Art Museums ETL Analytics Skill by ara.so — Data Skills collection. This skill enables AI coding agents to build end-to-end data engineering and analytics applications using the Harvard Art Museums API. The project demonstrates real-world ETL pipelines, SQL analytics, and interactive data visualization using Streamlit. What This Project Does The Harvard-Artifacts-Collection-Data-Engineering-Analytics-App provides: API Integration: Collect artifact data from Harvard Art Museums API with pagination and rate limiting ETL Pipeline: Extract, transform, and load artifact metadata, media details, and color data SQL Storage: Store structured data in MySQL/TiDB Cloud with proper relational schema Analytics Engine: Execute 20+ predefined analytical SQL queries Interactive Dashboards: Visualize query results using Streamlit and Plotly The architecture follows: API → ETL → SQL → Analytics → Visualization Installation Configuration Environment Variables Create a .env file in the project root: Database Setup ETL Pipeline Implementation Extract: Fetch Data from API Transform: Clean and Structure Data Load: Insert into SQL Database Analytics Queries Sample SQL Queries Streamlit Application Main Application Structure Running the Application Common Patterns Rate-Limited API Calls Incremental Data Loading Troubleshooting API Key Issues Database Connection Errors Handling Missing Data `python def safetransform(artifact: Dict) -> Dict: """Transform with null handling""" return { 'id': artifact.get('id'), 'title': artifact.get('title') or 'Untitled', 'culture': artifact.get('culture') or 'Unknown', 'century': artifact.get('century') or 'Unknown', 'classification': artifact.get('classification') or 'Unclassified', 'department': artifact.get('department

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aradotso/harvard-art-museums-etl-analytics

View the source on GitHub

Browse the @skills marketplace