CommunityRecherche & Datenanalysegithub.com

jeffnewberry/cite-viewer

Wird ausgeführt, wenn der Benutzer "cite viewer" oder "build the viewer" sagt: eine lokale Klick-durch-Seite, auf der jede Zitation in einem Entwurf die zitierte Passage aus der Quelle öffnet, mit optionalen Links zum Eintrag.

Was ist cite-viewer?

Der Cite Viewer ist ein lokales Webseiten-Tool, das Autoren von juristischen Dokumenten hilft, Zitate schnell und gründlich zu überprüfen. Es erstellt eine interaktive HTML-Seite, die den Textentwurf des Benutzers neben den zugehörigen Quellpassagen anzeigt. Jedes Zitat wird farblich nach seinem Status markiert (unterstützt, zu prüfen, fehlender Pincite, Quelle nicht geladen). Durch Anklicken eines Zitats öffnet sich ein Panel mit dem zitierten Textausschnitt, einer Bewertung der Übereinstimmung und einem "Open full source"-Link, der direkt zur relevanten Seite in der PDF-Quelle führt. Das Tool unterstützt sowohl von Westlaw bezogene Fälle als auch benutzereigene PDFs (z.B. aus einem Aktenbestand). Es läuft komplett lokal auf dem Rechner des Benutzers, erstellt keine Kopien von Quellen und respektiert die Vertraulichkeit von Mandantendaten. Der Viewer ist für die letzte Prüfung vor dem Korrekturlesen gedacht, nachdem Zitate bereits einem Cite-Check und einem Citator unterzogen wurden. Zu den Hauptfunktionen gehören die automatische Erkennung von Zitaten, die Überprüfung von Quellen auf korrekte Pincites und Zitate, sowie ein Notizfeld unter jedem Eintrag, das Notizen automatisch im Browser speichert. Ein "Copy all notes"-Button erlaubt es dem Benutzer, alle Notizen als nummerierte Liste zu exportieren und mit anderen Tools wie Claude oder Word zu nutzen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jeffnewberry/litigation-skills/tree/HEAD/skills/cite-viewer

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

Cite viewer

Der Cite Viewer ist eine lokale Webseite, die den Entwurf des Benutzers (oder einen Abschnitt davon) anzeigt. Jede Zitation ist ein Link, farblich unterstrichen je nach Status. Das Klicken auf eine Zitation zeigt die zitierte Seite aus der Quelle, mit der zitierten oder darauf gestützten Sprache hervorgehoben, einem Hinweis, ob die Passage den Satz stützt, einem Link, der die vollständige Quelle auf dieser Seite öffnet, und einem Notizfeld, in dem der Benutzer eine Korrektur eingeben kann.

