Examples
Real examples for the Claude Code skills of the regionalatlas plugin, one per skill: a request,
the regionalatlas commands the skill ran, and the answer Claude gave.
Every example ran against the live API on 6 October 2026, around 01:30, with regionalatlas 0.4.0.
The data queries went to the live data host; the indicator catalogue (about 2 MB) was downloaded
once that night and read from that copy, to spare the host repeated downloads.
The data changes, so your results will differ; the ids and keys shown work for trying the
requests yourself. Long lists are shortened.
To try them, install the CLI and the plugin — see SKILLS.md.
Skills: regionalatlas-catalog · regionalatlas-compare · regionalatlas-map
regionalatlas-catalog
What regional data does the Regionalatlas have on childcare, and how recent is it?
regionalatlas themes --compact | jq -r '.[] | "\(.title)\t\(.indicatorCount)"'
regionalatlas indicators --search kita --compact # [] + INFO [regionalatlas.api] none of the 71 catalogue indicators match --search "kita".
regionalatlas indicators --search betreu --compact | jq '.[] | {code, theme, titleShort, years}'
regionalatlas indicators --search betreu --year 2025 --compact | jq -r '.[].code'
regionalatlas indicators --search Betreuungsquote --compact \
| jq '.[] | {fields, levels2025: .levels["2025"]}' # what the columns mean; 2025 has land, rb, kreis
regionalatlas query AI003-3 --level land --year 2025 --region Schleswig-Holstein --compact
“Kita” matched nothing, so the skill searched for the stem betreu. It found four indicators under three different themes, so searching by theme alone would have missed some.
The catalogue has 21 themes and 71 indicators. Four of them cover childcare, and all four include 2025:
| Code | Theme | Indicator | Years |
|---|---|---|---|
AI003-1 |
Bildung | Betreute Kinder in Tagespflege/Tageseinrichtungen | 2007–2025 |
AI003-3 |
Bildung | Betreuungsquote | 2011–2025 |
AIG-03-1 |
Gender | Kinderbetreuung | 2007–2025 |
AI-N-05 |
Nachhaltigkeit | Ganztagsbetreuung von Kindern | 2009–2025 |
For “what share of children are in care”, use AI003-3 (Betreuungsquote). indicators names its
two value columns, so no probing query is needed to read them, and its levels show that 2025
has figures per Land, Regierungsbezirk and Kreis (a listed year can have none):
| Column | Unit | Measures |
|---|---|---|
ai0306 |
Prozent | Betreuungsquote 0 bis 2 Jahre am 01.03. |
ai0307 |
Prozent | Betreuungsquote 3 bis 5 Jahre am 01.03. |
Schleswig-Holstein 2025 is ai0306 41.3 % of under-3s and ai0307 92.1 % of 3-to-5s.
Data © Statistische Ämter des Bundes und der Länder, dl-de/by-2.0.
Next steps offered: pull AI003-3 for every Kreis (regionalatlas-map) or set a few Länder side by side (regionalatlas-compare).
regionalatlas-compare
How does disposable income per inhabitant compare between the cities of Munich and Leipzig, Görlitz and Gelsenkirchen? Where do they rank among all Kreise?
regionalatlas indicators --search kopf --compact # AI-S-01 Verfügbares Einkommen pro Kopf, 2000–2022, unit EUR
regionalatlas query AI-S-01 --level kreis --region München --compact # 1 row, 09162 München; an INFO record names the left-out 09184 München, Landkreis
regionalatlas query AI-S-01 --level kreis --fields ai1601 --compact > kreise.json # one fetch, 400 rows
jq '[.[] | select(.ags|IN("09162","14713","14626","05513","09184","14729"))] | map({ags, name, v: .values.ai1601})' kreise.json
jq '(map(select(.values.ai1601 == null)) | length) as $none
| map(select(.values.ai1601 != null)) | sort_by(.values.ai1601)
| {lowest: (.[0] | {name, v: .values.ai1601}), highest: (.[-1] | {name, v: .values.ai1601}),
with_figure: length, without_figure: $none}' kreise.json
--region München returned the city alone, by its exact name, and a note on stderr named the Landkreis it left out (09184 München, Landkreis); Leipzig has the same pair (14713 / 14729). So the skill picked the four places by AGS and listed the two Landkreise separately. It fetched the whole level once and filtered the saved answer, so ranking all Kreise needed no extra request. Every row is 2022, and none is null.
Verfügbares Einkommen pro Kopf (AI-S-01, field ai1601), 2022, 400 Kreise:
| Region | AGS | Value | Rank of 400 |
|---|---|---|---|
| München (Stadt) | 09162 | 35,467 | 5 |
| Görlitz | 14626 | 22,671 | 360 |
| Leipzig (Stadt) | 14713 | 21,460 | 385 |
| Gelsenkirchen | 05513 | 18,522 | 400 |
| for reference: München, Landkreis | 09184 | 35,832 | 3 |
| for reference: Leipzig, Landkreis | 14729 | 25,523 | 199 |
Highest: Starnberg (09188) 40,205 · Miesbach (09182) 38,621. Lowest: Gelsenkirchen 18,522 ·
Duisburg (05112) 19,325 · Bremerhaven (04012) 20,059. The unweighted mean over the 400 Kreise is 25,631.
Munich has almost twice Gelsenkirchen’s figure. The unit is EUR, from the indicator’s fields.
Data © Statistische Ämter des Bundes und der Länder, dl-de/by-2.0.
regionalatlas-map
Give me car density (Pkw-Dichte) for every Kreis, latest year. Which are highest and lowest?
regionalatlas indicators --search pkw --compact # AI013-1 Pkw-Dichte, 2000–2026 (also AI-N-08-01)
regionalatlas query AI013-1 --level kreis --fields ai1301 --compact # [] exit 0 + an INFO record: 2026 may not be loaded yet, try --year 2025
regionalatlas query AI013-1 --level kreis --year 2025 --fields ai1301 --compact > pkw-2025.json
jq -r '.[] | "\(.ags)\t\(.name)\t\(.values.ai1301)"' pkw-2025.json
jq 'map(select(.values.ai1301 != null)) | sort_by(.values.ai1301) | reverse | .[:6] | .[] | {name, ai1301: .values.ai1301}' pkw-2025.json
Leaving out --year should give the latest year. The catalogue lists 2026 as latest (its levels even claim Kreis figures for it), but the data host has none yet: the query returned an empty list with exit 0, and the note on stderr named 2025. The skill retried with 2025. That returned all 400 Kreise with no null values. Berlin comes back as a single Kreis row with AGS 11.
Pkw-Dichte (AI013-1, field ai1301), 2025, 400 Kreise and kreisfreie Städte. Median 638.15, range 334.5–955.9:
| Highest | AGS | ai1301 | Lowest | AGS | ai1301 | |
|---|---|---|---|---|---|---|
| Wolfsburg | 03103 | 955.9 | Berlin | 11 | 334.5 | |
| Euskirchen | 05366 | 803.0 | Leipzig | 14713 | 384.0 | |
| Wiesbaden | 06414 | 775.5 | Heidelberg | 08221 | 393.4 | |
| Main-Taunus-Kreis | 06436 | 773.9 | Freiburg im Breisgau | 08311 | 402.7 | |
| Südwestpfalz | 07340 | 761.7 | Dresden | 14612 | 406.5 | |
| Hohenlohekreis | 08126 | 760.5 | Jena | 16053 | 409.3 |
The 388 Kreise in between aren’t shown; the full ags / name / value list is ready to join to Kreis boundaries for a choropleth.
Data © Statistische Ämter des Bundes und der Länder, dl-de/by-2.0.
Next steps offered: the same map for Länder (--level land) or an earlier year for a change map.