Agent skill · research science · aradotso
karpathy-jobs-bls-visualizer
Research tool for visually exploring BLS Occupational Outlook Handbook data with an interactive treemap, LLM-powered scoring pipeline, and data scraping/parsing utilities.
Why this skill is useful
Adds a complete data scraping and visualization pipeline with custom LLM scoring capabilities that the AI cannot generate on its own.
What it needs
Requires playwright, uv installed locally. Requires openrouter account access. About 6k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.
What this skill does
karpathy/jobs — BLS Job Market Visualizer Skill by ara.so — Daily 2026 Skills collection. A research tool for visually exploring Bureau of Labor Statistics Occupational Outlook Handbook data across 342 occupations. The interactive treemap colors rectangles by employment size (area) and any chosen metric (color): BLS growth outlook, median pay, education requirements, or LLM-scored AI exposure. The pipeline is fully forkable — write a new prompt, re-run scoring, get a new color layer. Live demo: karpathy.ai/jobs --- Installation & Setup Create a .env file with your OpenRouter API key (required only for LLM scoring): --- Full Pipeline — Key Commands Run these in order for a complete fresh build: --- Key Files Reference File Description ------ ------------- occupations.json Master list of 342 occupations (title, URL, category, slug) occupations.csv Summary stats: pay, education, job count, growth projections scores.json AI exposure scores (0–10) + rationales for all 342 occupations prompt.md All data in one ~45K-token file for pasting into an LLM html/ Raw HTML pages from BLS (~40MB, source of truth) pages/ Clean Markdown versions of each occupation page site/index.html The treemap visualization (single HTML file) site/data.json Compact merged data consumed by the frontend score.py LLM scoring pipeline — fork this to write custom prompts --- Writing a Custom LLM Scoring Layer The most powerful feature: write any scoring prompt, run score.py, get a new treemap color layer. 1. Edit the prompt in score.py 2. Run the scoring pipeline 3. Rebuild site data --- Data Structures occupations.json entry occupations.csv columns Example row: site/data.json entry (merged frontend data) --- Frontend Treemap (site/index.html) The visualization is a single self-contained HTML file using D3.js. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aradotso/karpathy-jobs-bls-visualizer