Juristische Recherche
Diese Fertigkeit nähert sich einem Tiefen-Recherche-Lauf an, spezialisiert auf Jura und optimiert auf Effizienz als Standard.
Sie führt eine Abruf-Pipeline über freie / offene Rechtsquellen im Web durch (kein Westlaw/Lexis);
die stufenweise Struktur, Grenzen und Modellzuordnung befinden sich in Schritt 4 neben dem Aufruf. Das Design
hält den Token-Verbrauch niedrig – die dominierende Kostenkomponente bei naivem Fan-Out ist, dass ein Frontier-Modell jede abgerufene
Seite liest – und verhindert gleichzeitig halluzinierte Zitate. Fügen Sie deep hinzu (z. B. „mach einen tiefen Durchlauf“) für wichtige Arbeiten, bei denen Gründlichkeit vor Geschwindigkeit geht.
Quellen (offenes Web)
Rechtsprechung: CourtListener, Justia, Google Scholar (Rechtsprechung), Cornell LII, Caselaw Access Project, offizielle Gerichtsseiten. Wissenschaft: SSRN, Google Scholar, Digital-Commons-Repositorien von juristischen Fakultäten, HeinOnline Open Content, Zeitschriftenseiten, Fakultätsseiten. Wissenschaftsmodi durchsuchen auch die eigene Zotero-Bibliothek des Nutzers über den Zotero MCP-Server (wird bei Nichtverfügbarkeit übersprungen).
Ausführung
1. Anfrage analysieren
Extrahieren Sie aus der Eingabe des Nutzers:
- question – die Rechtsfrage (erforderlich).
- mode –
caselaw,scholarshipoderboth. Standard:both. Aus dem Wortlaut ableiten („Was halten Gerichte“ → caselaw; „Stand der Literatur / wissenschaftliche Debatte“ → scholarship). - outputStyle –
practitioner(Question Presented / Brief Answer / IRAC) oderacademic(Einleitung / Übersicht / Analyse / Fußnoten). Standard: practitioner für caselaw, academic für scholarship und both. Einen expliziten Überschreibungsbefehl berücksichtigen. - jurisdiction, asOfDate (Standard heute) und ggf. notes (Fakten, Verfahrensstand, Umfang).
2. Nur bei tatsächlichen Hindernissen nachfragen
Wenn die Frage zu vage für eine gute Recherche ist, stellen Sie 2–3 gezielte Fragen, bevor Sie starten. Bei Rechtsprechung sind Gerichtsbarkeit und Verfahrensstand am wichtigsten; bei Wissenschaft die spezifische These oder Unterfrage und ggf. ein Zeitfenster. Fragen Sie nicht zu viel – wählen Sie sinnvolle Standardwerte und vermerken Sie diese.
3. Vorbereitung: Sicherstellen, dass Web-Tools erlaubt sind (UNBEDINGT VOR DEM START)
Die Recherche-Subagenten nutzen WebSearch und WebFetch intensiv. Wenn diese Tools nicht vorab erlaubt sind, führt jeder Aufruf zu einer interaktiven Berechtigungsabfrage – und eine unterbrochene Abfrage kann einen Recherche-Agenten mitten im Lauf abbrechen (ein echtes Fehlerszenario: ein vorheriger Lauf hat 2 von 4 Vektoren verloren).
Bevor Sie den Workflow aufrufen, stellen Sie den Lauf autark:
- Lesen Sie
~/.claude/settings.jsonund prüfen Siepermissions.allowauf"WebFetch"und"WebSearch". - Falls eines fehlt, fügen Sie es hinzu (fügen Sie es in das vorhandene
allow-Array ein – ersetzen Sie es niemals; erstellen Sie den Pfadpermissions.allow, falls nicht vorhanden). Wenn beide bereits vorhanden sind, tun Sie nichts. - Fragen Sie den Nutzer nicht danach – das ist Routine-Setup für die Fertigkeit. (Wenn die Datei verwaltet/
schreibgeschützt ist und Sie sie nicht bearbeiten können, teilen Sie dem Nutzer mit, dass er pro Abruf Aufforderungen sehen wird und diese akzeptieren
sollte, oder fügen Sie die Regel über
/permissionshinzu.) - Optional, aber einen Blick wert: Die deterministische Zitierungsverifizierung benötigt ein CourtListener-API
Token. Testen Sie es, suchen Sie nicht nach einer Datei – führen Sie
python3 ${CLAUDE_PLUGIN_ROOT}/skills/legal-research/check_cite.py "347 U.S. 483"aus; exit 0 mit"found": truebedeutet, dass das Token funktioniert und nichts zu melden ist.check_cite.pylöst das Token ausCOURTLISTENER_API_TOKEN, dannCOURTLISTENER_TOKEN, dann der Datei~/.config/courtlistener/tokenauf – in dieser Reihenfolge, und der Umgebungsvariablenweg (häufig imenv-Block von~/.claude/settings.jsongesetzt) ist der normale Installationsweg, daher beweist das Fehlen der Datei nichts. Wenn die Prüfung tatsächlich fehlschlägt, blockieren Sie den Lauf nicht – Verifizierungsagenten fallen auf Web-Checks zurück –, aber erwähnen Sie es einmal im Ergebnisschritt (Token-Seite: https://www.courtlistener.com/profile/api-token/).
4. Workflow starten
Rufen Sie das Workflow-Tool mit dem gebündelten Skript und den analysierten Argumenten auf:
Workflow({
scriptPath: "${CLAUDE_PLUGIN_ROOT}/skills/legal-research/legal-research.workflow.js",
args: {
skillsDir: "${CLAUDE_PLUGIN_ROOT}/skills", // wo die gebündelten Hilfsskripte leben
question: "<die Rechtsfrage>",
mode: "caselaw" | "scholarship" | "both",
outputStyle: "practitioner" | "academic",
jurisdiction: "<z. B. federal / 9th Cir. / Missouri / U.S. Supreme Court>",
asOfDate: "<YYYY-MM-DD oder 'today'>",
notes: "<Fakten, Verfahrensstand, Umfang, alles, was der Nutzer betont hat>",
deep: false, // true nur, wenn der Nutzer einen tiefen/gründlichen/wichtigen Durchlauf anfordert
projectDir: "<das aktuelle Arbeitsverzeichnis – ermöglicht den lokalen Korpus-Erhebungsvektor;
nur weglassen, wenn das cwd eindeutig nichts mit der Frage zu tun hat>"
}
})
Standardmäßig schlank: ~4 reine Such-Erhebungsvektoren (plus eine Zotero-Bibliotheksdurchsuchung in Wissenschaftsmodi
und eine lokale Korpus-Durchsuchung von projectDir – frühere Memos und heruntergeladene Quellen sind Karten und Hinweise,
niemals zitierfähige Autoritäten). Scope klassifiziert auch die Frage (dogmatisch vs. wissenschaftlich; historisch
oder nicht) – das wählt eine analytische Methodenkurzanleitung, die in Draft (Synthesedisziplin,
holding/dicta-Hygiene, epochenübergreifende Taxonomie für dogmatische Geschichtsfragen) injiziert wird, und, für historische
Fragen, verteilt die Suchvektoren über Zeitschichten, sodass die Abdeckung nicht auf dem modernen Kanon klumpt.
Direktantwort-Abdeckungszelle (Wissenschaft/Beides, hinzugefügt am 2026-07-16, nachdem ein Codex-Vergleichslauf einen 64-Agenten-Claude-Lauf zur tatsächlichen Frage geschlagen hat): Scope muss mindestens einen
Vektor der Wissenschaft widmen, die das GENANNTE PHÄNOMEN der Frage als ihr eigenes Objekt behandelt – aufgebaut aus
den Fachbegriffen des Titels, die ein Experte erwartet, und einschließlich einer Zitierungsjagd des treffendsten Stücks –
unterschieden von den angrenzenden Literaturen, zu denen das Phänomen lediglich gehört. Erhebung kennzeichnet solche zentralen Kandidaten;
Triage befördert sie zu vollständigen Lektüren vor breiten angrenzenden Erhebungen. Der Fehler, den dies behebt: Kartierung von fünf angrenzenden Literaturen (außergerichtliche Äußerungen, Befangenheit, Prominenz), während die Handvoll Werke, die sich direkt mit dem Phänomen befassen, übersehen werden (z. B. Studien zu Richterautobiografien, Ethikabschnitte zu „Buchdeals von Richtern“) und diese Korpuslücke dann für einen Befund gehalten wird, dass „keine direkte Wissenschaft existiert.“ Fehlen/Lücken-Behauptungen sind jetzt durch ein Audit der Auslassung zentraler Quellen (in der wissenschaftlichen Methodenkurzanleitung) abgesichert: kein „keine Wissenschaft adressiert X direkt“, es sei denn, eine phänomenbezogene Suche UND eine Zitierungsjagd in beide Richtungen wurden tatsächlich durchgeführt – andernfalls wird die Behauptung auf „in den geprüften Quellen“ eingeschränkt und die nicht durchgeführte Suche gekennzeichnet. Fan-Out ist um Abdeckungszellen organisiert, und die Agentenobergrenze ist eine Obergrenze, kein Kontingent – sich nicht überschneidende Spuren schlagen viele überlappende allgemeine Suchen. Pipeline: Erhebungsvektoren → Deduplizierung → ≤8 eindeutige Volltextlesungen insgesamt (nicht pro Vektor;
Leser fallen auf Open-Access-Mirrors zurück – Digital Commons, Autorenseiten, CourtListener/LII –,
bevor sie aufgeben, leiten PDFs durch einen hart größenbegrenzten Abrufer, fetch_page.py, extrahieren
Verfahrensstand/Einschränkung/Sondervoten/Bedeutung zusammen mit der Aussage und dem Zitat) → eine Sitzungsmodell-Entwurf (geleitet von der Methodenkurzanleitung) → eine begrenzte Lückenfüllung (≤3
gezielte Abrufe plus eine Wiederholungswelle, nur wenn der Entwurf fehlende Autoritäten kennzeichnet) → blockweise
Zitierungsprüfungen nur der zitierten Autoritäten (8 pro Agent; Fallzitate deterministisch bestätigt über
CourtListers Zitat-Abfrage-API, check_cite.py, plus eine systematische Sichtung der zitierenden Meinungen
über cl_case_tools.py citing – eine relevanzbewertete Treatment-Sprachabfrage über die tatsächlichen zitierenden Meinungen des Falls,
mit einem Aktualitätsdatum, ersetzt die alte Ein-Such-Durchsicht; Quellen, die ein Leser bereits in diesem Lauf geöffnet hat, überspringen die
Existenzprüfung) → leichte Finalisierung. Nicht ausgewählte Kandidaten UND die Autoritäten, auf die sich die gelesene Quelle selbst stützt, werden in den Entwurf als abgesicherte ungelesene Leads übernommen, sodass die Breite weit bleibt, während die Abrufe gering bleiben. Jeder Lauf ist ausgabenbewacht: eine fest verdrahtete weiche Obergrenze (~250k Ausgabetoken schlank, ~1M tief – am 2026-07-15 von 600k angehoben, nachdem ein tiefer historischer Lauf mitten in der Leiter hängen blieb und 35 von 43 Zitaten ungeprüft ließ) bewaffnet dieselbe elegante Degradationsleiter wie ein explizites +500k-Budget – Lesungen kürzen → Lückenfüllung überspringen → nur tragende Zitate prüfen – sodass ein ausufernder Lauf degradiert, anstatt sich hochzuschaukeln. Lese-, Lückenfüllungs- und Verifizierungsagenten tragen alle einen Zugriffsdisziplinblock (am selben Datum hinzugefügt): harte Versuchsobergrenzen, nur WebSearch/WebFetch, und ein explizites Verbot von Browserautomatisierung, Bibliotheksproxys und SSO/Login-Abläufen – eine paywall-geschützte Quelle ist ein ehrliches opened=false, kein Grund zum Durchhalten. Modelle: Haiku nur für die Suchschnipsel-Erhebung; Sonnet für Triage, Volltextlesungen und Verifizierung; Scope, Draft und Finalize erben das Sitzungsmodell (Fable, wenn Fable aktiv ist). deep:true (oder ein +800k-artiges Token-Budget) erweitert auf bis zu 7 Vektoren, erhöht das Leselimit auf 16 und gibt jeder tragenden Zitation (auf 8 begrenzt) einen 3-stimmigen adversariellen Widerlegungsdurchlauf (öffnet Quellen erneut, um Zitate wörtlich zu bestätigen). Der Workflow läuft im Hintergrund und benachrichtigt Sie bei Abschluss.
5. Ausliefern
Der Workflow gibt { memo, exitState, degradation, counts, ... } zurück.
exitStateVOR der Präsentation prüfen.complete→ ausliefern.complete_with_limits→ ausliefern, mit Auflistung der dokumentierten Lücken (indegradationund im Abschnitt „Grenzen“ des Memos).budget_exhausted→ das Budget-Sicherungssystem hat die tatsächliche Abdeckung eingeschränkt (gekürzte Lesungen, übersprungene Lückenfüllung, ungeprüfte Zitate – siehedegradationfür Details); das Memo ist noch nicht das auslieferbare Ergebnis. Das bewährte Rettungsmuster (Juli 2026 vor 1960 Lauf): starten Sie gezielte Lese- und Verifizierungs-Agenten-Pässe – einen pro nicht abgedecktem Bereich, jeder mit den spezifischen Fällen/Zitaten, die zu holen und gegen offiziellen Berichtstext zu bestätigen sind (CAP static.case.law / LOC usrep Scans) – schreiben Sie dann das endgültige Memo selbst aus dem verifizierten Kern des Workflows plus den ergänzenden Pässen. Geben Sie dem Nutzer kein Memo, das „Vertrauen: unzureichend“ für die Hälfte seines Umfangs sagt, ohne entweder die Lücken zu füllen oder nachzufragen. Rettungsagenten benötigen dieselbe Zugriffsdisziplin wie Workflow-Agenten (Lehre aus einem Juli 2026 Wissenschaftslauf, bei dem ein unbegrenzter Rettungsagent 30+ Minuten und ~245k Token damit verbrannte, auf Browserautomatisierung gegen einen paywall-geschützten Artikel von 1962 zu eskalieren): schreiben Sie in jeden Rettungs-Prompt eine harte Versuchsobergrenze (~3 pro Quelle), nur WebSearch/WebFetch, ein explizites Verbot von Browserautomatisierung / Bibliotheksproxys / SSO-Abläufen und die Anweisung, dass „paywall-geschützt – hier ist die stärkste Basis, die ich erreicht habe“ eine vollkommen akzeptable Antwort ist. Wenn ein Rettungsagent trotzdem weiterarbeitet, senden Sie ihm eine Nachricht, um abzuschließen und zu berichten, anstatt abzuwarten.- Präsentieren Sie das Memo dem Nutzer als primäres Ergebnis.
- Hyperlinks (erforderlich, gemäß Autor, 2026-08-29): jede Nachrichtenmeldung, jeder Blogbeitrag oder jede andere Web-Quelle im Memo muss ihre funktionierende URL als klickbaren Link tragen – niemals eine reine Quellenangabe wie „(Politico)“ oder „(Roll Call, 14. Juli 2026)“. Der Zitierungsblock des Workflows setzt dies in Agenten-Prompts durch; halten Sie handschriftliche Bearbeitungen, Rettungspässe und alle Ad-hoc- (Nicht-Workflow-)Forschungsmemos an dieselbe Regel und weisen Sie alle Rettungs-/Füllagenten an die URL für jede von ihnen zitierte Quelle zurückzugeben (eine Behauptung ohne URL ist ungeprüft).
- Forschungsmemo-Kopfzeile und Produktionsfußzeile (erforderlich, gemäß Autor – globale Regel in
~/.claude/CLAUDE.md): das Memo beginnt direkt unter dem Titel mit dem strukturierten
Kopfblock (
Thema:/Datum:/Von:); der BlockProduktionsdetails:steht ganz am Ende der Datei (nach allen Anhängen, inkl. „Grenzen dieser Forschung“, abgesetzt durch eine----Linie) – niemals oben.Datumist das lokale Datum/die Uhrzeit, zu der das Memo ausgeliefert/geschrieben wurde;VonistClaude-<Orchestrierendes Sitzungsmodell>(exakte ID);Produktionsdetailsnennt die Fertigkeit, das/die Workflow-Agenten-Modell(e), die tatsächlich verwendet wurden (aus den agentenspezifischen Fortschrittseinträgen des Laufs lesen – nicht annehmen), die Wanduhr-Dauer und die Token-Anzahl aus dem<usage>-Block der Fertigstellungsbenachrichtigung (gekennzeichnet als Subagent-Ausgabetoken; Orchestrierer-Overhead nicht enthalten). Wenn nach dem Workflow Rettungs-/Füllpässe liefen, fügen Sie deren Agentenanzahlen hinzu und vermerken Sie, dass die Dauer nur den Workflow-Lauf abdeckt. - Geben Sie die Verifizierungszahlen an („N Autoritäten verifiziert, M unverifiziert“), damit der Nutzer weiß, wie viel er vertrauen kann, und verweisen Sie auf den Anhang „Grenzen dieser Forschung“ des Memos (der jetzt die Verifizierungsbasis jeder Autorität offenlegt: direkter Volltext / autoritative Wiedergabe / sekundäre Bestätigung / nur Zitierung).
- Das Ergebnis enthält auch
skeleton– die zitierungsmarkierte analytische Gliederung, aus der der Entwurf geschrieben wurde (jede tragende Behauptung mit ihrem Befund markiert, Lücken als GAP gekennzeichnet). Präsentieren Sie es nicht standardmäßig; bieten Sie es an, wenn der Nutzer die Argumentation prüfen möchte, und verwenden Sie es selbst, wenn Sie das Memo von Hand bearbeiten (eine Behauptung ohne Skelettzeile benötigt eine Autorität oder eine Absicherung, bevor sie bestehen bleibt). - Bieten Sie an, es zu speichern: Markdown im Arbeitsverzeichnis; Word über den gebündelten Konverter –
python3 ${CLAUDE_PLUGIN_ROOT}/skills/legal-research/md2docx.py memo.md memo.docx "<Titel>"; oder Google Drive über den Connector. Wenn der Nutzer von vornherein .docx angefordert hat, erstellen Sie es einfach. - Bieten Sie einen Folgedurchlauf zu jedem schwachen/ungeprüften Punkt an oder einen Wechsel des Ausgabestils.
Anspruchskalibrierung (v7)
Zitierungsverifizierung und Anspruchskalibrierung fangen disjunkte Fehlerklassen: Verifizierung fängt falsche Aussagen über Quellen; Kalibrierung fängt wahre Befunde, die zu ungestützten Verallgemeinerungen zusammengesetzt sind. Die Pipeline setzt jetzt beides durch – der Draft-Prompt trägt ein Anspruchsstärke-Gatter (Häufigkeits-/Prioritäts-/Endgültigkeitswörter wie „erste“, „einzige“, „überwältigend“, „ausgelöscht“ erfordern eine Suche, die sie stützen soll, andernfalls stichprobenbezogene Sprache), Leser taggen die Haltung jeder Quelle (einschließlich arguendo und nichtpräjudizielle Verfügungen) und Tragweite (nur prozessual / setzt die Prämisse voraus / angrenzende Doktrin), historische Läufe erhalten Auswahlverzerrungs-, Grenzdatums- und Schadens-/Ausschlussprüfungen, und tiefe Läufe fügen einen dedizierten adversariellen Kalibrierungsdurchlauf zum Entwurf hinzu. Eine dritte Fehlerklasse sitzt dazwischen: eine
[truncated for translation]