mirror of
https://github.com/Klotzkette/claude-fuer-deutsches-recht
synced 2026-06-09 10:03:19 +00:00
Klagewerkstatt-Plugin mit Plugin-Generator und Online-Zustaendigkeitspruefung
- Neues Plugin forderungsmanagement-klagewerkstatt mit zwei Skills:
* klagevorlage-aus-eigenen-mustern (Lernlauf): destilliert aus eigenen
Mustern, Urteilen, Kommentaren, Aufsaetzen und Formatvorlagen eine
hauseigene Standardklage-Vorlage; sammelt Sachverhalt; prueft online
Zustaendigkeit; liefert Klage; packt eigenes Mini-Plugin als ZIP.
* klage-aus-eigenem-skill (Laufzeit): nimmt nur Sachverhalt und
Beklagtenadresse, prueft online erneut, befuellt Hausvorlage.
- Pflicht-Online-Adresscheck ueber justizadressen.nrw.de und
justiz.de Gerichtsverzeichnis; SS 23, 71 GVG sachlich;
SS 12, 13, 29, 29c, 38 ZPO oertlich; Bruessel Ia VO grenzueberschreitend.
- Plugin-Generator-Script scripts/plugin_aus_hausregeln.py erzeugt
klagewerkstatt-<slug>.zip mit fest verdrahteten Hausregeln.
- Single-file HTML-Padlet mit Live-Vorschau, localStorage, Export/Import.
- Standardvorlage, Hausregeln-Beispiel, Belegmuster, Anlagenliste,
Zustaendigkeits-Quellen, BGH-Leitentscheidungs-INDEX.
- Marketplace-Eintrag; Validator OK.
This commit is contained in:
@@ -126,6 +126,14 @@
|
||||
"name": "Klotzkette"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "forderungsmanagement-klagewerkstatt",
|
||||
"source": "./forderungsmanagement-klagewerkstatt",
|
||||
"description": "Generalisierter Klage-Assistent für Forderungsmanagement-Klagen mit eigenem Plugin-Generator. Lernlauf-Skill destilliert aus eigenen Klagemustern, Urteilen, Kommentaren, Aufsätzen und Formatvorlagen eine hauseigene Standardklage-Vorlage, sammelt den Sachverhalt und prüft online die sachliche und örtliche Zuständigkeit (justizadressen.nrw.de, justiz.de Gerichtssuche; §§ 12, 13, 29, 29c ZPO; §§ 23, 71 GVG). Laufzeit-Skill nimmt nur Sachverhalt und Beklagtenadresse entgegen und erzeugt die nächste Klage direkt in der hauseigenen Vorlage. Zusätzlich packt der Skill ein eigenes Mini-Plugin (klagewerkstatt-<kanzlei>.zip), das in Claude Code direkt installierbar ist. Eigenständig nutzbar; ergänzt sich mit prozessrecht und liquiditaetsplanung.",
|
||||
"author": {
|
||||
"name": "Klotzkette"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "betreuungsrecht",
|
||||
"source": "./betreuungsrecht",
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "forderungsmanagement-klagewerkstatt",
|
||||
"version": "0.1.0",
|
||||
"description": "Generalisierter Klage-Assistent für Forderungsmanagement-Klagen mit eigenem Plugin-Generator. Aus eigenen Klagemustern, Urteilen, Kommentaren, Aufsätzen und Formatvorlagen destilliert der Skill eine hauseigene Standardklage-Vorlage, sammelt den Sachverhalt, prüft online die örtliche und sachliche Zuständigkeit (justizadressen.nrw.de, justiz.de Gerichtssuche; §§ 12, 13, 29, 29c ZPO; §§ 23, 71 GVG) und liefert die fertige Klage als DOCX und Markdown. Zusätzlich erzeugt der Skill ein eigenes, sofort in Claude Code installierbares Mini-Plugin (ZIP), mit dem die nächste Klage ohne Extraktionsschritt direkt in der hauseigenen Vorlage entsteht. Eigenständig nutzbar; ergänzt sich mit prozessrecht, vertragsrecht und liquiditaetsplanung, hängt aber nicht davon ab.",
|
||||
"license": "Apache-2.0 OR MIT",
|
||||
"author": {
|
||||
"name": "Klotzkette"
|
||||
},
|
||||
"homepage": "https://github.com/Klotzkette/claude-fuer-deutsches-recht",
|
||||
"keywords": [
|
||||
"forderungsmanagement",
|
||||
"klage",
|
||||
"klageschrift",
|
||||
"inkasso",
|
||||
"verzug",
|
||||
"zpo",
|
||||
"mahnverfahren",
|
||||
"klagewerkstatt",
|
||||
"skill-generator",
|
||||
"plugin-generator",
|
||||
"bea",
|
||||
"egvp",
|
||||
"zustaendigkeit",
|
||||
"justizadressen-nrw"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
# Hauspflichten — forderungsmanagement-klagewerkstatt
|
||||
|
||||
Verbindliche Regeln für jeden Lauf in diesem Plugin. Gilt für beide Skills.
|
||||
|
||||
## Pflichtschritte
|
||||
|
||||
1. **Online-Zuständigkeitsprüfung** ist Pflicht. Vor jeder Auslieferung der Klageschrift sind beide Quellen abzurufen und im Output mit Abrufdatum auszuweisen:
|
||||
- <https://www.justizadressen.nrw.de/de/justiz/suche>
|
||||
- <https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php>
|
||||
2. **Sachliche Zuständigkeit** rechnerisch (§§ 23 Nr. 1, 71 GVG; Sondertatbestände beachten).
|
||||
3. **Örtliche Zuständigkeit** rechtlich (§§ 12, 13, 17, 24, 29, 29c, 38 ZPO; grenzüberschreitend Brüssel Ia VO 1215/2012).
|
||||
4. **BeA-SAFE-ID** des Empfangsgerichts: wenn nicht aus den Quellen abrufbar, mit Hinweis „über beA-Adressbuch zu ergänzen" markieren.
|
||||
|
||||
## Stil
|
||||
|
||||
- **Zitierweise**: Pinpoint mit Randnummer; jüngere BGH-Entscheidungen zuerst; deutsche Kommentartradition (Bearbeiterstil mit Auflage, Jahr, Rn.).
|
||||
- **Englische etablierte Begriffe** bleiben erhalten (NDA, SPA, MAC, Stakeholder, Compliance, BeA).
|
||||
- **Auslöser** statt „Hooks"; **Agentenrezepte** statt „Cookbooks".
|
||||
- **Memo** im Gutachtenstil nur auf ausdrückliche Anfrage.
|
||||
|
||||
## Format-/Banking-Wahl
|
||||
|
||||
- Am Anfang **einmal** fragen, welches Ergebnisformat gewünscht ist (DOCX + Markdown, zusätzlich Padlet?).
|
||||
- Hausvorlage (DOCX) NICHT verändern, wenn der Nutzer einen Briefkopf mitgeliefert hat. Platzhalter respektieren.
|
||||
|
||||
## Plugin-Generator
|
||||
|
||||
- Output-Slug aus Kanzleinamen ableiten (lowercased, Umlaute transliteriert, Bindestriche).
|
||||
- Erzeugtes Plugin enthält die Hausregeln fest verdrahtet und führt weiterhin die Online-Zuständigkeitsprüfung als Pflicht aus.
|
||||
|
||||
## Übergabe
|
||||
|
||||
- Bei drohender Zahlungsunfähigkeit der Beklagten an `liquiditaetsplanung`.
|
||||
- Bei einstweiligem Rechtsschutz / Mahnverfahren an `prozessrecht`.
|
||||
- Wiederverwendung beim nächsten Mal über den Laufzeit-Skill `klage-aus-eigenem-skill`.
|
||||
@@ -0,0 +1,94 @@
|
||||
# Forderungsmanagement — Klagewerkstatt
|
||||
|
||||
**Generalisierter Klage-Assistent für Inkasso- und Forderungsmanagement-Klagen mit eigenem Plugin-Generator.** Aus eigenen Mustern eine hauseigene Standardvorlage destillieren, online die Zuständigkeit prüfen, die Klage erzeugen und als sofort installierbares Mini-Plugin verpacken.
|
||||
|
||||
---
|
||||
|
||||
## ⬇️ Direkt-Download (einzelnes ZIP)
|
||||
|
||||
| Plugin | Direkt-Download |
|
||||
| --- | --- |
|
||||
| **forderungsmanagement-klagewerkstatt** (dieses Plugin) | [forderungsmanagement-klagewerkstatt.zip](https://github.com/Klotzkette/claude-fuer-deutsches-recht/releases/latest/download/forderungsmanagement-klagewerkstatt.zip) |
|
||||
| prozessrecht (sinnvolle Ergänzung) | [prozessrecht.zip](https://github.com/Klotzkette/claude-fuer-deutsches-recht/releases/latest/download/prozessrecht.zip) |
|
||||
| liquiditaetsplanung (Folgeprüfung) | [liquiditaetsplanung.zip](https://github.com/Klotzkette/claude-fuer-deutsches-recht/releases/latest/download/liquiditaetsplanung.zip) |
|
||||
|
||||
Die URLs sind **stabil** und zeigen immer auf die neueste Version. Alle weiteren Plugins (Vertragsrecht, Arbeitsrecht, Datenschutz, …) liegen unter [Releases · latest](https://github.com/Klotzkette/claude-fuer-deutsches-recht/releases/latest).
|
||||
|
||||
### Installation in Claude Code
|
||||
|
||||
1. ZIP herunterladen (Link oben).
|
||||
2. Claude Code → **Customize Plugins** → **Install from .zip** → Datei wählen.
|
||||
3. Fertig. Skills sind sofort verfügbar.
|
||||
|
||||
---
|
||||
|
||||
## Was ist drin
|
||||
|
||||
Zwei Skills, gedacht als Lernlauf-+-Laufzeit-Paar:
|
||||
|
||||
| Skill | Zweck |
|
||||
| --- | --- |
|
||||
| `klagevorlage-aus-eigenen-mustern` | **Lernlauf**: frisst eigene Klagemuster, Urteile, Kommentare, Aufsätze, Formatvorlagen; destilliert die hauseigene Standardklage-Vorlage; sammelt den Sachverhalt; **prüft online die Zuständigkeit** (justizadressen.nrw.de, justiz.de); liefert die Klage und erzeugt zusätzlich ein eigenes installierbares **Mini-Plugin als ZIP**. |
|
||||
| `klage-aus-eigenem-skill` | **Laufzeit**: setzt voraus, dass das im Lernlauf erzeugte Mini-Plugin installiert ist. Nimmt nur noch Sachverhalt und Beklagtenadresse, prüft erneut online die Zuständigkeit, befüllt die Hausvorlage. Keine erneute Extraktion. |
|
||||
|
||||
Beide Skills führen **bei jedem Lauf** die Online-Zuständigkeitsprüfung über [justizadressen.nrw.de](https://www.justizadressen.nrw.de/de/justiz/suche) und das [bundesweite Justizportal](https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php) durch.
|
||||
|
||||
## Plugin-Generator
|
||||
|
||||
Aus den extrahierten Hausregeln und der Standardvorlage packt der Skill ein eigenes, in Claude Code direkt installierbares ZIP:
|
||||
|
||||
```bash
|
||||
python scripts/plugin_aus_hausregeln.py \
|
||||
--kanzlei "Kanzlei Mustermann" \
|
||||
--vorlage assets/vorlagen-leer/standardklage.md \
|
||||
--regeln /pfad/hausregeln.json \
|
||||
--ziel /pfad/klagewerkstatt-mustermann.zip
|
||||
```
|
||||
|
||||
Layout des erzeugten Plugins:
|
||||
|
||||
```
|
||||
klagewerkstatt-<slug>/
|
||||
.claude-plugin/plugin.json
|
||||
skills/klage-erstellen/SKILL.md
|
||||
assets/vorlage/standardklage.md
|
||||
references/hausregeln.json
|
||||
references/belegmuster.md
|
||||
references/anlagenliste.md
|
||||
references/zustaendigkeit-quellen.md
|
||||
README.md
|
||||
```
|
||||
|
||||
Der erzeugte Skill enthält die Hausregeln fest verdrahtet und führt weiterhin die **Online-Zuständigkeitsprüfung** als Pflichtschritt aus.
|
||||
|
||||
## Ergebnisformate
|
||||
|
||||
- **DOCX** über `office/docx` (`Klage-<Beklagte>-<YYYYMMDD>.docx`) und **Markdown-Spiegel**.
|
||||
- **Anlage Zuständigkeitsprüfung** mit Online-Quelle und Abrufdatum.
|
||||
- **HTML-Padlet** (`assets/padlet/klage-padlet.html`) — single-file, autark, Live-Vorschau, speichert in `localStorage`, exportiert/importiert JSON.
|
||||
- **Memo** im Gutachtenstil — nur auf ausdrückliche Anfrage.
|
||||
|
||||
## Online-Zuständigkeit (Pflicht in jedem Lauf)
|
||||
|
||||
1. **Sachlich** rechnerisch: ≤ 5.000 EUR → AG (§ 23 Nr. 1 GVG); > 5.000 EUR → LG (§ 71 GVG); Sondertatbestände beachten.
|
||||
2. **Örtlich** rechtlich: §§ 12, 13 ZPO Allgemeiner Gerichtsstand, § 29 ZPO Erfüllungsort, § 29c ZPO Verbraucherverträge, § 38 ZPO Gerichtsstandsvereinbarung; grenzüberschreitend Brüssel Ia VO 1215/2012.
|
||||
3. **Online-Adressrecherche**: `justizadressen.nrw.de` (PLZ/Ort) und bundesweit `justiz.de`; Quelle und Abrufdatum dokumentieren.
|
||||
4. BeA-SAFE-ID: aus dem beA-Adressbuch zu ergänzen.
|
||||
|
||||
## Leitentscheidungen (Auswahl, siehe `references/rechtsprechung/INDEX.md`)
|
||||
|
||||
- BGH, Urt. v. 25.06.2020 – VII ZR 308/19, NJW 2020, 2884 (§ 288 Abs. 5 BGB)
|
||||
- BGH, Urt. v. 22.01.2008 – VIII ZR 6/06, NJW 2008, 1888 (RA-Kosten als Verzugsschaden)
|
||||
- BGH, Urt. v. 04.10.2007 – III ZR 180/06, NJW 2008, 50 (Mahnung)
|
||||
- BGH, Beschl. v. 23.06.2022 – V ZB 12/22 (§ 130a ZPO)
|
||||
- BGH, Beschl. v. 31.01.2023 – XI ZB 23/22 (beA-Sorgfalt)
|
||||
- BGH, Urt. v. 22.04.2009 – VIII ZR 156/07, NJW 2009, 2197 (§ 29 ZPO)
|
||||
- EuGH, Urt. v. 14.09.2023 – C-393/22 (Brüssel Ia VO)
|
||||
|
||||
## Lizenz
|
||||
|
||||
Apache-2.0 OR MIT — Auswahl beim Empfänger.
|
||||
|
||||
## Quellen-Disclaimer
|
||||
|
||||
Alle Aussagen beruhen auf der zitierten BGH-Rechtsprechung und genannter Kommentarliteratur. Die Skills ersetzen keine eigene anwaltliche Prüfung im Einzelfall.
|
||||
@@ -0,0 +1,465 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Klagewerkstatt — Live-Padlet</title>
|
||||
<style>
|
||||
:root {
|
||||
--bg: #F7F6F2;
|
||||
--surface: #F9F8F5;
|
||||
--border: #D4D1CA;
|
||||
--text: #28251D;
|
||||
--muted: #7A7974;
|
||||
--primary: #01696F;
|
||||
--primary-hover: #0C4E54;
|
||||
--warning: #964219;
|
||||
--success: #437A22;
|
||||
}
|
||||
* { box-sizing: border-box; }
|
||||
body {
|
||||
margin: 0;
|
||||
font: 16px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
|
||||
background: var(--bg);
|
||||
color: var(--text);
|
||||
}
|
||||
header {
|
||||
padding: 16px 24px;
|
||||
background: var(--surface);
|
||||
border-bottom: 1px solid var(--border);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
header h1 { font-size: 18px; margin: 0; }
|
||||
header .meta { color: var(--muted); font-size: 13px; margin-left: auto; }
|
||||
.layout {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(340px, 1fr) minmax(420px, 1.4fr);
|
||||
gap: 0;
|
||||
min-height: calc(100vh - 60px);
|
||||
}
|
||||
.form, .vorschau {
|
||||
padding: 20px 24px;
|
||||
overflow-y: auto;
|
||||
max-height: calc(100vh - 60px);
|
||||
}
|
||||
.form { background: var(--surface); border-right: 1px solid var(--border); }
|
||||
.vorschau { background: var(--bg); }
|
||||
.gruppe {
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 6px;
|
||||
padding: 12px 14px 14px;
|
||||
margin-bottom: 14px;
|
||||
background: #FBFBF9;
|
||||
}
|
||||
.gruppe > h2 {
|
||||
margin: 0 0 10px;
|
||||
font-size: 13px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--primary);
|
||||
}
|
||||
label { display: block; font-size: 12px; color: var(--muted); margin: 8px 0 4px; }
|
||||
input, textarea, select {
|
||||
width: 100%;
|
||||
padding: 6px 8px;
|
||||
font: inherit;
|
||||
font-size: 14px;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 4px;
|
||||
background: white;
|
||||
color: var(--text);
|
||||
}
|
||||
textarea { min-height: 70px; resize: vertical; }
|
||||
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
|
||||
.row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
|
||||
.aktionen {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
background: var(--surface);
|
||||
padding: 10px 0;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
border-top: 1px solid var(--border);
|
||||
margin-top: 12px;
|
||||
}
|
||||
button {
|
||||
font: inherit;
|
||||
padding: 7px 12px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid var(--border);
|
||||
background: white;
|
||||
cursor: pointer;
|
||||
}
|
||||
button.primary { background: var(--primary); color: white; border-color: var(--primary); }
|
||||
button.primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
|
||||
button.warn { color: var(--warning); }
|
||||
.vorschau-doc {
|
||||
background: white;
|
||||
padding: 28px 36px;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 4px;
|
||||
font-family: Georgia, "Times New Roman", serif;
|
||||
line-height: 1.5;
|
||||
font-size: 14.5px;
|
||||
min-height: 80vh;
|
||||
}
|
||||
.vorschau-doc h1 { font-size: 22px; margin: 0 0 12px; text-align: center; }
|
||||
.vorschau-doc h2 { font-size: 16px; margin: 18px 0 6px; }
|
||||
.vorschau-doc .briefkopf, .vorschau-doc .ortdatum { color: var(--muted); white-space: pre-line; }
|
||||
.vorschau-doc .platzhalter { color: #BB653B; font-style: italic; }
|
||||
.vorschau-doc table { border-collapse: collapse; width: 100%; margin: 6px 0 10px; font-family: inherit; font-size: 13px; }
|
||||
.vorschau-doc th, .vorschau-doc td { border: 1px solid var(--border); padding: 4px 6px; text-align: left; vertical-align: top; }
|
||||
.hinweis {
|
||||
background: #F3EDE3;
|
||||
border-left: 4px solid var(--warning);
|
||||
padding: 8px 12px;
|
||||
margin: 10px 0 16px;
|
||||
font-size: 13px;
|
||||
color: var(--text);
|
||||
}
|
||||
.zust-ok { color: var(--success); }
|
||||
.zust-warn { color: var(--warning); }
|
||||
.online-link a { color: var(--primary); }
|
||||
@media (max-width: 960px) {
|
||||
.layout { grid-template-columns: 1fr; }
|
||||
.form, .vorschau { max-height: none; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>Klagewerkstatt — Live-Padlet</h1>
|
||||
<span class="meta">Single-File, autark, speichert lokal im Browser (<code>localStorage</code>).
|
||||
Pflichtschritt vor Versand: Zuständigkeit online prüfen.</span>
|
||||
</header>
|
||||
<div class="layout">
|
||||
<section class="form" id="form">
|
||||
<!-- generiert per JS -->
|
||||
</section>
|
||||
<section class="vorschau">
|
||||
<div class="hinweis">
|
||||
<strong>Hinweis:</strong> Vorschau dient der Pflege, nicht der Einreichung.
|
||||
Vor Versand zwingend online prüfen:
|
||||
<span class="online-link">
|
||||
<a href="https://www.justizadressen.nrw.de/de/justiz/suche" target="_blank" rel="noopener">justizadressen.nrw.de</a> ·
|
||||
<a href="https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php" target="_blank" rel="noopener">Justizportal</a>
|
||||
</span>.
|
||||
</div>
|
||||
<div id="zust" class="hinweis"></div>
|
||||
<article id="doc" class="vorschau-doc"></article>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
const SCHEMA = [
|
||||
{ gruppe: "Kanzlei", felder: [
|
||||
{ id: "kanzlei_briefkopf", label: "Briefkopf (mehrzeilig)", type: "textarea" },
|
||||
{ id: "ort_datum", label: "Ort, Datum", type: "text", placeholder: "Berlin, 19.05.2026" },
|
||||
{ id: "unterschrift", label: "Unterschriftsblock", type: "textarea" }
|
||||
]},
|
||||
{ gruppe: "Rubrum", felder: [
|
||||
{ id: "klagepartei", label: "Klagepartei (Name, Anschrift, ggf. Vertretung)", type: "textarea" },
|
||||
{ id: "bevollmaecht", label: "Prozessbevollmächtigte", type: "textarea" },
|
||||
{ id: "beklagte", label: "Beklagte(r) (Name, Anschrift, ggf. Vertretung)", type: "textarea" },
|
||||
{ id: "beklagte_plz", label: "PLZ Beklagte (für Zuständigkeit)", type: "text" },
|
||||
{ id: "beklagte_ort", label: "Ort Beklagte", type: "text" },
|
||||
{ id: "beklagte_b2c", label: "Beklagte ist Verbraucher (§ 29c ZPO)", type: "select", optionen: ["nein", "ja"] }
|
||||
]},
|
||||
{ gruppe: "Streit und Anträge", felder: [
|
||||
{ id: "anspruch_grund", label: "Forderungsgrund (Kauf, Werk, Dienst, Darlehen, Miete, …)", type: "text" },
|
||||
{ id: "streitwert", label: "Streitwert (EUR)", type: "number" },
|
||||
{ id: "hauptforderung", label: "Hauptforderung (EUR)", type: "number" },
|
||||
{ id: "zinsen", label: "Zinsen (z. B. 9 Prozentpunkte über Basiszinssatz, § 288 Abs. 2 BGB)", type: "text" },
|
||||
{ id: "zinslauf_ab", label: "Zinslauf seit", type: "text", placeholder: "TT.MM.JJJJ" },
|
||||
{ id: "kosten", label: "Vorgerichtliche RA-Kosten (EUR)", type: "number" }
|
||||
]},
|
||||
{ gruppe: "Sachverhalt und Würdigung", felder: [
|
||||
{ id: "sachverhalt", label: "Sachverhalt", type: "textarea" },
|
||||
{ id: "rechtliche_wuerdigung",label: "Rechtliche Würdigung", type: "textarea" },
|
||||
{ id: "beweismittel", label: "Beweismittel (Urkunden, Zeugen, …)", type: "textarea" }
|
||||
]},
|
||||
{ gruppe: "Zuständigkeit (online geprüft)", felder: [
|
||||
{ id: "gericht_bez", label: "Gericht (z. B. Amtsgericht Köln)", type: "text" },
|
||||
{ id: "gericht_adr", label: "Postanschrift Gericht", type: "textarea" },
|
||||
{ id: "gericht_safe", label: "BeA-SAFE-ID (sofern bekannt)", type: "text" },
|
||||
{ id: "zust_sachlich", label: "Sachliche Zuständigkeit (Norm)", type: "text", placeholder: "§ 71 GVG" },
|
||||
{ id: "zust_oertlich", label: "Örtliche Zuständigkeit (Norm)", type: "text", placeholder: "§§ 12, 13 ZPO" },
|
||||
{ id: "zust_quelle", label: "Online-Quelle", type: "text", placeholder: "justizadressen.nrw.de" },
|
||||
{ id: "zust_abrufdatum", label: "Abrufdatum", type: "text", placeholder: "TT.MM.JJJJ" }
|
||||
]},
|
||||
{ gruppe: "Anlagen", felder: [
|
||||
{ id: "anlagen", label: "Anlagenliste (eine pro Zeile, z. B. K1 Rechnung)", type: "textarea" }
|
||||
]}
|
||||
];
|
||||
|
||||
const KEY = "klagewerkstatt-padlet-v1";
|
||||
|
||||
const STATE = Object.fromEntries(
|
||||
SCHEMA.flatMap(g => g.felder).map(f => [f.id, f.type === "select" ? f.optionen[0] : ""])
|
||||
);
|
||||
|
||||
function laden() {
|
||||
try {
|
||||
const raw = localStorage.getItem(KEY);
|
||||
if (!raw) return;
|
||||
Object.assign(STATE, JSON.parse(raw));
|
||||
} catch (_) { /* ignore */ }
|
||||
}
|
||||
function speichern() {
|
||||
try { localStorage.setItem(KEY, JSON.stringify(STATE)); } catch (_) { /* ignore */ }
|
||||
}
|
||||
|
||||
function feld(f) {
|
||||
const wrap = document.createElement("div");
|
||||
const lbl = document.createElement("label");
|
||||
lbl.textContent = f.label;
|
||||
lbl.htmlFor = f.id;
|
||||
wrap.appendChild(lbl);
|
||||
let el;
|
||||
if (f.type === "textarea") {
|
||||
el = document.createElement("textarea");
|
||||
} else if (f.type === "select") {
|
||||
el = document.createElement("select");
|
||||
for (const opt of f.optionen) {
|
||||
const o = document.createElement("option");
|
||||
o.value = o.textContent = opt;
|
||||
el.appendChild(o);
|
||||
}
|
||||
} else {
|
||||
el = document.createElement("input");
|
||||
el.type = f.type;
|
||||
}
|
||||
el.id = f.id;
|
||||
if (f.placeholder) el.placeholder = f.placeholder;
|
||||
el.value = STATE[f.id] ?? "";
|
||||
el.addEventListener("input", () => {
|
||||
STATE[f.id] = el.value;
|
||||
speichern();
|
||||
rendern();
|
||||
});
|
||||
wrap.appendChild(el);
|
||||
return wrap;
|
||||
}
|
||||
|
||||
function aufbauen() {
|
||||
const root = document.getElementById("form");
|
||||
for (const g of SCHEMA) {
|
||||
const sec = document.createElement("div");
|
||||
sec.className = "gruppe";
|
||||
const h = document.createElement("h2");
|
||||
h.textContent = g.gruppe;
|
||||
sec.appendChild(h);
|
||||
for (const f of g.felder) sec.appendChild(feld(f));
|
||||
root.appendChild(sec);
|
||||
}
|
||||
const akt = document.createElement("div");
|
||||
akt.className = "aktionen";
|
||||
akt.innerHTML = `
|
||||
<button class="primary" id="btnMd">Markdown exportieren</button>
|
||||
<button id="btnJson">JSON exportieren</button>
|
||||
<label style="margin:0;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);">
|
||||
<input id="btnImport" type="file" accept="application/json" style="font-size:12px;" />
|
||||
Import (JSON)
|
||||
</label>
|
||||
<button class="warn" id="btnReset">Zurücksetzen</button>`;
|
||||
root.appendChild(akt);
|
||||
|
||||
document.getElementById("btnMd").onclick = () => download("klage.md", "text/markdown", asMarkdown());
|
||||
document.getElementById("btnJson").onclick = () => download("klage.json", "application/json", JSON.stringify(STATE, null, 2));
|
||||
document.getElementById("btnReset").onclick = () => {
|
||||
if (!confirm("Alle Eingaben löschen?")) return;
|
||||
localStorage.removeItem(KEY);
|
||||
location.reload();
|
||||
};
|
||||
document.getElementById("btnImport").onchange = async (e) => {
|
||||
const file = e.target.files?.[0]; if (!file) return;
|
||||
try {
|
||||
const data = JSON.parse(await file.text());
|
||||
Object.assign(STATE, data);
|
||||
speichern();
|
||||
location.reload();
|
||||
} catch (err) { alert("Import fehlgeschlagen: " + err.message); }
|
||||
};
|
||||
}
|
||||
|
||||
function download(name, mime, text) {
|
||||
const blob = new Blob([text], { type: mime + ";charset=utf-8" });
|
||||
const url = URL.createObjectURL(blob);
|
||||
const a = document.createElement("a");
|
||||
a.href = url; a.download = name; document.body.appendChild(a); a.click();
|
||||
a.remove(); URL.revokeObjectURL(url);
|
||||
}
|
||||
|
||||
function ph(v, hint) {
|
||||
if (v && String(v).trim()) return escapeHtml(v);
|
||||
return `<span class="platzhalter">{{${hint}}}</span>`;
|
||||
}
|
||||
function escapeHtml(s) {
|
||||
return String(s).replace(/[&<>]/g, c => ({"&":"&","<":"<",">":">"}[c]));
|
||||
}
|
||||
function nl2br(s) { return escapeHtml(s).replace(/\n/g, "<br>"); }
|
||||
|
||||
function pruefeZust() {
|
||||
const sw = parseFloat(STATE.streitwert || "0");
|
||||
const zeilen = [];
|
||||
if (sw > 0) {
|
||||
if (sw <= 5000) zeilen.push(`Sachlich: Amtsgericht (§ 23 Nr. 1 GVG), Streitwert ${sw.toLocaleString("de-DE")} EUR.`);
|
||||
else zeilen.push(`Sachlich: Landgericht (§ 71 GVG), Streitwert ${sw.toLocaleString("de-DE")} EUR.`);
|
||||
}
|
||||
if (STATE.beklagte_b2c === "ja") {
|
||||
zeilen.push("Örtlich: § 29c ZPO — Wohnsitz des Verbrauchers, AGB-Gerichtsstand unwirksam (§ 38 Abs. 3 ZPO).");
|
||||
} else if (STATE.beklagte_plz || STATE.beklagte_ort) {
|
||||
zeilen.push("Örtlich: §§ 12, 13 ZPO am allgemeinen Gerichtsstand der Beklagten; § 29 ZPO Erfüllungsort prüfen.");
|
||||
}
|
||||
if (!STATE.gericht_bez || !STATE.zust_quelle || !STATE.zust_abrufdatum) {
|
||||
zeilen.push("<span class=\"zust-warn\">Online-Adresscheck noch offen.</span>");
|
||||
} else {
|
||||
zeilen.push(`<span class="zust-ok">Adresscheck dokumentiert: ${escapeHtml(STATE.zust_quelle)} (${escapeHtml(STATE.zust_abrufdatum)}).</span>`);
|
||||
}
|
||||
return zeilen.join("<br>");
|
||||
}
|
||||
|
||||
function asHtml() {
|
||||
const anlagen = (STATE.anlagen || "")
|
||||
.split(/\n+/)
|
||||
.filter(z => z.trim())
|
||||
.map(z => `<li>${escapeHtml(z)}</li>`).join("");
|
||||
return `
|
||||
<div class="briefkopf">${ph(STATE.kanzlei_briefkopf, "kanzlei.briefkopf")}</div>
|
||||
<div class="ortdatum">${ph(STATE.ort_datum, "ort_datum")}</div>
|
||||
<p>An das<br><strong>${ph(STATE.gericht_bez, "gericht.bezeichnung")}</strong><br>
|
||||
${ph(STATE.gericht_adr, "gericht.adresse")}<br>
|
||||
${STATE.gericht_safe ? "beA-EGVP, SAFE-ID: " + escapeHtml(STATE.gericht_safe) : ""}</p>
|
||||
<h1>Klage</h1>
|
||||
<p><strong>In dem Rechtsstreit</strong></p>
|
||||
<p>${ph(STATE.klagepartei, "rubrum.klagepartei")}<br>— Klägerin/Kläger —</p>
|
||||
<p>Prozessbevollmächtigte: ${ph(STATE.bevollmaecht, "rubrum.bevollmaechtigte")}</p>
|
||||
<p><strong>gegen</strong></p>
|
||||
<p>${ph(STATE.beklagte, "rubrum.beklagte")}<br>— Beklagte/Beklagter —</p>
|
||||
<p><strong>wegen</strong> Forderung aus ${ph(STATE.anspruch_grund, "anspruch.grundsatz")}</p>
|
||||
<p><strong>Streitwert:</strong> ${ph(STATE.streitwert, "streitwert.eur")} EUR</p>
|
||||
|
||||
<h2>Anträge</h2>
|
||||
<p>Die Klägerin/der Kläger beantragt,</p>
|
||||
<ol>
|
||||
<li>die Beklagte/den Beklagten zu verurteilen, an die Klägerin/den Kläger
|
||||
<strong>${ph(STATE.hauptforderung, "antrag.hauptforderung")} EUR</strong>
|
||||
nebst Zinsen i. H. v. <strong>${ph(STATE.zinsen, "antrag.zinsen")}</strong>
|
||||
seit ${ph(STATE.zinslauf_ab, "antrag.zinslauf_ab")} zu zahlen;</li>
|
||||
<li>vorgerichtliche Rechtsanwaltskosten i. H. v.
|
||||
<strong>${ph(STATE.kosten, "antrag.kosten")} EUR</strong>
|
||||
nebst Zinsen i. H. v. 5 Prozentpunkten über Basiszinssatz seit Rechtshängigkeit zu zahlen;</li>
|
||||
<li>die Kosten des Rechtsstreits der Beklagten aufzuerlegen.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Begründung</h2>
|
||||
<h3>I. Sachverhalt</h3>
|
||||
<p>${nl2br(STATE.sachverhalt || "")}</p>
|
||||
<h3>II. Rechtliche Würdigung</h3>
|
||||
<p>${nl2br(STATE.rechtliche_wuerdigung || "")}</p>
|
||||
<h3>III. Zuständigkeit</h3>
|
||||
<p>Sachlich: ${ph(STATE.zust_sachlich, "zustaendigkeit.sachlich")}.<br>
|
||||
Örtlich: ${ph(STATE.zust_oertlich, "zustaendigkeit.oertlich")}.<br>
|
||||
Adresse des Gerichts verifiziert am ${ph(STATE.zust_abrufdatum, "zustaendigkeit.abrufdatum")}
|
||||
bei ${ph(STATE.zust_quelle, "zustaendigkeit.quelle")}.</p>
|
||||
<h3>IV. Beweismittel</h3>
|
||||
<p>${nl2br(STATE.beweismittel || "")}</p>
|
||||
|
||||
<h2>Anlagen</h2>
|
||||
<ul>${anlagen || "<li><span class='platzhalter'>{{anlagen.liste}}</span></li>"}</ul>
|
||||
|
||||
<p>${nl2br(STATE.unterschrift || "")}</p>
|
||||
`;
|
||||
}
|
||||
|
||||
function asMarkdown() {
|
||||
const anlagen = (STATE.anlagen || "")
|
||||
.split(/\n+/).filter(z => z.trim())
|
||||
.map(z => `- ${z}`).join("\n") || "{{anlagen.liste}}";
|
||||
const safe = STATE.gericht_safe ? `beA-EGVP, SAFE-ID: ${STATE.gericht_safe}\n` : "";
|
||||
return `${STATE.kanzlei_briefkopf || "{{kanzlei.briefkopf}}"}
|
||||
|
||||
${STATE.ort_datum || "{{ort_datum}}"}
|
||||
|
||||
An das
|
||||
**${STATE.gericht_bez || "{{gericht.bezeichnung}}"}**
|
||||
${STATE.gericht_adr || "{{gericht.adresse}}"}
|
||||
${safe}
|
||||
---
|
||||
|
||||
# Klage
|
||||
|
||||
**In dem Rechtsstreit**
|
||||
|
||||
${STATE.klagepartei || "{{rubrum.klagepartei}}"}
|
||||
— Klägerin/Kläger —
|
||||
|
||||
Prozessbevollmächtigte: ${STATE.bevollmaecht || "{{rubrum.bevollmaechtigte}}"}
|
||||
|
||||
**gegen**
|
||||
|
||||
${STATE.beklagte || "{{rubrum.beklagte}}"}
|
||||
— Beklagte/Beklagter —
|
||||
|
||||
**wegen** Forderung aus ${STATE.anspruch_grund || "{{anspruch.grundsatz}}"}
|
||||
|
||||
**Streitwert:** ${STATE.streitwert || "{{streitwert.eur}}"} EUR
|
||||
|
||||
---
|
||||
|
||||
## Anträge
|
||||
|
||||
Die Klägerin/der Kläger beantragt,
|
||||
|
||||
1. die Beklagte/den Beklagten zu verurteilen, an die Klägerin/den Kläger **${STATE.hauptforderung || "{{antrag.hauptforderung}}"} EUR** nebst Zinsen i. H. v. **${STATE.zinsen || "{{antrag.zinsen}}"}** seit ${STATE.zinslauf_ab || "{{antrag.zinslauf_ab}}"} zu zahlen;
|
||||
2. vorgerichtliche Rechtsanwaltskosten i. H. v. **${STATE.kosten || "{{antrag.kosten}}"} EUR** nebst Zinsen i. H. v. 5 Prozentpunkten über Basiszinssatz seit Rechtshängigkeit zu zahlen;
|
||||
3. die Kosten des Rechtsstreits der Beklagten aufzuerlegen.
|
||||
|
||||
## Begründung
|
||||
|
||||
### I. Sachverhalt
|
||||
|
||||
${STATE.sachverhalt || "{{sachverhalt}}"}
|
||||
|
||||
### II. Rechtliche Würdigung
|
||||
|
||||
${STATE.rechtliche_wuerdigung || "{{rechtliche_wuerdigung}}"}
|
||||
|
||||
### III. Zuständigkeit
|
||||
|
||||
Sachlich: ${STATE.zust_sachlich || "{{zustaendigkeit.sachlich}}"}. Örtlich: ${STATE.zust_oertlich || "{{zustaendigkeit.oertlich}}"}. Adresse verifiziert am ${STATE.zust_abrufdatum || "{{zustaendigkeit.abrufdatum}}"} bei ${STATE.zust_quelle || "{{zustaendigkeit.quelle}}"}.
|
||||
|
||||
### IV. Beweismittel
|
||||
|
||||
${STATE.beweismittel || "{{beweismittel}}"}
|
||||
|
||||
---
|
||||
|
||||
## Anlagen
|
||||
|
||||
${anlagen}
|
||||
|
||||
---
|
||||
|
||||
${STATE.unterschrift || "{{unterschrift}}"}
|
||||
`;
|
||||
}
|
||||
|
||||
function rendern() {
|
||||
document.getElementById("doc").innerHTML = asHtml();
|
||||
document.getElementById("zust").innerHTML = pruefeZust() ||
|
||||
"Streitwert, Beklagtenadresse und Online-Adresscheck eingeben — die Vorschau aktualisiert sich live.";
|
||||
}
|
||||
|
||||
laden();
|
||||
aufbauen();
|
||||
rendern();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"kanzlei": {
|
||||
"name": "<Kanzlei XY>",
|
||||
"briefkopf_pfad": "assets/briefkopf.docx",
|
||||
"bea_safe_id_eigene": "",
|
||||
"anschrift": ""
|
||||
},
|
||||
"stil": {
|
||||
"tonalitaet": "knapp-sachlich",
|
||||
"anrede_gericht": "An das",
|
||||
"nummerierung_antraege": "arabisch",
|
||||
"anlagensigel": "K"
|
||||
},
|
||||
"zitierweise": {
|
||||
"schema": "pinpoint_rn",
|
||||
"reihenfolge": "juengere_bgh_zuerst",
|
||||
"kommentartradition": "deutsch"
|
||||
},
|
||||
"standardklauseln": {
|
||||
"zinsantrag_b2b": "9 Prozentpunkte über Basiszinssatz, § 288 Abs. 2 BGB",
|
||||
"zinsantrag_b2c": "5 Prozentpunkte über Basiszinssatz, § 288 Abs. 1 BGB",
|
||||
"verzugspauschale_b2b": "40 EUR, § 288 Abs. 5 BGB",
|
||||
"nebenforderung_ra_kosten": "Geschäftsgebühr Nr. 2300 VV RVG abzgl. Anrechnung Vorbem. 3 Abs. 4 VV RVG"
|
||||
},
|
||||
"standardbeleg": {
|
||||
"ra_kosten_als_verzugsschaden": "BGH, Urt. v. 22.01.2008 – VIII ZR 6/06, NJW 2008, 1888",
|
||||
"mahnung_anforderungen": "BGH, Urt. v. 04.10.2007 – III ZR 180/06, NJW 2008, 50",
|
||||
"verzugspauschale_reichweite": "BGH, Urt. v. 25.06.2020 – VII ZR 308/19, NJW 2020, 2884"
|
||||
},
|
||||
"anlagen_default": [
|
||||
"Rechnung mit Fälligkeit",
|
||||
"1. Mahnung",
|
||||
"2. Mahnung mit Frist und Verzugsfolgenhinweis",
|
||||
"Auftragsbestätigung / Vertrag",
|
||||
"Lieferschein / Leistungsnachweis",
|
||||
"AGB (sofern einbezogen)"
|
||||
],
|
||||
"zustaendigkeit": {
|
||||
"quelle_primaer": "https://www.justizadressen.nrw.de/de/justiz/suche",
|
||||
"quelle_bundesweit": "https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
{{kanzlei.briefkopf}}
|
||||
|
||||
{{ort_datum}}
|
||||
|
||||
An das
|
||||
**{{gericht.bezeichnung}}**
|
||||
{{gericht.adresse}}
|
||||
{{#gericht.bea_safe_id}}beA-EGVP, SAFE-ID: {{gericht.bea_safe_id}}{{/gericht.bea_safe_id}}
|
||||
|
||||
---
|
||||
|
||||
# Klage
|
||||
|
||||
**In dem Rechtsstreit**
|
||||
|
||||
{{rubrum.klagepartei}}
|
||||
— Klägerin/Kläger —
|
||||
|
||||
Prozessbevollmächtigte: {{rubrum.bevollmaechtigte}}
|
||||
|
||||
**gegen**
|
||||
|
||||
{{rubrum.beklagte}}
|
||||
— Beklagte/Beklagter —
|
||||
|
||||
**wegen** Forderung aus {{anspruch.grundsatz}}
|
||||
|
||||
**Streitwert:** {{streitwert.eur}} EUR
|
||||
|
||||
---
|
||||
|
||||
## Anträge
|
||||
|
||||
Die Klägerin/der Kläger beantragt,
|
||||
|
||||
1. die Beklagte/den Beklagten zu verurteilen, an die Klägerin/den Kläger **{{antrag.hauptforderung}} EUR** nebst Zinsen i. H. v. **{{antrag.zinsen}}** seit {{antrag.zinslauf_ab}} zu zahlen;
|
||||
2. die Beklagte/den Beklagten zu verurteilen, an die Klägerin/den Kläger vorgerichtliche Rechtsanwaltskosten i. H. v. **{{antrag.kosten}} EUR** nebst Zinsen i. H. v. 5 Prozentpunkten über dem Basiszinssatz seit Rechtshängigkeit zu zahlen;
|
||||
3. die Kosten des Rechtsstreits der Beklagten/dem Beklagten aufzuerlegen.
|
||||
|
||||
Es wird angeregt, im schriftlichen Vorverfahren (§ 276 ZPO) zu entscheiden.
|
||||
|
||||
## Begründung
|
||||
|
||||
### I. Sachverhalt
|
||||
|
||||
{{sachverhalt}}
|
||||
|
||||
### II. Rechtliche Würdigung
|
||||
|
||||
{{rechtliche_wuerdigung}}
|
||||
|
||||
### III. Zuständigkeit
|
||||
|
||||
Die sachliche Zuständigkeit folgt aus {{zustaendigkeit.sachlich}}. Die örtliche Zuständigkeit folgt aus {{zustaendigkeit.oertlich}}. Die Adresse des Gerichts wurde am {{zustaendigkeit.abrufdatum}} bei {{zustaendigkeit.quelle}} verifiziert.
|
||||
|
||||
### IV. Beweismittel
|
||||
|
||||
{{beweismittel}}
|
||||
|
||||
---
|
||||
|
||||
## Anlagen
|
||||
|
||||
{{anlagen.liste}}
|
||||
|
||||
---
|
||||
|
||||
{{unterschrift}}
|
||||
@@ -0,0 +1,27 @@
|
||||
# Leitentscheidungen für Forderungsklagen
|
||||
|
||||
Belege zur Subsumtion. Pinpoint mit Randnummer, jüngere BGH-Entscheidungen zuerst.
|
||||
|
||||
## Verzug, Zinsen, Verzugsschaden
|
||||
|
||||
1. **BGH, Urt. v. 25.06.2020 – VII ZR 308/19**, NJW 2020, 2884 — Verzugspauschale § 288 Abs. 5 BGB; Reichweite, Anrechnung auf Verfahrenskosten verneint.
|
||||
2. **BGH, Urt. v. 22.01.2008 – VIII ZR 6/06**, NJW 2008, 1888 — vorgerichtliche Rechtsanwaltskosten als Verzugsschaden (§ 280 Abs. 1, 2; § 286 BGB).
|
||||
3. **BGH, Urt. v. 04.10.2007 – III ZR 180/06**, NJW 2008, 50 — Anforderungen an Mahnung; Inhalt und Bestimmtheit.
|
||||
|
||||
## Elektronische Einreichung (§ 130a, § 130d ZPO)
|
||||
|
||||
4. **BGH, Beschl. v. 23.06.2022 – V ZB 12/22** — Anforderungen an die elektronische Einreichung; Wirksamkeit qualifizierte Signatur.
|
||||
5. **BGH, Beschl. v. 31.01.2023 – XI ZB 23/22** — Sorgfaltspflichten bei beA-Übermittlung; Eingangsbestätigung prüfen.
|
||||
|
||||
## Anwaltskosten als Nebenforderung / RVG
|
||||
|
||||
6. **BGH, Urt. v. 18.01.2005 – VI ZR 73/04**, NJW 2005, 1112 — Erstattungsfähigkeit vorgerichtlicher RA-Kosten dem Grunde nach.
|
||||
|
||||
## Gerichtsstand und Erfüllungsort
|
||||
|
||||
7. **BGH, Urt. v. 22.04.2009 – VIII ZR 156/07**, NJW 2009, 2197 — Erfüllungsort § 29 ZPO bei Geldschulden, Abgrenzung Schickschuld.
|
||||
8. **EuGH, Urt. v. 14.09.2023 – C-393/22** — Auslegung Art. 7 Nr. 1 lit. b Brüssel Ia VO (Erfüllungsort).
|
||||
|
||||
## Quellen-Disclaimer
|
||||
|
||||
Volltexte sind über JURIS, beck-online, openJur, dejure.org und die kostenlosen Datenbanken der Justiz erreichbar. PDFs nur dann hier ablegen, wenn die Lizenz das erlaubt.
|
||||
@@ -0,0 +1,25 @@
|
||||
# Online-Quellen für die Zuständigkeitsprüfung
|
||||
|
||||
**Pflicht in jedem Klagelauf.** Beide Quellen abrufen, Abrufdatum dokumentieren.
|
||||
|
||||
## Primärquelle (NRW + bundesweit über Verlinkungen)
|
||||
|
||||
- **Justiz-Adressen NRW**: <https://www.justizadressen.nrw.de/de/justiz/suche>
|
||||
- Suchfelder: PLZ oder Ortsname der Beklagten-Anschrift.
|
||||
- Liefert: zuständiges Amtsgericht, Landgericht, Oberlandesgericht, Staatsanwaltschaft samt Postanschrift.
|
||||
- Wenn nicht eindeutig: Hinweis der Seite beachten und mit Ortsname nachfassen.
|
||||
- Einschränkung: nach Streitgegenstand kann ein anderes Gericht ausschließlich örtlich zuständig sein (Familie, Insolvenz, Patente).
|
||||
|
||||
## Bundesweit ergänzend
|
||||
|
||||
- **Justizportal des Bundes und der Länder — Gerichtsverzeichnis**: <https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php>
|
||||
- **Bundeseinheitliche Mahngerichte**: <https://www.mahngerichte.de>
|
||||
|
||||
## BeA-EGVP-Adressbuch (SAFE-ID)
|
||||
|
||||
Die SAFE-ID des Empfangsgerichts wird im **beA-Adressbuch** geführt und ist über das Anwaltspostfach abrufbar. Sie ist nicht öffentlich gelistet; in der Klage genügt regelmäßig die Postanschrift; bei elektronischer Einreichung (§ 130d ZPO) wird die SAFE-ID des Empfangsgerichts beim Versand aus beA gewählt.
|
||||
|
||||
## Hinweise zum Mahngericht
|
||||
|
||||
- Zentralisierte Mahngerichte je Bundesland (§ 689 Abs. 3 ZPO), Auflistung unter mahngerichte.de.
|
||||
- Beklagten-Wohnsitz bestimmt das zuständige Mahngericht; bei Mahnverfahren gegen Schuldner ohne allgemeinen Gerichtsstand im Inland gilt das AG Schöneberg (§ 689 Abs. 2 S. 2 ZPO i. V. m. § 15a ZPO).
|
||||
@@ -0,0 +1,417 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
plugin_aus_hausregeln.py — Plugin-Generator der Klagewerkstatt.
|
||||
|
||||
Packt aus den im Lernlauf gewonnenen Hausregeln (`hausregeln.json`) und der
|
||||
hauseigenen Standardvorlage (`standardklage.md`) ein eigenständiges, in
|
||||
Claude Code direkt installierbares Mini-Plugin als ZIP-Datei.
|
||||
|
||||
Aufruf:
|
||||
python scripts/plugin_aus_hausregeln.py \
|
||||
--kanzlei "Kanzlei Mustermann" \
|
||||
--vorlage assets/vorlagen-leer/standardklage.md \
|
||||
--regeln hausregeln.json \
|
||||
--ziel /pfad/klagewerkstatt-mustermann.zip
|
||||
|
||||
Layout des erzeugten Plugins:
|
||||
|
||||
klagewerkstatt-<slug>/
|
||||
.claude-plugin/plugin.json
|
||||
skills/klage-erstellen/SKILL.md
|
||||
assets/vorlage/standardklage.md
|
||||
references/hausregeln.json
|
||||
references/belegmuster.md
|
||||
references/anlagenliste.md
|
||||
references/zustaendigkeit-quellen.md
|
||||
README.md
|
||||
|
||||
Lizenz: Apache-2.0 OR MIT (Auswahl beim Empfänger). Autor: Klotzkette.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import io
|
||||
import json
|
||||
import re
|
||||
import sys
|
||||
import zipfile
|
||||
from datetime import date
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Hilfsfunktionen
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def slugify(name: str) -> str:
|
||||
"""Erzeugt einen URL-/Plugin-tauglichen Kurznamen aus einem Kanzleinamen."""
|
||||
s = name.strip().lower()
|
||||
s = re.sub(r"[äÄ]", "ae", s)
|
||||
s = re.sub(r"[öÖ]", "oe", s)
|
||||
s = re.sub(r"[üÜ]", "ue", s)
|
||||
s = re.sub(r"[ß]", "ss", s)
|
||||
s = re.sub(r"[^a-z0-9]+", "-", s)
|
||||
s = re.sub(r"-+", "-", s).strip("-")
|
||||
return s or "kanzlei"
|
||||
|
||||
|
||||
def lese_json(pfad: Path) -> dict:
|
||||
if not pfad.exists():
|
||||
raise SystemExit(f"Hausregeln nicht gefunden: {pfad}")
|
||||
try:
|
||||
return json.loads(pfad.read_text(encoding="utf-8"))
|
||||
except json.JSONDecodeError as err:
|
||||
raise SystemExit(f"Hausregeln {pfad} sind kein gültiges JSON: {err}")
|
||||
|
||||
|
||||
def lese_text(pfad: Path) -> str:
|
||||
if not pfad.exists():
|
||||
raise SystemExit(f"Vorlage nicht gefunden: {pfad}")
|
||||
return pfad.read_text(encoding="utf-8")
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Dateiinhalte für das erzeugte Plugin
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def plugin_json(slug: str, kanzlei: str) -> str:
|
||||
manifest = {
|
||||
"name": f"klagewerkstatt-{slug}",
|
||||
"version": "0.1.0",
|
||||
"description": (
|
||||
f"Hauseigenes Klage-Plugin der Kanzlei {kanzlei}. "
|
||||
"Erzeugt aus der eigenen Standardvorlage und den extrahierten Hausregeln "
|
||||
"durch die Klagewerkstatt (forderungsmanagement-klagewerkstatt). "
|
||||
"Nimmt im Laufzeitbetrieb nur noch Sachverhalt und Beklagtenadresse entgegen, "
|
||||
"prüft online die sachliche und örtliche Zuständigkeit "
|
||||
"(justizadressen.nrw.de und justiz.de Gerichtssuche; "
|
||||
"§§ 12, 13, 29, 29c ZPO; §§ 23, 71 GVG) und liefert die fertige "
|
||||
"Klageschrift als DOCX und Markdown in der hauseigenen Formatvorlage."
|
||||
),
|
||||
"license": "Apache-2.0 OR MIT",
|
||||
"author": {"name": "Klotzkette"},
|
||||
"homepage": "https://github.com/Klotzkette/claude-fuer-deutsches-recht",
|
||||
"keywords": [
|
||||
"klage",
|
||||
"forderungsmanagement",
|
||||
"inkasso",
|
||||
"zpo",
|
||||
"klagewerkstatt",
|
||||
"hauskanzlei",
|
||||
"bea",
|
||||
"zustaendigkeit",
|
||||
slug,
|
||||
],
|
||||
}
|
||||
return json.dumps(manifest, ensure_ascii=False, indent=2) + "\n"
|
||||
|
||||
|
||||
def skill_md(slug: str, kanzlei: str, regeln: dict) -> str:
|
||||
zinsantrag_b2b = regeln.get("standardklauseln", {}).get(
|
||||
"zinsantrag_b2b", "9 Prozentpunkte über Basiszinssatz, § 288 Abs. 2 BGB"
|
||||
)
|
||||
zinsantrag_b2c = regeln.get("standardklauseln", {}).get(
|
||||
"zinsantrag_b2c", "5 Prozentpunkte über Basiszinssatz, § 288 Abs. 1 BGB"
|
||||
)
|
||||
anlagensigel = regeln.get("stil", {}).get("anlagensigel", "K")
|
||||
return f"""---
|
||||
name: klage-erstellen
|
||||
description: Hauseigener Klage-Skill der Kanzlei {kanzlei}. Erzeugt Forderungsklagen direkt in der hauseigenen Standardvorlage. Nimmt nur Sachverhalt und Beklagtenadresse entgegen, prüft online die sachliche und örtliche Zuständigkeit (justizadressen.nrw.de und justiz.de Gerichtssuche; §§ 12, 13, 29, 29c ZPO; §§ 23, 71 GVG), füllt die hinterlegte Vorlage und liefert die Klageschrift als DOCX und Markdown. Keine Extraktion, kein Lernlauf.
|
||||
language: de
|
||||
license: Apache-2.0 OR MIT
|
||||
when_to_use: |
|
||||
Trigger phrases and example requests:
|
||||
- neue Klage in Hausvorlage {kanzlei}
|
||||
- Forderungsklage erstellen
|
||||
- Klage in unserer Standardvorlage
|
||||
- Inkasso-Klage ohne Lernlauf
|
||||
- {slug} klage
|
||||
---
|
||||
|
||||
# Klage-Erstellen — {kanzlei}
|
||||
|
||||
## Zweck
|
||||
|
||||
Hauseigener Laufzeit-Skill. Setzt die Hausregeln und die Standardvorlage der
|
||||
Kanzlei {kanzlei} fest verdrahtet voraus. Erzeugt aus Sachverhalt und
|
||||
Beklagtenadresse eine vollständige Forderungsklage in der hauseigenen Form.
|
||||
|
||||
## Ablauf
|
||||
|
||||
**1. Sachverhalt einsammeln (eine Liste, einmal):**
|
||||
|
||||
- Forderungsgrund (Kauf, Werkvertrag, Dienstvertrag, Darlehen, Miete, sonstiges)
|
||||
mit kurzer Vertragsbeschreibung.
|
||||
- Beklagte(r): Name, Anschrift, Rechtsform, ggf. gesetzliche Vertretung;
|
||||
**Anschrift exakt** für die Zuständigkeitsprüfung.
|
||||
- Hauptforderung in EUR, Fälligkeitsdatum, etwaige Teilzahlungen.
|
||||
- Mahnungen mit Datum und Inhalt; Mahnverzugseintritt.
|
||||
- Vorgerichtliche Rechtsanwaltskosten als Nebenforderung
|
||||
(Geschäftsgebühr Nr. 2300 VV RVG, Anrechnung Vorbem. 3 Abs. 4 VV RVG).
|
||||
- Beweismittel (Urkunden, Zeugen, Sachverständige, Parteivernehmung).
|
||||
- Besonderheiten: Verbraucher (§ 29c ZPO), AGB-Gerichtsstand (§ 38 ZPO),
|
||||
Erfüllungsort (§ 29 ZPO), grenzüberschreitender Bezug (Brüssel Ia VO).
|
||||
|
||||
Dokumenten-Drop akzeptieren (Rechnungen, Mahnungen, Korrespondenz) und
|
||||
Felder automatisch belegen.
|
||||
|
||||
**2. Zuständigkeit online prüfen (Pflicht):**
|
||||
|
||||
1. **Sachlich** rechnerisch: ≤ 5.000 EUR → AG (§ 23 Nr. 1 GVG);
|
||||
> 5.000 EUR → LG (§ 71 GVG). Sondertatbestände beachten
|
||||
(Wohnraummiete § 23 Nr. 2a GVG; Handelssachen §§ 95, 96 GVG).
|
||||
2. **Örtlich** rechtlich: §§ 12, 13 ZPO Allgemeiner Gerichtsstand;
|
||||
§ 29 ZPO Erfüllungsort; § 29c ZPO Verbraucherverträge;
|
||||
§ 38 ZPO Gerichtsstandsvereinbarung (gegenüber Verbrauchern unwirksam).
|
||||
3. **Online-Adressrecherche** (immer ausführen):
|
||||
- `pplx content fetch "https://www.justizadressen.nrw.de/de/justiz/suche?suchbegriff=<PLZ_oder_Ort>"`
|
||||
- bundesweit `pplx content fetch "https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php"`
|
||||
- Treffer übernehmen: Bezeichnung, Postanschrift, ggf. BeA-SAFE-ID
|
||||
(sonst Hinweis: „über beA-Adressbuch nachtragen").
|
||||
4. Quelle und Abrufdatum in Anlage **Zuständigkeitsprüfung** dokumentieren.
|
||||
|
||||
**3. Klage erzeugen:**
|
||||
|
||||
- Vorlage `assets/vorlage/standardklage.md` befüllen.
|
||||
- DOCX über `office/docx` rendern. Dateiname `Klage-<Beklagte>-<YYYYMMDD>.docx`.
|
||||
- Anlagenliste aus `references/anlagenliste.md`; Sigel `{anlagensigel}1`, `{anlagensigel}2`, …
|
||||
- Zinsantrag: B2B `{zinsantrag_b2b}`; B2C `{zinsantrag_b2c}`.
|
||||
|
||||
**4. Memo (nur auf Anfrage):**
|
||||
|
||||
> Soll ich zusätzlich ein Kurz-Memo im Gutachtenstil mit Anspruchsgrundlagen,
|
||||
> Beweislage und Prozessrisiken erstellen?
|
||||
|
||||
## Rechtlicher Rahmen
|
||||
|
||||
- **Pflichtinhalte**: § 253 ZPO; **Form**: §§ 130, 130a, 130d ZPO (beA-Pflicht
|
||||
für Rechtsanwältinnen und Rechtsanwälte); **Anwaltszwang**: § 78 ZPO.
|
||||
- **Sachliche Zuständigkeit**: §§ 23, 71 GVG.
|
||||
- **Örtliche Zuständigkeit**: §§ 12, 13, 17, 24, 29, 29c, 38 ZPO; grenzüber-
|
||||
schreitend Brüssel Ia VO (EU) 1215/2012, insb. Art. 7 Nr. 1.
|
||||
- **Anspruchsgrundlagen** (Auswahl): §§ 433 II, 535 II, 488, 611a II, 631 I BGB.
|
||||
- **Verzug**: §§ 286, 288 BGB; **RA-Kosten als Verzugsschaden**: § 280 BGB.
|
||||
|
||||
## Leitentscheidungen (siehe `references/belegmuster.md`)
|
||||
|
||||
- BGH, Urt. v. 25.06.2020 – VII ZR 308/19, NJW 2020, 2884
|
||||
- BGH, Urt. v. 22.01.2008 – VIII ZR 6/06, NJW 2008, 1888
|
||||
- BGH, Urt. v. 04.10.2007 – III ZR 180/06, NJW 2008, 50
|
||||
- BGH, Beschl. v. 23.06.2022 – V ZB 12/22
|
||||
- BGH, Beschl. v. 31.01.2023 – XI ZB 23/22
|
||||
|
||||
## Ausgabeformat
|
||||
|
||||
1. Klageschrift als DOCX (`Klage-<Beklagte>-<YYYYMMDD>.docx`) und Markdown-Spiegel.
|
||||
2. Anlage Zuständigkeitsprüfung mit Online-Quellen und Abrufdatum.
|
||||
3. Memo nur auf Anfrage.
|
||||
|
||||
## Übergabe
|
||||
|
||||
- Bei drohender Zahlungsunfähigkeit der Beklagten an `liquiditaetsplanung`.
|
||||
- Bei einstweiligem Rechtsschutz / Mahnverfahren an `prozessrecht`.
|
||||
- Wenn die Hausvorlage veraltet wirkt, zurück an den Schwester-Skill
|
||||
`klagevorlage-aus-eigenen-mustern` im Plugin `forderungsmanagement-klagewerkstatt`
|
||||
zum aktualisierten Lernlauf.
|
||||
"""
|
||||
|
||||
|
||||
def belegmuster_md(regeln: dict) -> str:
|
||||
sb = regeln.get("standardbeleg", {})
|
||||
zeilen = ["# Belegmuster — hauseigene Standardfundstellen", ""]
|
||||
for thema, beleg in sb.items():
|
||||
zeilen.append(f"- **{thema}**: {beleg}")
|
||||
zeilen.extend(
|
||||
[
|
||||
"",
|
||||
"## Weitere Leitentscheidungen",
|
||||
"",
|
||||
"- BGH, Urt. v. 25.06.2020 – VII ZR 308/19, NJW 2020, 2884 (§ 288 Abs. 5 BGB).",
|
||||
"- BGH, Urt. v. 22.01.2008 – VIII ZR 6/06, NJW 2008, 1888 (RA-Kosten als Verzugsschaden).",
|
||||
"- BGH, Urt. v. 04.10.2007 – III ZR 180/06, NJW 2008, 50 (Mahnung).",
|
||||
"- BGH, Beschl. v. 23.06.2022 – V ZB 12/22 (§ 130a ZPO).",
|
||||
"- BGH, Beschl. v. 31.01.2023 – XI ZB 23/22 (beA-Sorgfalt).",
|
||||
"- BGH, Urt. v. 22.04.2009 – VIII ZR 156/07, NJW 2009, 2197 (Erfüllungsort § 29 ZPO).",
|
||||
"- EuGH, Urt. v. 14.09.2023 – C-393/22 (Art. 7 Nr. 1 lit. b Brüssel Ia VO).",
|
||||
"",
|
||||
"Pinpoint-Zitat mit Randnummer; jüngere Entscheidungen zuerst.",
|
||||
"",
|
||||
]
|
||||
)
|
||||
return "\n".join(zeilen)
|
||||
|
||||
|
||||
def anlagenliste_md(regeln: dict) -> str:
|
||||
sigel = regeln.get("stil", {}).get("anlagensigel", "K")
|
||||
eintraege = regeln.get("anlagen_default", []) or [
|
||||
"Rechnung mit Fälligkeit",
|
||||
"1. Mahnung",
|
||||
"2. Mahnung mit Frist und Verzugsfolgenhinweis",
|
||||
"Auftragsbestätigung / Vertrag",
|
||||
"Lieferschein / Leistungsnachweis",
|
||||
"AGB (sofern einbezogen)",
|
||||
]
|
||||
zeilen = ["# Anlagenliste — Standard der Kanzlei", ""]
|
||||
for i, e in enumerate(eintraege, 1):
|
||||
zeilen.append(f"- **{sigel}{i}** {e}")
|
||||
zeilen.extend(
|
||||
[
|
||||
"",
|
||||
"Reihenfolge an den Sachverhalt anpassen; weitere Anlagen fortlaufend nummerieren.",
|
||||
"",
|
||||
]
|
||||
)
|
||||
return "\n".join(zeilen)
|
||||
|
||||
|
||||
def zustaendigkeit_quellen_md(regeln: dict) -> str:
|
||||
z = regeln.get("zustaendigkeit", {}) or {}
|
||||
primaer = z.get("quelle_primaer", "https://www.justizadressen.nrw.de/de/justiz/suche")
|
||||
bund = z.get(
|
||||
"quelle_bundesweit",
|
||||
"https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php",
|
||||
)
|
||||
return f"""# Online-Quellen für die Zuständigkeitsprüfung
|
||||
|
||||
Pflicht in jedem Klagelauf. Beide Quellen abrufen und das Abrufdatum dokumentieren.
|
||||
|
||||
## Primärquelle
|
||||
|
||||
- **Justiz-Adressen NRW**: <{primaer}>
|
||||
- Suchfeld PLZ oder Ortsname der Beklagten-Anschrift.
|
||||
- Liefert zuständiges Amtsgericht, Landgericht, Oberlandesgericht,
|
||||
Staatsanwaltschaft samt Postanschrift.
|
||||
|
||||
## Bundesweit ergänzend
|
||||
|
||||
- **Justizportal Gerichtsverzeichnis**: <{bund}>
|
||||
- **Bundeseinheitliche Mahngerichte**: <https://www.mahngerichte.de>
|
||||
|
||||
## BeA-EGVP-Adressbuch (SAFE-ID)
|
||||
|
||||
Die SAFE-ID des Empfangsgerichts wird im **beA-Adressbuch** geführt. Bei
|
||||
elektronischer Einreichung (§ 130d ZPO) wird sie beim Versand aus beA gewählt;
|
||||
in der Klage genügt regelmäßig die Postanschrift. Falls eine SAFE-ID nicht
|
||||
öffentlich gelistet ist, im Output mit dem Hinweis
|
||||
„über beA-Adressbuch zu ergänzen" markieren.
|
||||
"""
|
||||
|
||||
|
||||
def readme_md(slug: str, kanzlei: str) -> str:
|
||||
heute = date.today().isoformat()
|
||||
return f"""# Klagewerkstatt — {kanzlei}
|
||||
|
||||
Hauseigenes Klage-Plugin. Erzeugt aus der eigenen Standardvorlage und den
|
||||
extrahierten Hausregeln direkt die nächste Forderungsklage in der gewohnten
|
||||
Formatvorlage.
|
||||
|
||||
**Erzeugt am:** {heute}
|
||||
**Quelle:** Klagewerkstatt (forderungsmanagement-klagewerkstatt) der
|
||||
[Klotzkette German Legal Skills](https://github.com/Klotzkette/claude-fuer-deutsches-recht).
|
||||
|
||||
## Installation in Claude Code
|
||||
|
||||
1. Diese ZIP-Datei (`klagewerkstatt-{slug}.zip`) herunterladen.
|
||||
2. Claude Code → **Customize Plugins** → **Install from .zip** → Datei wählen.
|
||||
3. Fertig. Skill `klage-erstellen` ist sofort verfügbar.
|
||||
|
||||
## Verwendung
|
||||
|
||||
> „Neue Forderungsklage in Hausvorlage."
|
||||
|
||||
Das Plugin fragt dann strukturiert nach Sachverhalt und Beklagtenadresse, prüft
|
||||
**online** sachliche und örtliche Zuständigkeit über
|
||||
[justizadressen.nrw.de](https://www.justizadressen.nrw.de/de/justiz/suche) und
|
||||
das bundesweite [Justizportal](https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php)
|
||||
und liefert die fertige Klageschrift als DOCX und Markdown.
|
||||
|
||||
## Inhalt
|
||||
|
||||
- `.claude-plugin/plugin.json`
|
||||
- `skills/klage-erstellen/SKILL.md`
|
||||
- `assets/vorlage/standardklage.md`
|
||||
- `references/hausregeln.json`
|
||||
- `references/belegmuster.md`
|
||||
- `references/anlagenliste.md`
|
||||
- `references/zustaendigkeit-quellen.md`
|
||||
|
||||
## Pflege
|
||||
|
||||
Wenn sich Standardklauseln, Belegmuster oder Layout ändern: einfach den
|
||||
Lernlauf-Skill `klagevorlage-aus-eigenen-mustern` im Mutter-Plugin neu starten
|
||||
und das aktualisierte ZIP überschreibend installieren.
|
||||
|
||||
## Lizenz
|
||||
|
||||
Apache-2.0 OR MIT — Auswahl beim Empfänger.
|
||||
"""
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ZIP-Aufbau
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def baue_zip(
|
||||
ziel: Path,
|
||||
slug: str,
|
||||
kanzlei: str,
|
||||
regeln: dict,
|
||||
vorlage_text: str,
|
||||
) -> None:
|
||||
base = f"klagewerkstatt-{slug}"
|
||||
ziel.parent.mkdir(parents=True, exist_ok=True)
|
||||
with zipfile.ZipFile(ziel, "w", zipfile.ZIP_DEFLATED) as zf:
|
||||
def add(name: str, data: str) -> None:
|
||||
zf.writestr(f"{base}/{name}", data)
|
||||
|
||||
add(".claude-plugin/plugin.json", plugin_json(slug, kanzlei))
|
||||
add("skills/klage-erstellen/SKILL.md", skill_md(slug, kanzlei, regeln))
|
||||
add("assets/vorlage/standardklage.md", vorlage_text)
|
||||
add(
|
||||
"references/hausregeln.json",
|
||||
json.dumps(regeln, ensure_ascii=False, indent=2) + "\n",
|
||||
)
|
||||
add("references/belegmuster.md", belegmuster_md(regeln))
|
||||
add("references/anlagenliste.md", anlagenliste_md(regeln))
|
||||
add("references/zustaendigkeit-quellen.md", zustaendigkeit_quellen_md(regeln))
|
||||
add("README.md", readme_md(slug, kanzlei))
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# CLI
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def parse_args(argv: list[str] | None = None) -> argparse.Namespace:
|
||||
ap = argparse.ArgumentParser(
|
||||
description="Generiert ein hauseigenes Klage-Plugin als ZIP.",
|
||||
)
|
||||
ap.add_argument("--kanzlei", required=True, help="Kanzleiname (z. B. 'Kanzlei Mustermann').")
|
||||
ap.add_argument("--vorlage", required=True, type=Path, help="Pfad zur Standardvorlage (.md).")
|
||||
ap.add_argument("--regeln", required=True, type=Path, help="Pfad zur hausregeln.json.")
|
||||
ap.add_argument("--ziel", required=True, type=Path, help="Pfad zur Ausgabe-ZIP.")
|
||||
ap.add_argument(
|
||||
"--slug",
|
||||
default=None,
|
||||
help="Optionaler Slug. Default: aus --kanzlei abgeleitet.",
|
||||
)
|
||||
return ap.parse_args(argv)
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
args = parse_args(argv)
|
||||
regeln = lese_json(args.regeln)
|
||||
vorlage_text = lese_text(args.vorlage)
|
||||
slug = args.slug or slugify(args.kanzlei)
|
||||
baue_zip(args.ziel, slug, args.kanzlei, regeln, vorlage_text)
|
||||
print(f"OK: {args.ziel} (klagewerkstatt-{slug}.zip-Struktur)")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__": # pragma: no cover
|
||||
sys.exit(main())
|
||||
@@ -0,0 +1,51 @@
|
||||
---
|
||||
name: klage-aus-eigenem-skill
|
||||
description: Laufzeit-Variante der Klagewerkstatt. Setzt voraus, dass ein zuvor mit klagevorlage-aus-eigenen-mustern erzeugtes hauseigenes Klage-Plugin installiert ist (klagewerkstatt-<kanzlei>). Nimmt nur noch den Sachverhalt und die Beklagtenadresse entgegen, prüft online die sachliche und örtliche Zuständigkeit (justizadressen.nrw.de und justiz.de Gerichtssuche; §§ 12, 13, 29, 29c ZPO; §§ 23, 71 GVG), füllt die hauseigene Standardvorlage und liefert die fertige Klageschrift als DOCX und Markdown. Keine erneute Extraktion, kein erneuter Lernlauf.
|
||||
language: de
|
||||
license: Apache-2.0 OR MIT
|
||||
when_to_use: |
|
||||
Trigger phrases and example requests:
|
||||
- neue Klage in unserer Hausvorlage
|
||||
- Klage mit unserem Klagewerkstatt-Plugin erstellen
|
||||
- Forderungsklage Sachverhalt einreichen
|
||||
- Klage aus eigenem Skill
|
||||
- schnelle Klage Inkasso ohne Lernlauf
|
||||
---
|
||||
|
||||
# Klagewerkstatt — Laufzeit aus eigenem Skill
|
||||
|
||||
## Zweck
|
||||
|
||||
Dieser Skill ist die **Laufzeit-Variante**. Er setzt voraus, dass das hauseigene Klage-Plugin (`klagewerkstatt-<kanzlei>`) bereits installiert ist (erzeugt vom Schwester-Skill `klagevorlage-aus-eigenen-mustern`). Er extrahiert nichts mehr, sondern nimmt Sachverhalt und Beklagtenadresse entgegen, prüft online die Zuständigkeit, füllt die hauseigene Vorlage und liefert die Klageschrift.
|
||||
|
||||
## Ablauf
|
||||
|
||||
**Schritt 1 — Hausvorlage finden**
|
||||
Prüfen, ob `klagewerkstatt-<slug>` installiert ist und `assets/vorlage/standardklage.md` sowie `references/hausregeln.json` enthält. Wenn nicht: höflich auf `klagevorlage-aus-eigenen-mustern` verweisen.
|
||||
|
||||
**Schritt 2 — Sachverhalt einsammeln**
|
||||
Alle Felder, die der Schwester-Skill in Schritt 5 abfragt, in einer Liste stellen. Dokumenten-Drop akzeptieren und Felder daraus belegen.
|
||||
|
||||
**Schritt 3 — Zuständigkeit online prüfen (Pflicht)**
|
||||
Identisch zum Schwester-Skill, Schritt 6: rechnerische sachliche Zuständigkeit (§§ 23, 71 GVG), rechtliche örtliche Zuständigkeit (§§ 12, 13, 29, 29c, 38 ZPO; ggf. Brüssel Ia VO), Online-Recherche unter `https://www.justizadressen.nrw.de/de/justiz/suche` (PLZ oder Ort) und bundesweit unter `https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php`. Quelle und Abrufdatum dokumentieren. BeA-SAFE-ID nachtragen.
|
||||
|
||||
**Schritt 4 — Klage erzeugen**
|
||||
Vorlage `assets/vorlage/standardklage.md` mit Sachverhalt befüllen, DOCX über `office/docx` rendern. Anlagenliste aus `references/anlagenliste.md` ergänzen. Dateiname `Klage-<Beklagte>-<YYYYMMDD>.docx`.
|
||||
|
||||
**Schritt 5 — Memo (nur auf Anfrage)**
|
||||
|
||||
> Soll ich zusätzlich ein Kurz-Memo im Gutachtenstil mit Anspruchsgrundlagen, Beweislage und Prozessrisiken erstellen?
|
||||
|
||||
## Rechtlicher Rahmen
|
||||
|
||||
Identisch zum Schwester-Skill (siehe dort): § 253 ZPO, §§ 130, 130a, 130d ZPO, §§ 23, 71 GVG, §§ 12, 13, 29, 29c, 38 ZPO, Brüssel Ia VO 1215/2012, §§ 286, 288, 280 BGB, RVG VV.
|
||||
|
||||
## Ausgabeformat
|
||||
|
||||
1. **Klageschrift** als DOCX und Markdown.
|
||||
2. **Anlage Zuständigkeitsprüfung** mit Online-Quellen und Abrufdatum.
|
||||
3. **Memo** nur auf Anfrage.
|
||||
|
||||
## Übergabe
|
||||
|
||||
Wenn die Hausvorlage erkennbar veraltet ist (z. B. Zitierungen oder Gerichtsstand-Klauseln nicht mehr aktuell), zurück an `klagevorlage-aus-eigenen-mustern` zum aktualisierten Lernlauf.
|
||||
@@ -0,0 +1,170 @@
|
||||
---
|
||||
name: klagevorlage-aus-eigenen-mustern
|
||||
description: Lernlauf der Klagewerkstatt für Forderungsmanagement-Klagen. Frisst eigene Klagemuster, Urteile, Kommentare, Aufsätze und Formatvorlagen des Nutzers (DOCX, PDF, MD, TXT), destilliert daraus eine hauseigene generische Standardklage-Vorlage mit Platzhaltern, sammelt den Sachverhalt im Dialog oder aus weiteren Dokumenten, prüft online die sachliche und örtliche Zuständigkeit (justizadressen.nrw.de und justiz.de Gerichtssuche; §§ 12, 13, 29, 29c ZPO; §§ 23, 71 GVG) und liefert die fertige Klageschrift als DOCX und Markdown. Erzeugt zusätzlich ein eigenes Mini-Plugin als ZIP, das in Claude Code direkt installierbar ist und die nächste Klage ohne erneute Extraktion in der hauseigenen Vorlage produziert. Memo nur auf Anfrage.
|
||||
language: de
|
||||
license: Apache-2.0 OR MIT
|
||||
when_to_use: |
|
||||
Trigger phrases and example requests:
|
||||
- Klagevorlage aus eigenen Mustern bauen
|
||||
- eigene Klagewerkstatt einrichten
|
||||
- Klage für Forderungsmanagement entwerfen
|
||||
- aus unseren alten Klagen eine Standardvorlage machen
|
||||
- Inkasso-Klage neu aufsetzen
|
||||
- Klageschrift § 253 ZPO
|
||||
- eigenes Klage-Plugin generieren
|
||||
---
|
||||
|
||||
# Klagewerkstatt — Lernlauf aus eigenen Mustern
|
||||
|
||||
## Zweck
|
||||
|
||||
Dieser Skill ist der **Lernlauf** der Klagewerkstatt. Er macht in einem Durchgang vier Dinge:
|
||||
|
||||
1. Aus eigenen Klagemustern, Urteilen, Kommentaren, Aufsätzen und Formatvorlagen wird eine **hauseigene generische Standardklage-Vorlage** destilliert (Markdown + DOCX, mit Platzhaltern).
|
||||
2. Der Sachverhalt wird im Dialog und aus weiteren hochgeladenen Dokumenten eingesammelt und in die Vorlage gespiegelt.
|
||||
3. **Online-Prüfung der Zuständigkeit** ist Pflicht: justizadressen.nrw.de und justiz.de Gerichtssuche. Streitwert → AG/LG; Beklagtenadresse → örtliche Zuständigkeit; Sondertatbestände beachten.
|
||||
4. Aus den extrahierten Hausregeln wird ein **eigenes Mini-Plugin als ZIP** generiert (`klagewerkstatt-<kanzlei>.zip`), das in Claude Code direkt installierbar ist und beim nächsten Mal ohne erneute Extraktion in der hauseigenen Vorlage produziert (siehe Schwester-Skill `klage-aus-eigenem-skill`).
|
||||
|
||||
Memo (rechtliche Würdigung) wird **nur auf ausdrückliche Anfrage** erstellt.
|
||||
|
||||
## Ablauf
|
||||
|
||||
**Schritt 1 — Kanzlei-Profil**
|
||||
Einmal abfragen und merken:
|
||||
|
||||
> Kanzleiname, Rechtsanwältin/Rechtsanwalt mit Anschrift, BeA-SAFE-ID, AGB-Klausel zum Gerichtsstand (sofern für Verbraucher unzulässig nach § 29c ZPO klar abgrenzen), übliche Mandantengruppe (B2B, B2C, gemischt), bevorzugte Zinsformel (Basiszins+5/+9, §§ 288 Abs. 1/2 BGB), Standard-Anlagenliste (z. B. Rechnung, Auftragsbestätigung, Mahnungen, Lieferschein, AGB).
|
||||
|
||||
**Schritt 2 — Materialaufnahme (Lernkorpus)**
|
||||
Den Nutzer bitten, alle einschlägigen Eigenmaterialien hochzuladen oder per Pfad zu nennen:
|
||||
|
||||
- Eigene Klage-Muster (mind. 2, gern 5–15) als DOCX, PDF, MD, TXT.
|
||||
- Urteile zur eigenen Forderungspraxis (Volltexte oder Auszüge).
|
||||
- Kommentar- und Aufsatz-Auszüge im Bearbeiterstil.
|
||||
- Format- und Layout-Vorlagen (Briefkopf-DOCX, Schriftarten, Nummerierung).
|
||||
- Optional: typische Mahnschreiben, Verzugsbriefe, RVG-Berechnungen.
|
||||
|
||||
Bei Schweigen mit den im Plugin liegenden Leervorlagen unter `assets/vorlagen-leer/` arbeiten und das im Endprodukt transparent kennzeichnen.
|
||||
|
||||
**Schritt 3 — Extraktion der Hausregeln**
|
||||
Aus dem Lernkorpus extrahieren (Zusammenfassung am Schluss dem Nutzer vorlegen):
|
||||
|
||||
- Aufbau der Klageschrift (Rubrum, Anträge, Begründung, Beweismittel, Anlagen, Schluss).
|
||||
- Standardklauseln: Antragswortlaut, Zinsantrag, vorgerichtliche RA-Kosten als Nebenforderung, Mahnverzugsbeginn, Verzugszinsen (§§ 286, 288 BGB), Verzugsschaden (§ 280 BGB).
|
||||
- Tonalität: knapp/ausführlich; aktiv/passiv; Direktanrede des Gerichts.
|
||||
- Zitierweise: Pinpoint, Randnummer, jüngere BGH-Entscheidungen zuerst, deutsche Kommentartradition.
|
||||
- Belegmuster: bevorzugte Fundstellen für Standardprobleme (Verzug, Beweislast, RVG-VV-Nrn., Anwaltskosten als Verzugsschaden BGH NJW 2008, 1888; Mahnung BGH NJW 2008, 50).
|
||||
- Anlagenstrategie und Anlagensigel (K1, K2, …).
|
||||
|
||||
**Schritt 4 — Hauseigene Standardvorlage erzeugen**
|
||||
Aus den Hausregeln eine **generische Klage-Vorlage** schreiben:
|
||||
|
||||
- Format: Markdown (Vorlage in `assets/vorlagen-leer/standardklage.md`) und parallel DOCX (über `office/docx`-Skill). Layout aus dem mitgelieferten Briefkopf, sonst Klotzkette-Default.
|
||||
- Platzhalter strikt in geschweiften Doppelklammern: `{{kanzlei.briefkopf}}`, `{{rubrum.klagepartei}}`, `{{rubrum.beklagte}}`, `{{rubrum.bevollmaechtigte}}`, `{{gericht.bezeichnung}}`, `{{gericht.adresse}}`, `{{gericht.bea_safe_id}}`, `{{streitwert.eur}}`, `{{antrag.hauptforderung}}`, `{{antrag.zinsen}}`, `{{antrag.kosten}}`, `{{sachverhalt}}`, `{{rechtliche_wuerdigung}}`, `{{anlagen.liste}}`, `{{ort_datum}}`, `{{unterschrift}}`.
|
||||
- Standardabschnitte enthalten Hausregel-Bausteine.
|
||||
|
||||
**Schritt 5 — Sachverhalt einsammeln**
|
||||
Strukturierte Rückfragen (alle als Liste auf einmal stellen, damit der Nutzer in einem Schwung antworten kann):
|
||||
|
||||
- Forderungsgrund (Kauf, Werkvertrag, Dienstvertrag, Darlehen, Miete, sonstiges) mit kurzer Vertragsbeschreibung.
|
||||
- Beklagte(r): Name, Anschrift, Rechtsform, ggf. gesetzliche Vertretung; **Anschrift exakt** für die Zuständigkeitsprüfung.
|
||||
- Hauptforderung in EUR, Fälligkeitsdatum, etwaige Teilzahlungen.
|
||||
- Mahnungen mit Datum, Form und Inhalt; Mahnverzugseintritt.
|
||||
- Vorgerichtliche RA-Kosten als Nebenforderung (Geschäftsgebühr Nr. 2300 VV RVG, Anrechnung Vorbem. 3 Abs. 4 VV RVG).
|
||||
- Beweismittel: Urkunden, Zeugen, Sachverständige, Parteivernehmung, Augenschein.
|
||||
- Besonderheiten: Verbrauchereigenschaft des Beklagten, AGB-Gerichtsstand, Erfüllungsort, ausländische Beteiligung (EuGVVO/Brüssel Ia VO 1215/2012).
|
||||
|
||||
Zusätzlich Dokumenten-Drop akzeptieren (Rechnungen, Mahnungen, Korrespondenz). Aus diesen Dokumenten Felder automatisch befüllen und die Belegung jeweils kennzeichnen.
|
||||
|
||||
**Schritt 6 — Zuständigkeit online prüfen (Pflicht)**
|
||||
|
||||
Pflichtschritt vor Auslieferung. Reihenfolge:
|
||||
|
||||
1. **Sachliche Zuständigkeit** rechnerisch: Streitwert ≤ 5.000 EUR → AG (§ 23 Nr. 1 GVG); > 5.000 EUR → LG (§ 71 GVG). Sondertatbestände beachten: Mietsachen Wohnraum AG (§ 23 Nr. 2a GVG), Familiensachen FamG, Handelssachen Kammer für Handelssachen (§§ 95, 96 GVG).
|
||||
2. **Örtliche Zuständigkeit** rechtlich: allgemeiner Gerichtsstand der Beklagten (§§ 12, 13 ZPO). Erfüllungsort (§ 29 ZPO) prüfen — bei Geldschulden Sitz der Klagepartei nur bei qualifizierter Schickschuld, sonst Wohnsitz Beklagte. Verbraucher-Sondertatbestand § 29c ZPO. AGB-Gerichtsstand prüfen, aber bei Verbrauchern nach § 38 ZPO unwirksam.
|
||||
3. **Online-Adressrecherche** (immer ausführen):
|
||||
- Für NRW-Anschriften: `pplx content fetch "https://www.justizadressen.nrw.de/de/justiz/suche?suchbegriff=<PLZ_oder_Ort>"` (PLZ oder Ort der Beklagten). Wenn PLZ allein nicht reicht, mit Ort nachfassen.
|
||||
- Bundesweit ergänzend: `pplx content fetch "https://www.justiz.de/onlinedienste/gerichtsverzeichnis_und_orga/index.php"` und Landes-Justizportale.
|
||||
- Treffer prüfen und Bezeichnung, Postanschrift, Telefax und — wo bekannt — die BeA-EGVP-SAFE-ID (Bundesweites elektronisches Adressverzeichnis SAFE, abrufbar in beA bzw. unter justiz.de) einsetzen. Wenn keine SAFE-ID gelistet, mit dem Hinweis „EGVP-Adresse über beA-Adressbuch (SAFE-ID) zu ergänzen" markieren.
|
||||
4. Quelle und Abrufdatum stets im Output ausweisen (Anlage `Zuständigkeitsprüfung`).
|
||||
|
||||
**Schritt 7 — Klageschrift erzeugen**
|
||||
|
||||
- **Immer**: `Klage-<Beklagte>-<YYYYMMDD>.docx` (über `office/docx`) und Spiegel `Klage-<Beklagte>-<YYYYMMDD>.md`.
|
||||
- Anlagenkonvolut als Liste mit K-Sigeln; Anlagenkopfbogen optional.
|
||||
- **Padlet** (auf Wunsch): single-file HTML aus `assets/padlet/klage-padlet.html` mit Live-Vorschau und Pflegefeldern; speichert in `localStorage`.
|
||||
|
||||
**Schritt 8 — Eigenes Mini-Plugin als ZIP erzeugen**
|
||||
|
||||
Aus den Hausregeln und der Standardvorlage wird ein eigenes Plugin gepackt:
|
||||
|
||||
- Skript: `python scripts/plugin_aus_hausregeln.py --kanzlei "<Name>" --vorlage <pfad.md> --regeln <regeln.json> --ziel <ziel.zip>`.
|
||||
- Inhalt des ZIP:
|
||||
- `klagewerkstatt-<slug>/.claude-plugin/plugin.json` (Name `klagewerkstatt-<slug>`, Version 0.1.0).
|
||||
- `klagewerkstatt-<slug>/skills/klage-erstellen/SKILL.md` (siehe Schwester-Skill `klage-aus-eigenem-skill` als Bauanleitung; im erzeugten Plugin lebt die Skill-Datei eigenständig).
|
||||
- `klagewerkstatt-<slug>/assets/vorlage/standardklage.md` und `.docx`.
|
||||
- `klagewerkstatt-<slug>/references/hausregeln.json`, `belegmuster.md`, `anlagenliste.md`, `zustaendigkeit-quellen.md`.
|
||||
- `klagewerkstatt-<slug>/README.md` mit Direkt-Download-Hinweis und Installationsanleitung.
|
||||
- ZIP-Dateiname `klagewerkstatt-<slug>.zip`. Datei dem Nutzer zum Download geben mit Installationsanweisung für Claude Code (`Customize Plugins → Install from .zip`).
|
||||
|
||||
**Schritt 9 — Memo (nur auf Anfrage)**
|
||||
|
||||
> Soll ich zusätzlich ein Kurz-Memo im Gutachtenstil mit Anspruchsgrundlagen, Beweislage und Prozessrisiken erstellen?
|
||||
|
||||
Bei Zustimmung: zwei Seiten, DOCX oder Markdown.
|
||||
|
||||
## Rechtlicher Rahmen
|
||||
|
||||
### Pflichtinhalte und Form der Klageschrift
|
||||
- **§ 253 Abs. 2 ZPO** Klageinhalt (Parteien, Gericht, Anträge, Sachverhalt, Beweismittel).
|
||||
- **§ 130 ZPO** Form der Schriftsätze; **§ 130a ZPO** elektronisches Dokument; **§ 130d ZPO** Pflicht zur elektronischen Einreichung für Rechtsanwältinnen und Rechtsanwälte (beA).
|
||||
- **§ 78 ZPO** Anwaltszwang vor LG aufwärts.
|
||||
- **§ 12 RVG / Anlage 2 VV RVG**: Gebührentabelle; **Nr. 2300 VV RVG** Geschäftsgebühr; **Vorbem. 3 Abs. 4 VV RVG** Anrechnung 0,65; **Nr. 3100 VV RVG** Verfahrensgebühr.
|
||||
|
||||
### Sachliche Zuständigkeit
|
||||
- **§ 23 Nr. 1 GVG** AG bis 5.000 EUR.
|
||||
- **§ 71 GVG** LG über 5.000 EUR.
|
||||
- **§ 23 Nr. 2a GVG** Wohnraummietsachen AG ohne Streitwertgrenze.
|
||||
|
||||
### Örtliche Zuständigkeit
|
||||
- **§§ 12, 13 ZPO** allgemeiner Gerichtsstand der Beklagten.
|
||||
- **§ 17 ZPO** Sitz juristischer Personen.
|
||||
- **§ 29 ZPO** besonderer Gerichtsstand des Erfüllungsortes.
|
||||
- **§ 29c ZPO** Verbraucherverträge (Wohnsitz Verbraucher).
|
||||
- **§ 38 ZPO** Gerichtsstandsvereinbarung (zwischen Vollkaufleuten zulässig, gegenüber Verbraucher gemäß § 38 Abs. 3 ZPO eingeschränkt).
|
||||
- **§ 17 ZPO** Sitz; **§ 24 ZPO** dinglicher Gerichtsstand.
|
||||
- Bei grenzüberschreitenden Sachverhalten **Brüssel Ia VO (EU) 1215/2012**, insb. Art. 7 Nr. 1 lit. a und b (Erfüllungsort), Art. 17–19 (Verbrauchersachen), Art. 25 (Gerichtsstandsvereinbarung).
|
||||
|
||||
### Materielle Anspruchsgrundlagen (Standard)
|
||||
- **§ 433 Abs. 2 BGB** Kaufpreisanspruch; **§ 631 Abs. 1 BGB** Werklohnanspruch; **§ 611a Abs. 2 BGB** Vergütungsanspruch Dienstvertrag; **§ 535 Abs. 2 BGB** Miete; **§ 488 BGB** Darlehensrückzahlung.
|
||||
- **§ 286 BGB** Verzug; **§ 288 Abs. 1 BGB** Verzugszinsen 5 Prozentpunkte über Basiszins; **§ 288 Abs. 2 BGB** 9 Prozentpunkte zwischen Unternehmern für Entgeltforderung; **§ 288 Abs. 5 BGB** Verzugspauschale 40 EUR (B2B).
|
||||
- **§ 280 BGB** Schadensersatz inkl. vorgerichtlicher RA-Kosten.
|
||||
|
||||
### Leitentscheidungen
|
||||
- BGH, Urt. v. 22.01.2008 – VIII ZR 6/06, NJW 2008, 1888 — vorgerichtliche RA-Kosten als Verzugsschaden.
|
||||
- BGH, Urt. v. 04.10.2007 – III ZR 180/06, NJW 2008, 50 — Anforderungen an Mahnung.
|
||||
- BGH, Urt. v. 25.06.2020 – VII ZR 308/19, NJW 2020, 2884 — Verzugspauschale § 288 Abs. 5 BGB nicht im Arbeitsrecht; Reichweite.
|
||||
- BGH, Beschl. v. 23.06.2022 – V ZB 12/22 — Anforderungen elektronische Einreichung § 130a ZPO.
|
||||
- BGH, Beschl. v. 31.01.2023 – XI ZB 23/22 — Sorgfaltspflichten bei beA-Übermittlung.
|
||||
|
||||
### Kommentarliteratur (Bearbeiterstil)
|
||||
- *Greger*, in: Zöller, ZPO, 35. Aufl. 2024, § 253 ZPO Rn. 1–60.
|
||||
- *Toussaint*, in: BeckOK ZPO, 53. Ed. Stand 03.2025, § 130a Rn. 1–35.
|
||||
- *Patzina*, in: MüKo-ZPO, 6. Aufl. 2024, §§ 12, 13 Rn. 1–25.
|
||||
- *Grüneberg*, in: Grüneberg, BGB, 84. Aufl. 2025, § 286 Rn. 1–35; § 288 Rn. 1–18.
|
||||
|
||||
## Ausgabeformat
|
||||
|
||||
1. **Klageschrift** als DOCX (`Klage-<Beklagte>-<YYYYMMDD>.docx`) und Markdown-Spiegel.
|
||||
2. **Anlage Zuständigkeitsprüfung** mit Online-Quellen und Abrufdatum.
|
||||
3. **Hauseigenes Mini-Plugin** als ZIP (`klagewerkstatt-<slug>.zip`) mit Standardvorlage, Hausregeln und sofort installierbarem Skill `klage-erstellen`.
|
||||
4. **Optional**: HTML-Padlet zur Pflege, DOCX-Anlagenkopfbogen, Memo im Gutachtenstil.
|
||||
|
||||
## Quellenpflicht
|
||||
|
||||
Mindestens zwei BGH-Belege (jüngere zuerst) und zwei Kommentarbelege im Bearbeiterstil. Online-Adressquelle (justizadressen.nrw.de bzw. justiz.de) mit Abrufdatum zwingend. PDFs unter `references/rechtsprechung/` belegen die zitierten Leitentscheidungen.
|
||||
|
||||
## Übergabe
|
||||
|
||||
- Bei drohender Zahlungsunfähigkeit der Beklagten an `liquiditaetsplanung` (Plugin) zur Schnellprüfung.
|
||||
- Bei einstweiligem Rechtsschutz/Mahnverfahren an `prozessrecht` (Plugin) verweisen.
|
||||
- Wenn der Nutzer beim nächsten Mal nur den Sachverhalt einreichen will: Schwester-Skill `klage-aus-eigenem-skill` mit dem im Schritt 8 erzeugten Plugin verwenden.
|
||||
Reference in New Issue
Block a user