CommunityRecherche & Datenanalysegithub.com

danepps/rechtsrecherche-skills

Tiefgehende juristische Recherche, die mehrere Agenten auf kostenlose Rechtsquellen ansetzt, jede Quelle verifiziert und ein ausgereiftes, gut belegtes Memo liefert. Nutzbar für Rechtsprechungsrecherche, rechtswissenschaftliche Literaturrecherche oder beides. Modi: Rechtsprechung | Wissenschaft | Beides. Auslösen, wenn der Nutzer eine gründliche dogmatische Ausarbeitung, einen Überblick über die akademische Debatte, eine auf Fällen/Gesetzen basierende Antwort oder eine tiefgehende Recherche zu einer Rechtsfrage wünscht.

Was ist rechtsrecherche-skills?

Diese Fertigkeit führt eine spezialisierte, effiziente juristische Tiefenrecherche durch, indem sie mehrere Agenten orchestriert, die ausschließlich auf frei zugänglichen Rechtsquellen basieren. Sie unterstützt drei Modi: Rechtsprechung, wissenschaftliche Literatur oder beides. Der Prozess beginnt mit der Analyse der Anfrage des Nutzers, gefolgt von einer Überprüfung der notwendigen Berechtigungen für Web-Tools, dem Start eines strukturierten Workflows und der Auslieferung eines geprüften Memos. Der Workflow enthält zudem ein Budget-Management, um übermäßigen Ressourcenverbrauch zu verhindern, und stellt sicher, dass Zitate verifiziert werden. Die Fertigkeit ist für Plattformen wie Claude Code, Cursor oder Codex konzipiert und nutzt eine Kombination aus Haiku- und Sonnet-Modellen sowie einem Orchestrierungsmodell für verschiedene Phasen der Recherche. Sie bietet eine detaillierte Ausgabe mit einem Titel, Datum, Autor und Produktionsdetails, einschließlich Verifikationszahlen und Optionen zur Speicherung als Markdown, Word oder Google Drive.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/danepps/legal-research-skills/tree/HEAD/claude-code/skills/legal-research

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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, scholarship oder both. Standard: both. Aus dem Wortlaut ableiten („Was halten Gerichte“ → caselaw; „Stand der Literatur / wissenschaftliche Debatte“ → scholarship).
  • outputStyle – practitioner (Question Presented / Brief Answer / IRAC) oder academic (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:

  1. Lesen Sie ~/.claude/settings.json und prüfen Sie permissions.allow auf "WebFetch" und "WebSearch".
  2. 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 Pfad permissions.allow, falls nicht vorhanden). Wenn beide bereits vorhanden sind, tun Sie nichts.
  3. 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 /permissions hinzu.)
  4. 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": true bedeutet, dass das Token funktioniert und nichts zu melden ist. check_cite.py löst das Token aus COURTLISTENER_API_TOKEN, dann COURTLISTENER_TOKEN, dann der Datei ~/.config/courtlistener/token auf – in dieser Reihenfolge, und der Umgebungsvariablenweg (häufig im env-Block von ~/.claude/settings.json gesetzt) 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.

  • exitState VOR der Präsentation prüfen. complete → ausliefern. complete_with_limits → ausliefern, mit Auflistung der dokumentierten Lücken (in degradation und 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 – siehe degradation fü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 Block Produktionsdetails: steht ganz am Ende der Datei (nach allen Anhängen, inkl. „Grenzen dieser Forschung“, abgesetzt durch eine ----Linie) – niemals oben. Datum ist das lokale Datum/die Uhrzeit, zu der das Memo ausgeliefert/geschrieben wurde; Von ist Claude-<Orchestrierendes Sitzungsmodell> (exakte ID); Produktionsdetails nennt 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]

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

danepps/legal-research-skills

Build or extend a Zotero collection of verified sources for a project — find the sources (web, catalogs, HeinOnline via an institutional library proxy), add them with full metadata via the Zotero Web API, then run a deterministic anti-hallucination check that every added item must pass. Trigger when the user wants sources gathered into Zotero ("build a library for X", "add the books/articles on X to my Zotero", "populate <collection> with …").

danepps/legal-research-skills

Gather the full document set for a SCOTUS case being prepped for a podcast episode, class, or article — cert-stage filings, merits briefs, lower-court opinion, questions presented, and oral-argument transcript — and load them onto the user's reMarkable in a per-case folder. Manual trigger — use when the user says "prep <case>", "grab the briefs for <case>", "load up <case>", or similar.

danepps/legal-research-skills

Verify every citation and quotation in an article draft against the real sources — cases via CourtListener + official reporters, scholarship via the user's Zotero library then the open web — and return a graded, footnote-by-footnote report with a "needs your attention" section first, plus a citation-form section (short cites per Bluebook R. 10.9/4.2 and italics/small caps per R. 2.1(a)) decided from the draft alone. Trigger when the user wants a draft cite-checked ("cite-check this", "check the citations/quotes in this draft", "run cite-check on <file>"). Input: a .docx with real Word footnotes (markdown/plain-text fallback). Not a full Bluebook linter — signal order, citation order and cite composition stay out.

danepps/legal-research-skills

Quick, verified citation-finding for a specific proposition — a footnote-filler, not a research memo. Returns a few Supreme Court cites and/or a few scholarly cites (top scholars in flagship journals preferred; student notes only as a last resort), each verified with a pincite and a parenthetical or quote. Trigger when the user asks "find me a cite for X", "what should I cite for this footnote", "I need authority for the proposition that…", or pastes a sentence with an empty footnote.

Verwandte Skills