2026 Legal Research Agent
name: 2026-legal-research-agent
description: >
Expert legal research agent for finding and scraping expungement data state by state.
Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.
Activate on "find expungement data", "scrape state laws", "legal research", "court URLs",
"statute sources", "Clean Slate laws", "automatic expungement research".
NOT for interpreting laws (use national-expungement-expert), building UI, or legal advice.
erlaubte-werkzeuge:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
- WebFetch
- WebSearch
- Task
Wann dieser Skill verwendet werden soll
Verwende diesen Skill, wenn du Folgendes benötigst:
- Autoritative Rechtsquellen finden für die Löschungsgesetze eines bestimmten Bundesstaates
- Firecrawl-Jobs konfigurieren, um Gerichtssysteme, Parlamente oder Rechtshilfeseiten zu scrapen
- Gescrappte Daten validieren auf Genauigkeit und Vollständigkeit
- Gesetzesänderungen 2026 recherchieren, einschließlich Clean-Slate-Gesetzen und Cannabis-Löschungen
- URL-Muster erstellen für die systematische Datensammlung pro Bundesstaat
- Lücken identifizieren in der bestehenden Abdeckung gescrappter Daten
Verwende diesen Skill NICHT für:
- Die Auslegung von Gesetzen (nutze
national-expungement-expert) - Die Erstellung von Benutzeroberflächen oder Komponenten
- Die Erteilung von Rechtsberatung an Benutzer
- Allgemeines Web-Scraping ohne Bezug zu juristischen Daten
Kernanweisungen
1. Hierarchie autoritativer Quellen
Bei der Recherche zu Löschungsgesetzen priorisiere Quellen in dieser Reihenfolge:
Stufe 1 (Primäre Autorität):
├── Websites der Landesparlamente (Gesetzestext)
├── Verwaltungsbüro der Landesgerichte
└── Veröffentlichungen des Generalstaatsanwalts
Stufe 2 (Offizielle Sekundärquellen):
├── Leitfäden der Anwaltskammern
├── Selbsthilfezentren der Gerichte
└── Öffentliche Rechtsdatenbanken (public.law, justia.com)
Stufe 3 (Tertiär, aber wertvoll):
├── Organisationen der Rechtshilfe (LSC-Zuschussempfänger)
├── Kliniken von juristischen Fakultäten
└── Wiedereingliederungsorganisationen (CCRC, NACDL)
Stufe 4 (Nur zur Überprüfung):
├── Kommerzielle Rechtsdatenbanken
├── Nachrichtenartikel über Gesetzesänderungen
└── Blogbeiträge von Anwälten
Erkennungsmerkmal: Ein Anfänger scrapet das erste Google-Ergebnis. Ein Experte weiß, dass courts.{state}.gov die Selbsthilfe-Formulare enthält, während legislature.{state}.gov den Gesetzestext enthält – und beide werden benötigt.
2. Kenntnis der URL-Muster nach Staatstyp
Bundesstaaten organisieren ihre juristischen Ressourcen unterschiedlich. Kenne die Muster:
Einheitliche Gerichtssysteme (Gerichte verwalten alles):
Kalifornien: courts.ca.gov/selfhelp-expungement.htm
Oregon: courts.oregon.gov/programs/exp/Pages/default.aspx
Washington: courts.wa.gov/forms/?fa=forms.contribute&formID=101
Geteilte Systeme (Parlament + Gericht getrennt):
Texas: txcourts.gov (Formulare) + texas.public.law (Statuten)
New York: nycourts.gov (Formulare) + nysenate.gov/legislation/laws (Statuten)
Florida: flcourts.gov (Formulare) + leg.state.fl.us/statutes (Statuten)
Public.law-Staaten (hervorragende Statuten-Hosting):
oregon.public.law, california.public.law, texas.public.law
michigan.public.law, washington.public.law
Erkennungsmerkmal: Zu wissen, dass apps.leg.wa.gov/RCW/ die Statuten-Datenbank von Washington ist, während leg.wa.gov die allgemeine Parlamentsseite ist – der RCW-Subdomain ist der Ort, an dem der eigentliche Gesetzestext lebt.
3. Bewusstsein für die Rechtslage 2026
Stand 2026 betreffen diese wesentlichen Änderungen die Recherche:
Clean-Slate-Staaten (automatische Löschung verabschiedet):
- Pennsylvania (2018), Utah (2019), New Jersey (2019), Michigan (2020)
- Kalifornien (2020), Connecticut (2021), Delaware (2021), Virginia (2021)
- Oklahoma (2022), Colorado (2022), New York (2023), Minnesota (2023)
- Maryland (2024), Illinois (2024), Oregon (2025)
Cannabis-Löschung (spezifische Gesetze):
- Die meisten Staaten haben jetzt separate Bestimmungen zur Cannabis-Löschung
- Suche nach „cannabis conviction" zusammen mit „expungement"
- Überprüfe auf rückwirkende Anwendungsdaten
Gesetzesänderungen 2025-2026 zu überprüfen:
- Oregon HB 2316 (erweiterte Berechtigung)
- Kalifornien AB 1076 (Ausweitung der automatischen Entlastung)
- Überprüfe das Restoration of Rights Project der CCRC für den aktuellen Status
Erkennungsmerkmal: Zu wissen, dass „automatische Löschung" nicht sofort bedeutet – Pennsylvanias Clean Slate hat eine 10-jährige Wartezeit für Verhaftungen und variiert je nach Straftat. Die Recherche muss diese Nuancen erfassen.
4. Fachwissen zur Firecrawl-Konfiguration
Bei der Konfiguration von Scrape-Jobs:
Extraktionsschema-Design:
// Für Statutenseiten extrahiere:
{
statuteCitation: "string", // z.B. "ORS 137.225"
title: "string", // z.B. "Setting aside conviction"
fullText: "string", // Vollständiger Gesetzestext
effectiveDate: "string", // Wann die aktuelle Version in Kraft trat
lastAmended: "string", // Datum der letzten Änderung
subsections: "array", // Geparste Unterabschnitte
}
// Für gerichtliche Selbsthilfeseiten extrahiere:
{
stateName: "string",
expungementPageUrl: "string",
formsLibraryUrl: "string",
selfHelpUrl: "string",
contactPhone: "string",
feeScheduleUrl: "string",
}
// Für Formulare extrahiere:
{
formNumber: "string", // z.B. "MC-440"
formTitle: "string",
pdfUrl: "string",
applicableTo: "array", // ["misdemeanor", "arrest"]
lastUpdated: "string",
}
Ratenbegrenzung für Regierungsseiten:
rateLimit: 2, // Max. 2 Anfragen/Sekunde für .gov-Seiten
timeout: 90000, // Regierungsseiten können langsam sein
maxRetries: 3, // Wiederholung bei Zeitüberschreitung
waitFor: 3000, // Warte auf JavaScript auf modernen Gerichtsseiten
Erkennungsmerkmal: Zu wissen, dass onlyMainContent: true für Statutenseiten gesetzt werden sollte (um die Navigationsleiste zu überspringen), aber onlyMainContent: false für Formularseiten (wo die Formularlinks oft in Seitenleisten sind).
5. Checkliste zur Datenvalidierung
Nach dem Scrapen validieren:
□ Statutenzitate entsprechen dem offiziellen Format (z.B. „ORS", nicht „Or. Rev. Stat.")
□ Wirksamkeitsdaten sind parsbar und sinnvoll (nicht in der Zukunft, nicht zu alt)
□ URLs sind aktiv und geben Status 200 zurück
□ PDF-Formularlinks laden tatsächlich PDFs herunter (keine HTML-Fehlerseiten)
□ Telefonnummern haben ein einheitliches Format
□ Gebührenbeträge sind numerisch und sinnvoll (0-500 $ typischer Bereich)
□ Staatscode korrekt extrahiert (auf mehrdeutige URLs achten)
Häufige Extraktionsfehler:
- „oregon.public.law" passt auf „la" (Louisiana) anstatt auf „or" (Oregon)
- Statutentext bei 10.000 Zeichen abgeschnitten (Limit erhöhen)
- Daten „zuletzt aktualisiert" für Formulare in inkonsistenten Formaten
- Landkreis-spezifische URLs fälschlicherweise als landesweit betrachtet
6. Prozess zur Lückenanalyse
Um fehlende Daten für einen Staat zu identifizieren:
# Prüfen, was wir haben
ls src/data/scraped/states/{state}/
# Erwartete Dateien für vollständige Abdeckung:
# - statutes.json (Berechtigungsregeln aus Gesetzestext)
# - court-system.json (Gerichts-URLs, Kontakte, Formularlinks)
# - forms/ (tatsächliche PDF-Formulare)
# - fees.json (Höhe der Gerichtsgebühren)
# - counties/ (landkreisspezifische Gerichtsdaten)
# Querverweis mit der Staatsdatendatei
grep -l "waitingPeriods\|eligibilityRules" src/data/states/{state}.ts
Prioritätsreihenfolge zum Füllen von Lücken:
- Statuten (Grundlage für alle Regeln)
- Gerichtsformulare (was die Benutzer tatsächlich einreichen müssen)
- Gebühreninformationen (Benutzer müssen budgetieren können)
- Landkreiskontakte (wo eingereicht werden muss)
- Spanische Ressourcen (Barrierefreiheit)
Anti-Patterns
Niemals Folgendes tun:
- Ohne Ratenbegrenzung scrapen – Regierungsseiten werden dich blockieren
- Sekundärquellen für Gesetzestexte vertrauen – Immer gegen Primärquellen verifizieren
- Annehmen, dass URL-Muster konsistent sind – Jeder Staat ist anders
- Wirksamkeitsdaten ignorieren – Gesetze ändern sich; gescrapte Daten benötigen Zeitstempel
- Landkreisseiten ohne staatlichen Kontext scrapen – Landkreisregeln ergänzen, ersetzen nicht das Landesrecht
- Selbsthilfeabschnitte überspringen – Enthalten oft die klarsten Berechtigungszusammenfassungen
- Alle Staaten gleich behandeln – Clean-Slate-Staaten haben grundlegend andere Prozesse
Häufige Fehler:
❌ Wikipedia für Gesetzestexte scrapen
✅ Die offizielle Gesetzessammlung des Landesparlaments scrapen
❌ findlaw.com als Primärquelle verwenden
✅ findlaw.com verwenden, um das Zitat zu finden, dann die offizielle Quelle scrapen
❌ Annehmen, dass „expungement" der einzige Begriff ist
✅ Suchen nach: expungement, sealing, set-aside, dismissal, destruction, pardons
❌ Wartezeiten als einfache Zahlen behandeln
✅ Straftatspezifische Wartezeiten erfassen (Verbrechen vs. Vergehen vs. Verhaftungen)
Projektspezifischer Kontext
Dieser Skill ist für das Projekt National Expungement Guide konzipiert:
Bestehende Infrastruktur
- Firecrawl-Skripte:
scripts/firecrawl/ - Job-Definitionen:
scripts/firecrawl/jobs.ts(P0-P4 Prioritäts-Jobs) - URL-Konfiguration:
scripts/firecrawl/config.ts(alle 50 Staaten) - Ausgabepfad:
src/data/scraped/states/{state}/ - Staatsdaten:
src/data/states/(TypeScript-Dateien pro Staat)
Scrapes ausführen
# API-Key setzen
export FIRECRAWL_API_KEY=your_key
# P0 ausführen (Landesstatuten + Gerichte) – Kosten ca. 0,20 $
npx tsx scripts/firecrawl/run-p0.ts
# Testlauf zur Vorschau
npx tsx scripts/firecrawl/run-p0.ts --dry-run
# Berichte prüfen
cat scripts/firecrawl/reports/p0-*.json
Datenfluss
Firecrawl-Scrape → src/data/scraped/{state}/*.json
↓
Manuelle Überprüfung + Bereinigung
↓
Integration in src/data/states/{state}.ts
↓
Verwendung durch Berechtigungs-Assistenten + PDF-Generator
Referenzen
Siehe Ordner references/ für:
url-patterns-by-state.md– Vollständige URL-Muster für alle 50 Staatenclean-slate-timeline.md– Wann jedes Clean-Slate-Gesetz verabschiedet wurde und in Kraft tratfirecrawl-schemas.md– Alle verwendeten Extraktionsschemata
Beispiel-Workflow
Benutzeranfrage: „Recherchiere Kaliforniens Löschungsgesetze von 2026 und scrape die neuesten Daten"
Agent-Workflow:
- Vorhandene Daten prüfen:
ls src/data/scraped/states/ca/ - Aktuelle Statutenversion auf
california.public.lawverifizieren - Auf Gesetzesänderungen 2025-2026 via CCRC oder Nachrichtensuche prüfen
scripts/firecrawl/config.tsaktualisieren, falls sich URLs geändert haben- Gezielten Scrape ausführen: CA-spezifische URLs zum P0-Job hinzufügen
- Extrahierte Daten anhand bekannter Statutenzitate validieren
- Gefundene Lücken oder Änderungen dokumentieren