You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Data toolkit for Icelandic public data, built around Claude Code and Codex. The .agents/skills/ files document each data source — API endpoints, series codes, encoding quirks, classification changes — and the scripts/ directory has Python scripts that fetch, clean, and transform the data.
The data sources badge reports upstream health, not this repo's code: a source only turns it
red after 7 straight days down or returning the wrong shape. Anything shorter is weather —
these are public APIs and they blink. Details in
AGENTS.md; raw history is on the
health-history branch.
Not a portable skill library. The skills reference co-located scripts, assume local tooling (uv, duckdb, playwright), and work as a unit. Clone the repo, run setup, and use an agent to research questions, join data sources, or produce outputs — a gist, a CSV, an HTML report, whatever fits.
Structure
.agents/skills/{source}/SKILL.md → Data source docs (API, endpoints, caveats)
scripts/{source}.py → Fetch + transform scripts
tests/health/test_{source}.py → Upstream health probes (marker: health)
data/raw/{source}/ → Raw downloads
data/processed/ → Cleaned datasets
Skills follow the agentskills.io open standard. .agents/skills/
is the real location (read natively by Codex); .claude/skills symlinks to it for Claude
Code, and CLAUDE.md symlinks to AGENTS.md. One set of files, both agents.
Data sources
Currently 49 skills covering national statistics, government dashboards
(mælaborð), regulatory filings, and utility APIs. Each skill's frontmatter
description is its index entry — run ls .agents/skills/ to enumerate them, and see
AGENTS.md for the quick-commands reference.
The light in each row is that source's current verdict, refreshed daily and finer-grained
than the badge above (which waits a full week before going red):
healthy ·
flaky (failed but recovered — these APIs blink) ·
dead, or the skill no longer matches the source ·
not enough observations yet.
A · means there is nothing upstream to probe.
Per-source uptime and last error are in the
workflow summary.
Statistics & macroeconomic
Source
Description
Hagstofa Íslands
PX-Web API — economic, demographic, trade, income series
Seðlabanki
SDMX API — monetary policy, financial stability, FX history via ECB
Seðlabanki (FX)
Central Bank FX intervention — gjaldeyriskaup/-sala, turnover, reserves, ISK/EUR (monthly)
Lánamál ríkisins
Government bond yields — RIKB/RIKS daily fixings, no auth (lanamal.is)
Tekjusagan
Income-history dashboard — 5 Power BI report routes (Forsætisráðuneytið)
Velsældarvísar
Hagstofa indicator catalogs — well-being + social + cultural (88 indicators → 77 PX tables)
Heimsmarkmið
UN SDG national statistics — 137 indicators across all 17 goals (open-sdg ZIP bundle)
Ríkisreikningur
State accounts — yearly afkoma 2015+, málefnasvið breakdowns, 35 published files (Azure Functions API)
Fjárlög
State budget appropriations + 5-year plan at málaflokkur level (actual / enacted / bill)
Energy
Electricity generation by source, energy-system tables and fuel sales (Environment & Energy Agency)
Annual fish-stock assessments, advice, landings and survey series (embedded table JSON)
Fiskistofa
Open WFS layers for active fishing closures, regulations and fishing areas (not paid catch/quota REST)
Personal finance & rates
Source
Description
Laun (payday.is)
Take-home salary calculator with tax/pension breakdown
Gengi (Borgun)
Currency exchange rates (card rates, not interbank)
Legal & civic
Source
Description
Dómstólar
Court rulings — Héraðsdómstólar, Landsréttur, Hæstiréttur via RSS + scraping
Reykjavíkurborg
CKAN + PX-Web APIs for municipal services, demographics, welfare, Opin Fjármál
Setup
./setup.sh # Install CLI tools (jq, duckdb, uv, etc.)
uv sync # Install Python dependencies
uv run playwright install chromium # Only if you plan to use Power BI / SPA scrapers
Usage
# Process data
uv run python scripts/sedlabanki.py
uv run python scripts/fuel.py
# Query with DuckDB
duckdb -c "SELECT * FROM 'data/processed/*.csv' LIMIT 10"# Company financials pipeline
uv run python scripts/financials.py company <kennitala> --year 2024
# Scrape a government dashboard
uv run python scripts/landlaeknir.py list
uv run python scripts/landlaeknir.py fetch --slug mortis
# Build the indicator catalog for visar.hagstofa.is
uv run python scripts/velsaeldarvisar.py fetch
See AGENTS.md for the full command catalog across every skill.
Tests
uv run pytest -m "not slow"# fast unit tests (~0.5s) — what PR CI runs
uv run pytest -m slow # network + Playwright tests (several minutes)
uv run pytest -m health # upstream health probes
uv run pytest -m health -k hagstofan # probe one source
Health probes check that each upstream source still serves the smallest contract
its script depends on. They run daily in CI; browser-based probes are
manual-dispatch only. See .github/workflows/source-health.yml.
Adding a new data source
See the new-data-source skill for
the methodology — discovery, probing, skill authoring, script conventions,
testing, and visualization.
About
Data toolkit for Icelandic public data, built around Claude Code