Österreichische Rechtsprechung über die offene RIS-API (data.bka.gv.at v2.6) thematisch durchsuchen — OGH, OLG, LG, BG, VfGH, VwGH, BVwG, LVwG, DSB, GBK u. a. Liefert pro Treffer Metadaten (Geschäftszahl, Entscheidungsdatum, Leitsatz) und einen Direkt-Link in das RIS. TRIGGER bei thematischen Fragen wie "Gibt es OGH-Judikatur zu Mietzinsminderung in der Pandemie?", "Aktuelle BVwG-Entscheidungen zu Afghanistan-Asyl", "Was sagt der VfGH zur Versammlungsfreiheit seit 2020?". NICHT TRIGGERN für gezielte Lookups einer bekannten Geschäftszahl oder Rechtssatznummer — das ist im RIS-Web-Frontend schneller.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Österreichische Rechtsprechung über die offene RIS-API (data.bka.gv.at v2.6) thematisch durchsuchen — OGH, OLG, LG, BG, VfGH, VwGH, BVwG, LVwG, DSB, GBK u. a. Liefert pro Treffer Metadaten (Geschäftszahl, Entscheidungsdatum, Leitsatz) und einen Direkt-Link in das RIS. TRIGGER bei thematischen Fragen wie "Gibt es OGH-Judikatur zu Mietzinsminderung in der Pandemie?", "Aktuelle BVwG-Entscheidungen zu Afghanistan-Asyl", "Was sagt der VfGH zur Versammlungsfreiheit seit 2020?". NICHT TRIGGERN für gezielte Lookups einer bekannten Geschäftszahl oder Rechtssatznummer — das ist im RIS-Web-Frontend schneller.
Du recherchierst österreichische Gerichtsentscheidungen über die offene
RIS-API v2.6 (Rechtsinformationssystem des Bundes, betrieben vom
Bundeskanzleramt). Die API ist authentifizierungsfrei und liefert JSON.
Scope dieses Skills: nur Rechtsprechung (Judikatur), nur Metadaten +
Link. Es wird kein Volltext heruntergeladen oder konvertiert. Bundes- und
Landesrecht sind nicht enthalten.
Wann diesen Skill anwenden
Hauptpfad — thematische / explorative Recherche im Chat:
nach Stichworten / Schlagworten (--suchworte, --schlagworte)
in einem bestimmten Zeitraum (--von / --bis)
bei einer bestimmten Gerichtsbarkeit (--applikation)
Beispiele, die diesen Skill triggern:
„Gibt es OGH-Judikatur zu Mietzinsminderung in der Pandemie?"
„Aktuelle BVwG-Entscheidungen zu Afghanistan-Asyl seit 2023"
„Was sagt der VfGH zur Versammlungsfreiheit?"
Sekundärpfade (technisch unterstützt, aber meist im RIS-Web-Frontend
schneller — nur nutzen, wenn der User explizit darum bittet oder die
Suche aus dem Chat-Kontext heraus eindeutig per Skript schneller geht):
Norm-Suche → Rechtssätze: bei reiner --norm-Suche (ohne
--suchworte) liefert die OGD-API per Default überwiegend
Rechtssätze, kaum Volltext-Entscheidungen — Rechtssätze sind im
Norm-Index hinterlegt, Entscheidungstexte erst über die zusätzlichen
Flags SucheNachRechtssatz / SucheNachText. Das Skript sendet diese
Flags bewusst nur bei --suchworte-Suchen, weil bei reiner
Norm-Recherche Rechtssätze i. d. R. die gewollte Trefferart sind.
Nicht anwenden, wenn:
die Frage rein dogmatisch / rechtspolitisch ist, ohne Bezug zu einer
konkreten Entscheidung (z. B. „Was sagt die Lehre zu §..." → Kommentar,
nicht RIS),
Bundes-/Landesrecht gemeint ist (Gesetzestext, nicht Rechtsprechung),
nach EuGH/EGMR-Urteilen gefragt wird (RIS enthält nur österreichische
Gerichte; ggf. wird die österreichische Folgejudikatur gesucht — dann
Skill anwenden, aber den Hinweis geben),
nach laufenden Verfahren oder Pressemitteilungen gefragt wird (RIS
enthält nur veröffentlichte Entscheidungen).
API-Grundlagen
Base-URL: https://data.bka.gv.at/ris/api/v2.6/
Endpoint Rechtsprechung: GET /Judikatur
Response-Format: JSON (Accept: application/json)
Keine Auth, keine Quotas, aber:
Bei Pagination 1–2 s Pause zwischen Seiten einlegen.
Massenabfragen außerhalb 06–18 Uhr (MEZ) oder am Wochenende.
Bei Fehlern Geduld haben — das System teilt sich Ressourcen mit dem Web-Frontend.
Pflichtparameter
Applikation (genau einer):
Wert
Gericht/Behörde
Justiz
OGH, OLG, LG, BG (Zivil-/Strafgerichtsbarkeit) — Standard
Vfgh
Verfassungsgerichtshof
Vwgh
Verwaltungsgerichtshof
Bvwg
Bundesverwaltungsgericht
Lvwg
Landesverwaltungsgerichte
Dsk
Datenschutzbehörde (vormals -kommission)
AsylGH
Asylgerichtshof (historisch, bis 2013)
Normenliste
Normprüfungs-/Normenliste
Pvak
Personalvertretungs-Aufsichtskommission
Gbk
Gleichbehandlungskommission
Dok
Disziplinarkommission
Plus mindestens einer dieser Suchparameter (sonst HTTP 400):
Parameter
Beispiel
Hinweis
Suchworte
Mietzinsminderung
URL-encoden; * nur am Wortende; AND/OR/NOT. OGD-API-Einschränkung: nur ein Platzhalter pro Wort (Web-Frontend toleriert mehrere).
Geschaeftszahl
5Ob234/20b
exakte Aktenzeichen-Suche
Norm
ABGB §1319a
Format: {Gesetzeskürzel} §{Paragraph} (kanonische Zitierform) — andere Reihenfolgen wie 1319a ABGB liefern fast keine Treffer. Fehlt nur das §-Zeichen (ArbVG 105), ergänzt das Skript es automatisch und schreibt einen Hinweis in den Output. Für EU-Verordnungen (z. B. DSGVO) ist der Norm-Index unzuverlässig; lieber Volltextsuche via Suchworte.
Rechtssatznummer
RS0123456
bei OGH-Rechtssatz-Suche
Schlagworte
Datenschutz
kontrolliertes RIS-Vokabular
EntscheidungsdatumVon / Bis
2024-01-01
ISO-Datum
Optional:
SucheNachRechtssatz, SucheNachText — steuern, in welchen Feldern
das Suchworte-Token gesucht wird (Rechtssatz-Text vs.
Entscheidungstext). Nicht ein Filter für Trefferarten — auch mit
--no-rechtssatz können Rechtssatz-Dokumente zurückkommen, wenn der
Suchbegriff im Volltext gefunden wurde. Das Skript sendet die Flags
nur bei --suchworte-Suchen.
Sortierung ∈ {Datum, Geschaeftszahl, Relevanz} — die API toleriert
weitere Werte; nur die hier gelisteten sind in den RIS-Handbüchern dokumentiert.
Skript-Default: setzt das Skript weder --sortierung noch
--sort-direction, sortiert es nach Datum/Descending (im
Chat-Kontext meist gewollt — „aktuelle Judikatur zu …"). Der
API-Default Relevanz ist mit --sortierung Relevanz zurückzuholen.
Seitennummer (1-basiert) — bei --alle-seiten der Einstiegspunkt
Auto-Pagination: --alle-seiten holt mehrere Seiten automatisch,
bis Treffer erschöpft oder --max-seiten N (Default 5) erreicht.
RIS-konforme Pause zwischen Seiten konfigurierbar via
--pause-pagination (Default 1.5 s). Default-Cap: 5 × 20 = 100
Treffer. Für breite Themen-Recherchen mit --pro-seite Fifty --alle-seiten --max-seiten 5 bis zu 250 Treffer auf einmal.
Empfohlenes Vorgehen
Verwende immer das beigelegte Skript scripts/ris_search.py (Python 3,
nur Standardbibliothek). Es kapselt URL-Bau, Pflichtparameter-Validierung,
JSON-Parsing und Rendering in einem Aufruf.
Aufruf — das Skript liegt immer bei scripts/ris_search.py
relativ zum Skill-Ordner (dem Verzeichnis, das diese SKILL.md enthält).
Der absolute Pfad zum Skill-Ordner hängt von der Umgebung ab; Du als
ausführendes Modell weißt, in welcher Umgebung Du läufst.
Generisches Aufrufmuster — cd in den Skill-Ordner, dann relativ
aufrufen. Standard-Chat-Recherche (Themensuche mit Auto-Pagination):
Liefert bis zu 150 Treffer, sortiert nach Datum absteigend (Default).
Python-Aufruf je Umgebung — probiere in dieser Reihenfolge:
python → python3 → py -3. Üblicherweise:
Linux / macOS / Claude.ai-Sandbox: python3 oder python
Windows (Claude Code): py -3 (python3 fehlt meist im PATH)
Skill-Ordner je Umgebung — typische Pfade:
Claude Code (Linux/macOS): ~/.claude/skills/ris-rechtsprechung/
Claude Code (Windows): %USERPROFILE%\.claude\skills\ris-rechtsprechung\
Claude.ai Custom Skills: vom Harness gemounteter Pfad (meist unter
/mnt/skills/... oder /home/.../skills/...); folge der Pfadangabe,
die Dir der Skill-Loader liefert.
Falls cd in der Umgebung nicht zur Verfügung steht (manche Sandboxes),
verwende den absoluten Pfad zum Skript, z. B.:
Ausgabe ist Markdown (Default) oder strukturiertes JSON (--json).
Antwort an den User: die Top-Treffer mit Geschäftszahl, Datum,
Leitsatz (sofern vorhanden) und RIS-Link weitergeben. Bei mehr als 10
Treffern die ersten 10 ausführlich, den Rest als Bullet-Liste.
Pagination: bei mehr als einer Seite vor jeder weiteren Anfrage
ca. 1,5 s warten (RIS-Empfehlung).
Skript-Output
Default (Markdown). Für Rechtssatz-Dokumente (häufigster Fall bei
Norm-Suchen — Rechtssätze sind im Norm-Index hinterlegt):
**Treffer:** 7 (Seite 1, 10 pro Seite)
### 1. OGH 2 Ob 554/86 vom 28.10.1986 [Rechtssatz RS0051942]
**Norm:** ArbVG §105 Abs3 Z2 litb
- [Rechtssatz im RIS](https://www.ris.bka.gv.at/Dokument.wxe?Abfrage=Justiz&Dokumentnummer=JJR_19861028_OGH0002_0020OB00554_8600000_007)
- [Volltext der Stammentscheidung](https://www.ris.bka.gv.at/Dokument.wxe?Abfrage=Justiz&Dokumentnummer=JJT_19861028_OGH0002_0020OB00554_8600000_000)
_Auch zitiert in 21 weiteren Entscheidungen._
Für Volltext-Dokumente:
### 2. OGH 5 Ob 234/20b vom 15.04.2021 [Volltext]
_Leitsatz:_ ...
**Norm:** ABGB §1119
- [Zur Entscheidung im RIS](https://ris.bka.gv.at/Dokumente/Justiz/JJT_20210415_OGH0002_.../JJT_....html)
Anmerkungen
Heading aus Stamm-Entscheidung: Bei Rechtssätzen liefert die API
in Geschaeftszahl eine Verkettung aller zitierenden Geschäftszahlen
und in Entscheidungsdatum das jüngste Update-Datum. Beides ist
irreführend. Wir nutzen stattdessen Justiz.Entscheidungstexte.item[0]
— die Stamm-Entscheidung — als Quelle für Heading-GZ + Datum.
Volltext-URL bei Rechtssätzen: kommt direkt aus der API (Stamm-
DokumentUrl), nicht mehr aus der Heuristik. Die Heuristik bleibt
als Fallback für seltene Sonderfälle.
Gericht aus Technisch.Organ (zuverlässiger als
Justiz.Gericht). Fallback auf Applikation.
Rechtssatznummer im Doktyp-Label:[Rechtssatz RS0051942] —
praktisch zum Zitieren.
„Auch zitiert in N weiteren Entscheidungen": Anzahl − 1 (die
Stamm zählt nicht), nur ausgegeben wenn N > 1.
Datumsformat: ISO-Datum → DD.MM.YYYY.
JSON-Output
--json liefert ein normalisiertes Objekt mit allen Feldern:
{"total_hits":7,"page":1,"page_size":10,"documents":[{"dokumentnummer":"JJR_19861028_OGH0002_0020OB00554_8600000_007","applikation":"Justiz","gericht":"OGH","doc_type":"Rechtssatz",// "Volltext" | "Rechtssatz" | null"rechtssatznummer":"RS0051942",// null bei Volltext-Dokumenten"geschaeftszahl":"2 Ob 554/86",// Stamm-GZ aus Entscheidungstexte[0]"geschaeftszahlen":[...],// ALLE zitierenden GZ"entscheidungsdatum":"1986-10-28",// Stamm-Datum"leitsatz":null,// Bei Rechtssätzen meist null"normen":["ArbVG §105 Abs3 Z2 litb"],"fachgebiete":[],"entscheidungstexte_count":22,"link":"https://www.ris.bka.gv.at/Dokument.wxe?...JJR_..._007","volltext_url":"https://www.ris.bka.gv.at/Dokument.wxe?...JJT_..._000","content_urls":{"html":"...","pdf":"...","xml":"...","rtf":"..."}}]}
doc_type und rechtssatznummer sind nur bei OGH/VfGH/VwGH-Dokumenten
zuverlässig gesetzt (J{Court}{T|R}-Konvention). Andere Applikationen
(BVWG, LVWG, DSB u. a.) folgen der Konvention nicht; dort bleibt
doc_type = null.
--raw gibt die unveränderte API-Antwort aus, falls du selbst parsen willst.
Direkte HTML-Volltext-URLs
Aus der Dokumentennummer ableitbar (Präfix → Pfad):
Validierung: Dokumentennummern matchen ^[A-Z][A-Z0-9_]+$, Länge 5–50.
Das Skript leitet diesen Link automatisch ab und stellt ihn unter link
bzw. content_urls.html bereit.
Volltext-Download ist explizit nicht Teil dieses Skills. Wenn der
User den Volltext einer Entscheidung will, gib ihm den Link aus dem
Trefferdatensatz und überlasse ihm das Lesen.
Web-Search-Fallback (bei 0 API-Treffern)
Bei Suchworte-Anfragen mit 0 Treffern erzeugt das Skript automatisch eine
Google site:-Such-Query nach dem Muster
und gibt sie zusammen mit dem Hinweis aus. Hintergrund: Google indexiert
das RIS-Web-Frontend deutlich breiter als der OGD-API-Volltext-Index —
insbesondere bei alten Entscheidungen (vor ca. 1990), wo der API-Volltext
oft amputiert oder gar nicht durchsuchbar ist.
Wenn Du in einem Claude-Kontext mit web_search-Tool läufst: sobald
Du die Query im Output siehst, übergib sie unverändert an das
web_search-Tool. Aus den Treffern extrahierst Du RIS-URLs der Form
https://www.ris.bka.gv.at/Dokument.wxe?Abfrage=…&Dokumentnummer=… und
holst Dir bei Bedarf den Volltext mit web_fetch. Daraus baust Du dann
dieselben Trefferzeilen wie aus der API-Antwort (Geschäftszahl, Datum,
Leitsatz/Rechtssatz, Link).
Das Skript selbst führt keine Web-Suche aus — die Logik bleibt bei
Claude. Im JSON-Output ist die Query als websearch_query-Feld
verfügbar; im Markdown-Output steht sie im Hinweis-Block am Ende der
Trefferliste.
Fehlerfälle
HTTP 400 → mindestens einen Suchparameter ergänzen oder spezifischer machen.
0 Treffer bei Suchworte trotz nachweisbarem Vorkommen →
Bekannte Limitation des OGD-Volltext-Index, insbesondere bei alten
Entscheidungen (vor ca. 1990). Der Volltext kann existieren und das
Suchwort enthalten, ohne dass der API-Index ihn findet. Das Skript
generiert in diesem Fall automatisch eine Google site:-Such-Query
als Fallback (siehe Abschnitt Web-Search-Fallback).
Timeout → einmal mit kleinerem --pro-seite wiederholen (das Skript
retried automatisch zwei Mal mit 2/4 s Pause).
Im Repo liegt der Skill unter
recherche-ris-rechtsprechung/skill-draft/ris-rechtsprechung/ und ist
self-contained: ein Ordner mit SKILL.md und scripts/ris_search.py.
Da das Skript ausschließlich die Python-Standardbibliothek nutzt, ist
keine Build-Phase und keine Pip-Installation nötig.
Wichtig: Im selben Settings-Bereich unter
Web search & code execution → Network access die folgenden Hosts
freigeben. Falls Claude.ai Wildcards akzeptiert, deckt
*.bka.gv.at alle drei mit einem Eintrag ab.
data.bka.gv.at — OGD-API (Pflicht; ohne das blockt die Sandbox
alle Skript-Aufrufe).
ris.bka.gv.at — RIS-Direkt-HTML-URLs der Form
/Dokumente/Justiz/JJT_…/JJT_….html (abgeleitete „Volltext
(vermutet)"-Links bei Rechtssatz-Treffern; Hinweis-Link auf
die RIS-Web-Suche https://www.ris.bka.gv.at/Judikatur/ bei 0
Volltext-Treffern).
www.ris.bka.gv.at — Dokument.wxe?…-URLs, die die API selbst
in der Trefferliste zurückgibt.
Voraussetzung: Python ≥ 3.9 in der ausführenden Umgebung. Keine
Pip-Pakete nötig.
Lizenz, Namensnennung, Disclaimer
Die über die OGD-Schnittstelle bezogenen RIS-Daten stehen unter
Creative Commons Namensnennung 4.0 International (CC BY 4.0).
Bei Wiedergabe ist die Quelle zu nennen — das Skript hängt deshalb
an jeden Markdown-Output automatisch eine Attribution-Zeile
(Quelle: RIS, Bundeskanzleramt — CC BY 4.0) und im JSON-Output ein
attribution-Feld.
Rechtlich verbindlich ist laut Bundeskanzleramt ausschließlich
der Wortlaut im Bundesgesetzblatt (Applikation
„Bundesgesetzblatt authentisch") bzw. in den jeweiligen
Landesgesetzblättern. Der OGD-Datenbestand wird ohne Gewähr für
Richtigkeit, Aktualität oder Vollständigkeit bereitgestellt. Wenn Du
RIS-Treffer im Chat ausgibst, formuliere entsprechend — die
zurückgelieferten Texte sind Recherchehilfe, keine authentische
Rechtsquelle.
Massenabfragen: ein durchschnittlicher Skill-Aufruf (bis 5 Seiten
× 100 Treffer) ist unbedenklich. Wer den Skill systematisch über den
Tag verteilt nutzt oder --max-seiten deutlich hochdreht, sollte das
RIS-Team unter ris.it@bka.gv.at vorab informieren (siehe OGD-FAQ),
um nicht versehentlich als DDoS-Verkehr klassifiziert zu werden.