AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Aktenkopf Extraktor

skill-eliasreiche-legal-ops-germany-aktenkopf-extraktor · by eliasreiche

Strukturiert eingehende Mandats-Dokumente (Anspruchsschreiben, Kündigung, Behördenpost) zu einem maschinenlesbaren Aktenkopf — Rubrum, Parteien, Datumsnennungen, Geldbeträge, Aktenzeichen — samt Lückenliste fehlender Pflichtangaben; ein Executor erzwingt Provenienz gegen Halluzination. Triggert bei Aktenanlage, Mandats-Intake, Dokument/Schreiben strukturieren, Aktenkopf erstellen.

No reviews yet
0 installs
9 views
0.0% view→install

Install

$ agentstack add skill-eliasreiche-legal-ops-germany-aktenkopf-extraktor

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-eliasreiche-legal-ops-germany-aktenkopf-extraktor)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
23d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Aktenkopf Extraktor? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

aktenkopf-extraktor

> Status: beta — automatisierte Tests laufen grün in CI > (tests/test_aktenkopf_extraktor_executor.py, 34 Fälle). Noch nicht händisch > abgenommen — > status: getestet vergibt erst der Maintainer nach eigener Prüfung (siehe > CONVENTIONS.md, Reifegrad-Leiter).

Zweck

Strukturiert eingehende Mandats-Dokumente (Anspruchsschreiben, Kündigung, behördliches Schreiben u. Ä.) zu einem maschinenlesbaren Aktenkopf: Kurzrubrum, Sachverhalt, Parteien, erkannte Datumsnennungen, Geldbeträge, fremde Aktenzeichen und — zentral — einer Lückenliste der für die Aktenanlage noch fehlenden Pflichtangaben.

Die inhaltliche Extraktion macht das Modell (Claude) — es liest das Dokument und füllt das Schema. Damit dabei nichts erfunden wird, prüft ein deterministischer Executor die Ausgabe (P3 / Anti-Halluzination maschinell erzwungen):

  • Schema-Konformität des aktenkopf.json (Pflichtstruktur, ISO-Datumsformate),
  • Provenienz: jeder kritische Wert (Datum, Geldbetrag, Aktenzeichen, IBAN,

E-Mail, Telefonnummer) muss — nach definierter Normalisierung — wörtlich in mindestens einer Quelldatei vorkommen; die Fundstelle (Datei + Zeile) steht im Report. Nicht belegte Werte werden als nicht_belegt ausgewiesen,

  • Lücken-Disziplin: ein leeres Pflichtfeld ist nur zulässig, wenn es

explizit im luecken-Array steht — sonst Schema-Fehler.

> ⚠️ Keine Fristberechnung, keine Fristenkontrolle. Die fristen_hinweise > sind bloß erkannte Datumsnennungen aus dem Text (mit vermuteter Bedeutung), > kein berechnetes Fristende und keine Notfrist-Bewertung. Jede tatsächliche > Fristberechnung läuft ausschließlich über den Skill > [fristenrechner](../fristenrechner/SKILL.md) > als deterministische Zweitkontrolle. Dieser Skill ersetzt keinen > Fristenkalender.

PDF/Scan ist out of scope. Der Skill verarbeitet Text-/Markdown-Quellen. Die Aufbereitung eingescannter Post (OCR, Klassifikation) übernimmt der Skill posteingang-ocr-verteilung (Welle 4).

Eingaben (Datei-Kontrakt, P2)

| Eingabe | Pflicht | Format | Beschreibung | |---|---|---|---| | Aktenkopf | ja | .json | Vom Modell nach Schema erzeugter Aktenkopf. Struktur: [schema/README.md](schema/README.md), Beispiel: [schema/beispiel-aktenkopf.json](schema/beispiel-aktenkopf.json). | | Quelldokument(e) | ja | .txt / .md, UTF-8 | Das/die zugrunde liegende(n) Dokument(e). Mehrfach angebbar (--quelle je Datei). Beispiel: [schema/beispiel-eingabe.md](schema/beispiel-eingabe.md). |

Der Executor liest nur diese Dateien, kein Netzwerk, keine Datenbank.

Ablauf

Verbindlicher Arbeitsablauf (Audit 2026-07-15). Eine händische Abnahme hat gezeigt: Ein freihändig aus dem Gedächtnis erstelltes Aktenkopf-JSON produziert zuverlässig Schema-Fehler — u. a. falsche Wurzel-Schlüssel (statt des Schema-Objekts aktenkopf ein flacher Aufbau, statt betraege ein erfundenes geldbetraege, statt aktenzeichen_fremd ein erfundenes fremde_aktenzeichen), Enum-Verstöße (Mandant_aktuell statt mandant, natürlich statt natuerlich) und fehlende Pflichtfelder bei fristen_hinweise (datum_im_text, originalschreibweise, vermutete_bedeutung) — insgesamt 35 Fehler in einem Testlauf. Die Provenienz-Prüfung selbst fing dabei zuverlässig einen nicht belegten Wert ab. Deshalb sind die folgenden Schritte verbindlich, kein Freihand-Entwurf und kein One-Shot:

  1. **Claude kopiert [schema/beispiel-aktenkopf.json](schema/beispiel-aktenkopf.json)

als Vorlage und füllt sie aus dem/den Quelldokument(en) — ein Aktenkopf-JSON wird nie frei aus dem Gedächtnis aufgebaut. Wurzel-Schlüssel (aktenkopf, parteien, fristen_hinweise, betraege, aktenzeichen_fremd, luecken) und Enum-Werte (rolle: mandant/gegner/sonstige; typ: natuerlich/juristisch) werden wörtlich** aus der Vorlage bzw. [schema/README.md](schema/README.md) übernommen — nie umformulieren, nie mit Umlauten oder abweichender Groß-/Kleinschreibung schreiben. Was nicht im Text steht, wird nicht ergänzt, sondern als Eintrag in luecken ausgewiesen (mit Begründung, warum die Angabe für die Aktenanlage nötig ist). Datumsnennungen kommen als fristen_hinweise mit wörtlichem quelle_zitat in den Aktenkopf, nie als berechnete Frist.

  1. Claude ruft den Executor auf (kein eigenes Prüfen durch das Modell):

