karpathy-jobs-bls-visualizer — Claude Code skill: BLS jobs
This skill scrapes Occupational Outlook Handbook data, scores occupations with an LLM and renders an interactive jobs treemap.
npx skills add reason-machines/trending-skills --skill karpathy-jobs-bls-visualizer -a claude-codeWhat karpathy-jobs-bls-visualizer does
The skill covers the whole path from raw Bureau of Labor Statistics pages to a colored map: scraping, converting HTML to Markdown, extracting fields into occupations.csv, scoring with an LLM, and merging everything into site/data.json for the frontend. Rectangle area shows employment size, color shows whichever metric you pick: growth outlook, median pay, education, or an AI exposure score.
The scoring layer is the part worth forking. Edit the prompt in score.py, run uv run python score.py, then uv run python build_site_data.py and the treemap gets a new color. Adding a layer means a toggle button in site/index.html plus a branch in the color function.
LLM scoring needs an OpenRouter key in a .env file. Scraping runs Playwright with a visible browser window because BLS blocks bots, so scrape.py will not work headless or on a server without a graphical environment. Dependencies come from uv sync, plus uv run playwright install chromium.
What it helps with
- map 342 occupations from BLS data
- re-score AI exposure with your own prompt
- add a new color layer to the jobs treemap
- pack all occupation data into one file for an LLM chat
- turn raw BLS pages into clean Markdown
Example prompts for the agent
- run the full karpathy-jobs-bls-visualizer pipeline and build site/data.json
- rewrite the prompt in score.py for robotics exposure and re-run scores.json
- add a robotics_score layer to the treemap and update build_site_data.py
How to install karpathy-jobs-bls-visualizer
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathy-jobs-bls-visualizer -a claude-code2Manually: put the files in place
~/.claude/skills/karpathy-jobs-bls-visualizer/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/karpathy-jobs-bls-visualizer/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathy-jobs-bls-visualizer -a codex2Manually: put the files in place
.agents/skills/karpathy-jobs-bls-visualizer/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathy-jobs-bls-visualizer -a cursor2Manually: put the files in place
.cursor/skills/karpathy-jobs-bls-visualizer/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/trending-skills karpathy-jobs-bls-visualizer2Manually: put the files in place
.github/skills/karpathy-jobs-bls-visualizer/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathy-jobs-bls-visualizer -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/trending-skills --path skills/karpathy-jobs-bls-visualizerManually: put the files in place
.devin/skills/karpathy-jobs-bls-visualizer/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathy-jobs-bls-visualizer -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 karpathy-jobs-bls-visualizer
How do I install karpathy-jobs-bls-visualizer in Claude?
Run npx skills add reason-machines/trending-skills --skill karpathy-jobs-bls-visualizer -a claude-code. The skill lands in ~/.claude/skills/karpathy-jobs-bls-visualizer/SKILL.md.
What does karpathy-jobs-bls-visualizer do?
It scrapes Occupational Outlook Handbook data, scores occupations with an LLM and builds an interactive treemap where color encodes the metric you choose.
What do I need for the LLM scoring step?
An OpenRouter key in a .env file. Scraping and parsing work without it; score.py does not.