Der Viewer ersetzt nicht das Lesen der Entscheidungen und ersetzt auch keinen Citator (KeyCite oder Shepard's). Er macht das Lesen schnell und zeichnet auf, ob jede Passage den Satz stützt, der sie zitiert.

Zwei unveränderliche Regeln

  • Veröffentlichen oder hosten Sie den Viewer niemals. Er enthält den Entwurf des Benutzers und verweist mit Aktenlinks auf Aktenmaterial. Er bleibt als Datei auf dem Computer des Benutzers, die durch Doppelklick geöffnet wird. Bieten Sie niemals an, ihn in einen teilbaren Link umzuwandeln. Wenn der Benutzer dennoch um Veröffentlichung bittet, warnen Sie ihn zuerst vor der Vertraulichkeit von Mandantendaten.
  • Ändern Sie den Entwurf niemals. Der Viewer zeigt Probleme an; er behebt sie nicht. Ändern Sie den Entwurf nur, wenn der Benutzer separat darum bittet.

Wo er passt

Er funktioniert am besten bei einem Entwurf, dessen Text feststeht und dessen Zitate bereits einen Cite-Check und einen Citator durchlaufen haben, und vor dem endgültigen Korrekturlesen. Wenn der Benutzer früher danach fragt, sagen Sie es in einem Satz und bauen Sie ihn trotzdem, wenn der Benutzer es trotzdem möchte.

Vor dem Start

Fragen Sie in einem kurzen Block nur das, was der Benutzer noch nicht gesagt hat:

  1. Welcher Entwurf. Bitten Sie ihn, ihn anzuhängen oder die Datei zu nennen.
  2. Umfang: das gesamte Dokument oder benannte Abschnitte. Fragen Sie dies auch bei kurzen Entwürfen; entscheiden Sie den Umfang niemals selbst.
  3. Quellen: "Soll ich die Fälle für Sie von Westlaw holen, oder legen Sie die PDFs selbst in einen Ordner?" (Westlaw-Benutzer: siehe Schritt 3. Lexis- oder andere Benutzer: Schritt 3a.)
  4. Aktenzitate: "Möchten Sie auch Aktenzitate verlinken? Wenn ja, in welchem Ordner auf Ihrem Computer befindet sich das Aktenmaterial, und wie zitieren Sie es? Geben Sie mir ein Beispielzitat aus Ihrem Entwurf (z.B. 12 R.R. 41, ROA.1234, Dkt. 52 at 3 oder JA 123)." Jeder Ordner funktioniert (Dropbox, OneDrive oder ein einfacher Ordner), da der Viewer die Dateien dort verlinkt, wo sie liegen, und nichts kopiert. Wenn der Benutzer Nein sagt, werden Aktenzitate als "Quelle nicht geladen" angezeigt.

Die Anforderung des Viewers ist das Go-ahead, den Viewer-Ordner zu speichern und, nach der Kostenwarnung in Schritt 3, die Quellen zu holen.

Schritte

1. Zitationstabelle erstellen

Konvertieren Sie den Entwurf in Text. Durchlaufen Sie den Umfang in der Reihenfolge und listen Sie jede Zitation auf: vollständige Zitate, Kurzzitate, id., supra, Gesetze, Sekundärquellen und Aktenzitate. Notieren Sie für jede:

  • eine ID (c1, c2 usw.) und die Zitation genau wie geschrieben;
  • die Autorität, auf die sie sich bezieht (lösen Sie id. und Kurzzitate in die vollständige Autorität auf);
  • den Pincite oder die Pincites;
  • die Behauptung und alle wörtlich zitierten Teile des Satzes, den sie stützt;
  • ob sich die Zitation auf spezifisches Material in der Quelle stützt (eine Entscheidung, einen Test, ein Zitat) oder nur den Fall als Ganzes nennt (siehe Schritt 6).

Notieren Sie jede rechtliche Aussage im Umfang, die keine Zitation hat. Die Seite markiert diese ebenfalls.

Wenn der Entwurf ein Kurzzitat oder supra ohne vollständiges Zitat irgendwo verwendet, raten Sie nicht still. Entweder liefern Sie das Zitat und kennzeichnen es als "Allgemeinwissen, ungeprüft" oder lassen Sie es weg und markieren es.

2. Quellenliste erstellen

Ein Eintrag pro Autorität: die Reporter-Zitation ("466 U.S. 668"), die WL-Zitation für unveröffentlichte Entscheidungen, den Code und Abschnitt für Gesetze und "Band Abkürzung erste Seite" für Artikel. Trennen Sie die Einträge mit Semikolons, bis zu 100. Lassen Sie Aktenzitate und alles, was Westlaw nicht führt, außen vor; listen Sie sie für den Bericht.

3. Quellen von Westlaw holen (Find & Print)

  • Teilen Sie dem Benutzer einmal mit, dass Find & Print-Anfragen möglicherweise gemäß seinem Westlaw-Tarif berechnet werden, und fahren Sie erst fort, nachdem er bestätigt hat.
  • Öffnen Sie Westlaw im Browser und bitten Sie den Benutzer, sich auf die übliche Weise anzumelden: Firmen-Login, Law-School-Portal oder Thomson Reuters ID. Sagen Sie ihm, dass er, falls die geöffnete Seite nicht die Seite ist, die er normalerweise verwendet, in demselben Browserfenster zu seiner üblichen Anmeldeseite gehen kann. Geben Sie niemals Passwörter ein; sobald er angemeldet ist, erledigen Sie den Rest.
  • Gehen Sie zu Find & Print und fügen Sie die Liste ein.
  • Einstellungen: Fälle → nur Entscheidung (keine Leitsätze); Gesetze → nur Gesetzestext; lassen Sie "Durch Reporter-Bilder ersetzen" deaktiviert, da die Sternpaginierung Text sein muss; Zustellung → Download; Format → PDF; Als → Mehrere Dateien (ZIP); schalten Sie die zweispaltige Darstellung aus.
  • Senden Sie ab. Wenn Westlaw einige Zitationen ablehnt, nehmen Sie sie heraus, fahren Sie fort und melden Sie sie.
  • Wenn der Download bereit ist, klicken Sie auf Westlaw's Download-Button. Der Browser zeigt dann sein eigenes Speicherfenster an, das Sie nicht drücken können. Sagen Sie dem Benutzer, dass es kommt, und bitten Sie ihn, in diesem Fenster auf Speichern (oder Download) zu klicken. Die ZIP landet in seinem Downloads-Ordner.

3a. Vom Benutzer bereitgestellte Quellen

Bitten Sie den Benutzer, eine PDF pro Autorität in einen Ordner zu legen und Ihnen mitzuteilen, welcher Ordner das ist. Nur Text-PDFs; wenn eine PDF ein Scan ohne Text ist, bitten Sie um eine Textversion.

4. PDFs holen

Bitten Sie um Zugriff auf den Ordner, in dem der Download gelandet ist (oder den Ordner aus 3a). Entpacken Sie in einen Arbeitsordner außerhalb des Downloads-Ordners. Ordnen Sie jede PDF ihrer Autorität zu und markieren Sie alle, die nicht zurückgekommen sind.

5. Zitierte Passagen extrahieren

Westlaw-PDFs markieren Sternseiten im Text: *688 für den primären Reporter, **2055 und *** für Parallelreporter, und *1, *2 für WL-Zitate. Entfernen Sie die Parallelmarkierungen, teilen Sie den Text an den Einzelstern-Markierungen und nehmen Sie den Text jeder angepinnten Seite plus die letzten paar hundert Zeichen der Seite davor, damit ein Satz, der auf der vorherigen Seite beginnt, ganz gelesen wird. Finden Sie die PDF-Seite, auf der jede Markierung erscheint, für den Link "Open full source" (#page=N). Entfernen Sie Seitenkopf- und -fußzeilen. Verwenden Sie das Skript am Ende dieser Datei. Wenn ein Pin keine Sternseite ist (Law-Review-Seiten, Gesetzesunterabschnitte oder PDFs von einem anderen Dienst), finden Sie die Passage, indem Sie nach der zitierten oder darauf gestützten Sprache suchen.

5a. Aktenzitate (nur wenn der Benutzer sie ausgewählt hat)

  • Ermitteln Sie aus dem Beispielzitat des Benutzers, welcher Teil eines Zitats die Datei benennt (ein Band, eine Dokumenten- oder Docket-Nummer, ein Anhang) und welche Nummer die Seite benennt (eine gedruckte Transkriptseite, eine gestempelte Aktenseite wie ROA.1234, eine Kopfzeile des Gerichts oder eine Anhangsseite). Die Akte kann eine oder mehrere Dateien umfassen.
  • Listen Sie die Akten-Dateien im Ordner des Benutzers auf und ordnen Sie jedes Zitat seiner Datei zu (z.B. "Vol. 39" oder "RR39" zu 39 R.R.; "ECF 52" zu Dkt. 52; eine fortlaufend gestempelte Akte für ROA-Zitate). Wenn die Zuordnung unklar ist, zeigen Sie dem Benutzer Ihre Zuordnung und fragen Sie, bevor Sie fortfahren.
  • Lesen Sie nur die zitierten Seiten. Finden Sie jede zitierte Seite anhand der vom Zitat verwendeten Nummer, so wie sie auf der Seite selbst erscheint, niemals anhand der PDF-Seitenzählung; die beiden stimmen selten überein. Wenn eine Seite zwei Nummern trägt (eine Kopfzeile des Gerichts und die eigene Seitenzahl des Dokuments, sagen wir), und das Beispiel des Benutzers nicht klärt, welche das Zitat meint, fragen Sie. Wenn Sie die Nummer nicht finden können, markieren Sie das Zitat "check" und teilen Sie dies mit.
  • Notieren Sie für jedes Aktenzitat beide Nummern: die vom Zitat verwendete Seitenzahl und die PDF-Seite, auf die es fällt.
  • Verlinken Sie jedes Aktenzitat mit der Datei, in der es liegt, mit einem relativen Link von der HTML-Datei des Viewers zur Akten-Datei auf dem Computer des Benutzers, an der PDF-Seite. Wenn der Viewer-Ordner und die Akte beispielsweise beide in Downloads liegen: ../volume.pdf#page=N. Erstellen Sie den Link aus den tatsächlichen Pfaden auf dem Computer des Benutzers (wie die Ordnerliste sie zeigt), niemals aus Pfaden in Ihrem eigenen Arbeitsbereich. Verwenden Sie keine vollständigen file:///-Adressen; Browser lehnen sie oft ab. Kopieren Sie nichts in den Viewer-Ordner.
  • Die Akte muss aus durchsuchbaren PDFs auf dem Computer des Benutzers bestehen. Eine Datei, die nur online gespeichert ist (eine nicht heruntergeladene Cloud-Datei oder ein über eine Website erreichbares Dokumentendepot), kann nicht verlinkt werden; teilen Sie dem Benutzer mit, welche.

6. Jede Zitation prüfen

Lesen Sie jede Passage gegen den Satz, den sie stützt. Weisen Sie einen Status zu:

  • ok — Unterstützt. Die Passage sagt, was der Satz sagt. Jedes Zitat stimmt genau überein, oder Klammern berücksichtigen jede Änderung. Verwenden Sie ok, ohne Auszug, nur für ein Zitat, das einen Fall als Ganzes in einem Textsatz nennt, als Teil des Satzes selbst, ohne sich auf eine bestimmte Passage zu stützen (Bluebook R. 3.2(a)). Ein Zitationssatz oder -satzteil, der eine Behauptung stützt, stützt sich immer auf spezifisches Material und benötigt einen Pin, selbst wenn er mehrere Fälle auf einmal zitiert. Die Notiz eines Ganzfall-Zitats lautet: "Nennt den Fall als Ganzes; kein Pin erforderlich (Bluebook R. 3.2(a))."
  • check — Prüfen. Das Zitat stimmt nicht überein, die Passage stützt nur einen Teil des Satzes, der Pin ist falsch oder der Satz beschreibt die Quelle ungenau. Sagen Sie genau, was nicht stimmt, und geben Sie die Korrektur an (den richtigen Pin oder die korrigierte Klammer).
  • pin — Kein Pincite. Ein Zitat zu spezifischem Material ohne Pin. Zeigen Sie die Seite, auf die sich der nahe Text stützt. Wenn unklar ist, ob sich der Satz auf spezifisches Material stützt, verwenden Sie check und sagen Sie dies, damit der Benutzer entscheidet.
  • none — Quelle nicht geladen. Alles, was nicht in den PDFs oder im Aktenordner ist. Nennen Sie, was der Benutzer hinzufügen müsste.

Notizen sagen nur, was die Quelle sagt. Fügen Sie "Schlussfolgerung:" vor allem hinzu, was darüber hinausgeht. Kennzeichnen Sie nur inhaltliche Probleme: ein falsches Zitat, einen falschen Pin, eine überzogene oder falsch dargestellte Entscheidung, eine Tatsache, die die Aktenseite nicht stützt. Ignorieren Sie reine Tippfehler. Schattieren Sie die genau zitierten Wörter in jedem Auszug.

7. Seite erstellen

Speichern Sie einen Ordner im Downloads-Ordner des Benutzers (oder wo immer er will), benannt nach dem Entwurf plus "cite-viewer" und dem Datum. Er enthält:

  • die HTML-Datei;
  • einen sources/-Ordner mit den Fall-PDFs. (Akten-Dateien bleiben, wo sie sind.)

Seitenregeln:

  • Entwurf links, Passagen-Panel rechts; auf einem schmalen Bildschirm stapeln sie sich.
  • Eine Legende oben gibt die Anzahl für jeden Status an, plus "Gepunkteter roter Text = rechtliche Aussage ohne Zitation."
  • Zeigen Sie den Entwurfstext genau wie geschrieben.
  • Schattieren Sie Passagen hellblau. Linksbündiger Text, Serifenschrift.
  • Funktioniert im Hell- und Dunkelmodus.
  • Ein Klick auf eine Zitation zeigt das Status-Abzeichen, die Zitation wie geschrieben, die Notiz, jeden Auszug mit seinem Seitenkopf und einem Link "Open full source ↗", und dann das Notizfeld.
  • Jeder Auszugskopf nennt die Seite in beiden Nummerierungen, damit der Benutzer die Seite bestätigen kann, ohne die Datei zu öffnen: für einen Fall "466 U.S. at 694 · PDF page 7"; für die Akte "12 R.R. 45 · PDF page 10."
  • Nicht zitierte rechtliche Aussagen sind ebenfalls anklickbar. Ein Klick zeigt ein "No citation"-Abzeichen, die Aussage wie geschrieben, eine einzeilige Notiz (z.B. "Formuliert eine Rechtsregel; fügen Sie ein Zitat hinzu oder streichen Sie es") und das Notizfeld.

Notizfeld. Unter jedem Flag-Panel (Zitate und nicht zitierte Aussagen gleichermaßen) ein Textfeld mit der Aufschrift "Your note (e.g., the fix you want)." Notizen werden automatisch im Browser für diese Datei gespeichert. Umschließen Sie jedes Speichern und Laden mit try/catch, damit die Seite auch funktioniert, wenn der Browser den Speicher blockiert. Ein Flag mit einer Notiz erhält einen kleinen Punkt im Entwurf. Ein "Copy all notes"-Button oben kopiert jede Notiz als nummerierte Liste in der Entwurfsreihenfolge, jede Zeile beginnend mit der Zitation wie geschrieben (oder "Uncited:" und den ersten Wörtern der Aussage), damit der Benutzer die Liste in Claude oder neben Word einfügen kann. Teilen Sie dem Benutzer einmal mit, dass Notizen nur in diesem Browser auf diesem Computer leben; die kopierte Liste ist die sichere Kopie.

8. Seite prüfen

Öffnen Sie die Seite und klicken Sie mindestens eine Zitation jedes Status und eine nicht zitierte Aussage. Bestätigen Sie, dass die Auszüge die schattierte Sprache und beide Seitenzahlen zeigen, die Notiz oben im Panel sitzt, jedes Flag ein Notizfeld hat und "Copy all notes" funktioniert.

Aktenlinks benötigen eine separate Prüfung, da Sie keinen Link auf dem Computer des Benutzers anklicken können. Ermitteln Sie für jeden Aktenlink, wohin er von der HTML-Datei des Viewers auf dem Computer des Benutzers zeigt, und bestätigen Sie durch Auflisten dieses Ordners, dass die Datei vorhanden ist. Bitten Sie dann den Benutzer, einen Aktenlink anzuklicken und Ihnen mitzuteilen, ob er auf der richtigen Seite geöffnet wurde. Bis er bestätigt, melden Sie die Aktenlinks nicht als funktionierend; melden Sie sie als "verlinkt, noch nicht bestätigt."

9. Bericht

Kurz, stärkster Punkt zuerst:

  • Wo der Ordner ist und wie der Viewer geöffnet wird: "Öffnen Sie den Viewer in Google Chrome (rechtsklicken Sie auf die HTML-Datei, wählen Sie Öffnen mit, dann Google Chrome). Der Autor hat ihn auf einem Mac mit Chrome getestet, und er funktioniert dort. Safari blockiert die Aktenlinks. Der Autor hat Aktenlinks mit Texas-Stil Aktenzitaten (12 R.R. 41) getestet, aber noch nicht mit anderen Formaten. Der Autor hat ihn nicht auf einem Windows-PC getestet. Chrome sollte auch dort funktionieren, und Microsoft Edge möglicherweise, aber der Autor hat keines versucht."
  • Anzahl nach Status.
  • Jeder "check"-Eintrag in ein oder zwei Zeilen mit seiner Korrektur.
  • Die "no pincite"-Zitate, nicht zitierten Aussagen, nicht geladenen oder abgelehnten Quellen und alle Akten-Dateien, die nicht verlinkt werden konnten.
  • Ob die Aktenlinks bestätigt sind (siehe Schritt 8).
  • Zwei Möglichkeiten, es durchzuarbeiten: Besprechen Sie jedes Flag mit Claude, der eine Liste führt und die Änderungen vornimmt, nachdem der Benutzer sie genehmigt hat; oder arbeiten Sie in Word mit dem geöffneten Viewer daneben und geben Sie Korrekturen in den Notizfeldern ein. Sagen Sie, dass "Copy all notes" ein Button im Viewer ist, den nur der Benutzer drücken kann, und dass er die kopierte Liste zurück in diesen Chat einfügen kann.

Skript

star_extract.py: Eingabe einer PDF und einer Liste von Sternseiten, gibt es den Text jeder Seite zurück, den Schwanz der Seite davor und die PDF-Seite, auf der jede Markierung erscheint.

import re, subprocess, sys, json

def pdf_pages(pdf):
    info = subprocess.run(['pdfinfo', pdf], capture_output=True, text=True).stdout
    n = int(re.search(r'Pages:\s+(\d+)', info).group(1))
    return [subprocess.run(['pdftotext', '-f', str(i), '-l', str(i), pdf, '-'],
                           capture_output=True, text=True).stdout for i in range(1, n + 1)]

def clean(t):
    t = re.sub(r'WESTLAW\s*©.*?For Educational Use Only[^\n]*\n', '', t, flags=re.S)
    t = re.sub(r'\*\*\*?\d+\s?', '', t)          # drop parallel-reporter markers
    t = re.sub(r'-\n(?=[a-z])', '', t)
    return re.sub(r'\s+', ' ', t)

def segments(pages):
    parts 

…

[gekürzt für die Übersetzung]

Verwandte Skills