``bash python3 ${CLAUDE_PLUGIN_ROOT}/skills/aktenkopf-extraktor/executor.py \ --aktenkopf \ --quelle [--quelle ...] \ --output ``

  1. Der Executor prüft deterministisch (P3): Schema, Provenienz jedes

kritischen Werts (belegt/nicht_belegt mit Fundstelle) und die Lücken-Disziplin. Exit-Code 0 = sauber, 1 = mindestens ein nicht_belegt-Wert und/oder Schema-Fehler, 2 = Eingabefehler.

  1. Bei nicht_belegt oder Schema-Fehler korrigiert Claude den Aktenkopf —

einen nicht belegten Wert entweder streichen (er stand nicht im Dokument) oder als Lücke ausweisen — nie erfinden; ein leeres Pflichtfeld mit einem luecken-Eintrag versehen — und ruft den Executor erneut auf. Kein One-Shot: Schritte 1–4 bilden eine Korrekturschleife (erstellen → prüfen → korrigieren → erneut prüfen), keinen Einmal-Check. Wiederholen, bis der Executor mit Exit-Code 0 sauber durchläuft.

  1. Claude stellt das Ergebnis in Markdown dar: Aktenkopf, Parteien-Tabelle,

Frist-Hinweise mit deutlichem Haftungshinweis (erkannte Datumsnennungen, keine Fristenkontrolle; Fristberechnung nur über fristenrechner) und die Lückenliste. Jeder als nicht_belegt gemeldete Wert wird nie stillschweigend übernommen.

Output-Format

JSON-Report nach [schema/README.md](schema/README.md), Beispiel: [schema/beispiel-report.json](schema/beispiel-report.json) (erzeugt aus [schema/beispiel-aktenkopf.json](schema/beispiel-aktenkopf.json) + [schema/beispiel-eingabe.md](schema/beispiel-eingabe.md)). Kernfelder: schema_ok, schema_fehler[], provenienz[] (je Wert status, fundstelle, begruendung), luecken[], zusammenfassung.

Jeder Beleg-Zustand im Report stammt aus executor.py, nie vom Modell (P3).

Beispiele

Beispiel 1 — Anspruchsschreiben nach Verkehrsunfall (alles belegt)

Eingabe: [schema/beispiel-eingabe.md](schema/beispiel-eingabe.md) (fiktives gegnerisches Anspruchsschreiben, Verkehrsunfall, mit Zahlungsfrist, mehreren Beträgen, fremdem Aktenzeichen und Bankverbindung). Claude erzeugt daraus [schema/beispiel-aktenkopf.json](schema/beispiel-aktenkopf.json); der Executor belegt alle 11 kritischen Werte (Exit 0). Von Claude präsentiert:

Aktenkopf — Mustermann ./. Beispiel (Verkehrsunfall), Eingang 05.03.2026.

| Rolle | Name | Typ | Anschrift | vertreten durch | |---|---|---|---|---| | Mandant | Max Mustermann | natürlich | Musterweg 3, 20099 Hamburg | — | | Gegner | Erika Beispiel | natürlich | (Lücke) | Dr. Petra Gegner | | Sonstige | Dr. Gegner & Kollegen | juristisch | Musterallee 100, 20095 Hamburg | — |

Frist-Hinweise (⚠️ erkannte Datumsnennungen — keine Fristberechnung, Zweitkontrolle über fristenrechner):

| Datum (im Text) | Vermutete Bedeutung | |---|---| | 20.03.2026 | Von der Gegenseite gesetzte Zahlungsfrist (außergerichtlich), keine gesetzliche Notfrist | | 12.02.2026 | Unfalltag — möglicher Verjährungsbeginn, anwaltlich zu prüfen |

Lücken für die Aktenanlage: Anschrift der Gegnerin fehlt im Schreiben; Telefon/E-Mail des Mandanten beim Erstkontakt zu erfragen.

Beispiel 2 — erfundener Wert wird abgefangen

Trägt der Aktenkopf einen Betrag oder ein Datum, das nicht im Dokument steht, meldet der Executor es als nicht_belegt (Exit 1) mit dem Hinweis „Wert streichen oder als Lücke ausweisen". Claude übernimmt einen solchen Wert nie, sondern streicht ihn oder führt ihn als Lücke — so wird die Anti-Halluzinations- Regel maschinell erzwungen.

Grenzen

  • Keine Fristberechnung / kein Fristende — nur erkannte Datumsnennungen

(siehe Haftungshinweis oben); Fristen ausschließlich über fristenrechner.

  • PDF/Scan out of scope → posteingang-ocr-verteilung (Welle 4).
  • Provenienz ist ein Beleg-, kein Richtigkeitsnachweis: belegt heißt nur,

dass der Wert (nach Normalisierung) im Text vorkommt — nicht, dass er rechtlich zutrifft oder das Modell ihn dem richtigen Feld zugeordnet hat. Die Zuordnung (welche Partei, welche Bedeutung) bleibt anwaltlich zu prüfen.

  • Normalisierungsgrenzen: Telefonnummern werden nur um Trennzeichen bereinigt

verglichen (keine Ländervorwahl-Äquivalenz +490); Datums-/Geldformate sind in [schema/README.md](schema/README.md) abschließend dokumentiert.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.