CommunityCodierung & Entwicklunggithub.com

danepps/legal-research-skills

Sammelt die vollständige Dokumentensammlung für einen Fall des Obersten Gerichtshofs der USA (SCOTUS), der für eine Podcast-Episode, einen Kurs oder einen Artikel vorbereitet wird – Akten aus dem Zulassungsverfahren, Schriftsätze zur Sache, das Urteil der Vorinstanz, die vorgelegten Fragen und das Transkript der mündlichen Verhandlung – und lädt sie in einem fallspezifischen Ordner auf das reMarkable-Tablet des Benutzers. Manuelle Auslösung – verwenden, wenn der Benutzer „bereite <Fall> vor“, „hole die Schriftsätze für <Fall>“, „lade <Fall> hoch“ oder ähnliches sagt.

Was ist legal-research-skills?

Diese Fähigkeit für KI-Agenten (kompatibel mit Claude Code, Cursor, Codex u. Ä.) bereitet Fälle des Obersten Gerichtshofs der USA (SCOTUS) für die Lektüre auf einem reMarkable-Tablet vor. Sie identifiziert den Fall anhand des Namens und optional der Aktennummer, lädt den kanonischen Lesesatz herunter – bestehend aus vorgelegten Fragen, Urteil der Vorinstanz, Zulassungsantrag, Schriftsätzen zur Sache und ggf. dem Transkript der mündlichen Verhandlung – beschneidet die PDF-Seitenränder automatisch und legt die Dateien in einem benannten Ordner auf dem Tablet ab. Der Benutzer kann die Fähigkeit mit einem natürlichen Satz wie „bereite Smith gegen Arizona vor“ aufrufen. Vor dem Herunterladen überprüft die Fähigkeit die Fallbezeichnung und Aktennummer, um bei mehrdeutigen Namen Rückfragen zu stellen, und erstellt ein abschließendes Manifest über hochgeladene und fehlende Dokumente. Plattformen: reMarkable-Tablet, SCOTUS-Webseite, CourtListener-API.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

SCOTUS-Fallvorbereitung → reMarkable

Gegeben einen Fallnamen (und optional eine Aktennummer), sammle den kanonischen Lesesatz und lade ihn unter <Projekt>/<Fall>/ auf das Tablet hoch.

Harte Regeln

  • Jedes hochgeladene Dokument ist ein echtes PDF, das du tatsächlich heruntergeladen hast. Überprüfe, ob jede Datei mit %PDF beginnt, bevor du sie hochlädst. Konstruiere niemals eine Dokument-URL von Hand und nimm an, es habe funktioniert – hole sie und prüfe sie.
  • Bestätige zuerst webseitig die Fallbezeichnung und die Aktennummer. Wenn der Name mehrdeutig ist (mehrere zugelassene Fälle, verbundene Fälle, häufige Parteinamen), bestätige mit dem Benutzer, bevor du die falschen Schriftsätze herunterlädst.
  • Berichte Lücken ehrlich. Wenn ein Dokument noch nicht eingereicht, nicht öffentlich oder nicht auffindbar ist, sag es im abschließenden Manifest. Ersetze niemals ein Dokument durch ein ähnlich aussehendes.

Schritt 1 – Fall identifizieren

  1. Suche den Fallnamen im Web, um die genaue Bezeichnung und die Aktennummer des Obersten Gerichtshofs (Format NN-NNN, z. B. 24-316) zu bestätigen. Gute Bestätigungsquellen: supremecourt.gov, SCOTUSblog-Fallseite, Oyez.
  2. Notiere, ob der Fall mit anderen verbunden ist (nimm die führende Aktennummer; erwähne Begleitfälle im Manifest).
  3. Notiere den Verhandlungsstatus: noch nicht verhandelt / verhandelt (Transkript verfügbar) / entschieden.

Schritt 2 – Dokumente herunterladen (in den Arbeitsbereich, via curl)

Aktenseite (Verzeichnis aller Eingaben mit PDF-Links): https://www.supremecourt.gov/search.aspx?filename=/docket/docketfiles/html/public/<AKTENNUMMER>.html Hole sie und extrahiere die DocketPDF-Links. Der Eintragstext identifiziert jede Eingabe („Petition for a writ of certiorari filed“, „Brief of petitioner“, „Brief amicus curiae of United States“, etc.).

Standard-Dokumentensatz (in Lesereihenfolge – überspringe, was noch nicht existiert; vermerke es im Manifest):

#DokumentQuelle
00Vorgelegte Fragenhttps://www.supremecourt.gov/qp/<TERM>-<5-stellige-nullaufgefüllte-Nummer>qp.pdf (z. B. Aktenzeichen 24-316 → 24-00316qp.pdf)
01Urteil der VorinstanzCourtListener (unten)
02Zulassungsantrag (Cert Petition)Aktenseite
03Schriftsatz in OppositionAktenseite
04Erwiderung im ZulassungsverfahrenAktenseite
05Schriftsatz des Beschwerdeführers zur SacheAktenseite
06Schriftsatz des Beschwerdegegners zur SacheAktenseite
07Erwiderungsschriftsatz zur SacheAktenseite
08Amicus-Schriftsatz der USA / des SG (falls vorhanden, in jeder Phase)Aktenseite
09Transkript der mündlichen Verhandlung (falls verhandelt)https://www.supremecourt.gov/oral_arguments/argument_transcripts/ – Links folgen .../argument_transcripts/<TERM>/<Aktennummer>_<Suffix>.pdf; finde den echten Link auf der Transkript-Indexseite des Terms

Andere Amicus-Schriftsätze: Lade sie nicht standardmäßig alle herunter (es können Dutzende sein). Teile dem Benutzer mit, wie viele eingereicht wurden, und biete an, bestimmte hinzuzufügen.

Urteil der Vorinstanz via CourtListener: Suche https://www.courtlistener.com/api/rest/v4/search/?q=<Fallname>&court=<Gericht der Vorinstanz> oder die Website-Suche, wobei die Aktennummer / Fallbezeichnung aus dem Zulassungsantrag übereinstimmen muss (die ersten Seiten des Antrags identifizieren das Urteil der Vorinstanz genau). Löse dann die PDF-Download-Adresse deterministisch mit dem Hilfsprogramm der legal-research-Fähigkeit auf und lade sie herunter (bevorzugt CourtListeners gespeicherte Kopie, fällt auf die eigene Datei des Gerichts zurück, überprüft die %PDF-Magie vor dem Speichern):

python3 ${CLAUDE_PLUGIN_ROOT}/skills/legal-research/cl_case_tools.py pdf cluster:<cluster_id> --out "01 Urteil Vorinstanz.pdf"

(cluster_id stammt aus dem Suchergebnis; ein Reporter-Zitat funktioniert auch, sobald eines existiert). Wenn kein PDF auf CourtListener oder der Website des Gerichts verfügbar ist, enthält der Anhang des Zulassungsantrags das Urteil der Vorinstanz – kennzeichne dies als Rückfalllösung, anstatt etwas Ungeprüftes hochzuladen.

Verwende einen browser-ähnlichen User-Agent für supremecourt.gov (es gibt 403-Fehler bei bloßem curl): curl -sL -A "Mozilla/5.0" -o <Datei> <URL>.

Schritt 3 – Auf das reMarkable hochladen

Werkzeuge: die remarkable_* MCP-Tools (falls nicht geladen: ToolSearch "select:mcp__remarkable__remarkable_upload,mcp__remarkable__remarkable_mkdir,mcp__remarkable__remarkable_browse" – passe das Präfix an das an, was der verbundene Server bereitstellt).

  1. Ränder zuerst beschneiden – führe das crop_pdf.py dieser Fähigkeit auf jedem PDF aus, damit Dokumente randfrei auf dem Tablet geöffnet werden (der Benutzer muss keine Ränder von Hand anpassen): uv run <Verzeichnis dieser Fähigkeit>/crop_pdf.py <datei.pdf> Ein Exit-Code ungleich Null bedeutet, dass kein plausibler Inhaltsbereich gefunden wurde – lade diese Datei unbeschnitten hoch, anstatt sie abzulehnen.
  2. remarkable_mkdir → <Projekt>/<Kurze Fallbezeichnung> (z. B. SCOTUS Vorbereitung/Smith v. Arizona).
  3. Lade jedes PDF mit dem Namen NN Titel.pdf gemäß der Tabelle hoch (behalte die Nummern, damit sie in Lesereihenfolge sortiert sind), z. B. 02 Zulassungsantrag.pdf, 06 Schriftsatz Beschwerdegegner.pdf.
  4. Durchsuche (remarkable_browse) den Ordner anschließend, um zu bestätigen, dass alles gelandet ist.

Schritt 4 – Bericht

Gib dem Benutzer ein Manifest: Fallbezeichnung, Aktennummer, Verhandlungsdatum/-status, jedes hochgeladene Dokument (mit Einreichungsdatum, sofern auf der Aktenseite ersichtlich), jedes nicht verfügbare Dokument mit Grund, Begleitfälle und die Anzahl der Amicus-Schriftsätze mit dem Angebot, bestimmte nachzureichen.

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

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.

danepps/legal-research-skills

Deep legal research that fans out multiple agents across free legal sources, verifies every authority, and returns a polished, well-cited memo. Use for case-law research, legal-scholarship / literature reviews, or both. Modes — caselaw | scholarship | both. Trigger when the user wants a thorough doctrinal memo, a survey of the academic debate, an answer grounded in cases/statutes, or a research deep-dive on a legal question.

Verwandte Skills