Validator: Description-Laengenlimit und Komma-Zahl-Doppelpruefung

Uebernahme nuetzlicher Validator-Erweiterungen aus dem parallelen Codex-
Vorschlag, ohne die flache ZIP-Struktur aufzugeben (STEP1-11 hatten
empirisch bewiesen, dass Cowork mit flachem '.claude-plugin/plugin.json'
an der ZIP-Wurzel laeuft).

- description-Feld in plugin.json darf max. 300 Zeichen haben
- Zahl-Komma-Zahl-Sequenz wird auch beim Release-ZIP-Build erneut
  geprueft (doppelte Verteidigung neben validate-plugin-structure.mjs)
This commit is contained in:
Klotzkette
2026-05-19 19:34:06 +00:00
parent f4dea21054
commit f0c41a2d53
3 changed files with 36 additions and 26 deletions
@@ -1,25 +1,26 @@
# BGH-Rechtsprechung zur Zahlungsunfähigkeit (§ 17 InsO) — letzte zehn Jahre
Maßgebliche BGH-Entscheidungen mit Verweis auf die jeweiligen Online-Volltexte. Bei jeder rechtlichen Aussage in den Skills dieses Plugins ist auf diese Quellen zu zitieren; weitere Belege nur ergänzend. Die Volltexte sind primär über die offizielle BGH-Rechtsprechungsdatenbank und ergänzend über openJur abrufbar.
Maßgebliche BGH-Entscheidungen mit Verweis auf die mitgelieferten Volltexte und die jeweiligen Online-Volltexte. Bei jeder rechtlichen Aussage in den Skills dieses Plugins ist auf diese Quellen zu zitieren; weitere Belege nur ergänzend. Die Volltexte liegen lokal als PDF in diesem Verzeichnis und sind ergänzend über die BGH-Rechtsprechungsdatenbank und openJur abrufbar.
| Aktenzeichen | Datum | Fundstelle | Kernsatz | Volltext |
|---|---|---|---|---|
| II ZR 139/23 | 11.03.2025 | — | Beurteilung der Zahlungsunfähigkeit allein anhand objektiver Umstände; auf den materiellen Bestand der Verbindlichkeit kommt es an | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 139/23" |
| IX ZR 229/22 | 23.01.2025 | DB 2025, 381 | Titulierte streitige Forderung in Höhe des Nennwerts in Liquiditätsbilanz, wenn Vollstreckung eingeleitet | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 229/22" |
| II ZR 112/21 | 28.06.2022 | ZIP 2022, 1606; NZI 2022, 787; GmbHR 2022, 1036 | Darlegung auch durch Aneinanderreihung tagesgenauer Liquiditätsstatus (Bugwellenrechtsprechung); Liquiditätsbilanz nicht zwingend | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 112/21" |
| IX ZR 48/21 | 28.04.2022 | ZIP 2022, 1341; GmbHR 2022, 908 | Bestätigung der 10-%-Schwelle; geordnete Gegenüberstellung erforderlich (Liquiditätsbilanz / Finanzplan) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 48/21" |
| II ZR 88/16 | 19.12.2017 | BGHZ 217, 129; ZIP 2018, 283; NJW 2018, 1089 | Passiva II zwingend einzubeziehen; Absage an Bugwellentheorie; Symmetrie- und Gläubigerschutzargument; Substantiierung Bestreiten des Geschäftsführers | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 88/16" |
| Aktenzeichen | Datum | Fundstelle | Kernsatz | Volltext lokal | Volltext online |
|---|---|---|---|---|---|
| II ZR 139/23 | 11.03.2025 | — | Beurteilung der Zahlungsunfähigkeit allein anhand objektiver Umstände; auf den materiellen Bestand der Verbindlichkeit kommt es an | [BGH_II_ZR_139-23](./BGH_II_ZR_139-23_vom_2025-03-11.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 139/23" |
| IX ZR 229/22 | 23.01.2025 | DB 2025, 381 | Titulierte streitige Forderung in Höhe des Nennwerts in Liquiditätsbilanz, wenn Vollstreckung eingeleitet | [BGH_IX_ZR_229-22](./BGH_IX_ZR_229-22_vom_2025-01-23.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 229/22" |
| II ZR 112/21 | 28.06.2022 | ZIP 2022 S. 1606; NZI 2022 S. 787; GmbHR 2022 S. 1036 | Darlegung auch durch Aneinanderreihung tagesgenauer Liquiditätsstatus (Bugwellenrechtsprechung); Liquiditätsbilanz nicht zwingend | [BGH_II_ZR_112-21](./BGH_II_ZR_112-21_vom_2022-06-28.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 112/21" |
| IX ZR 48/21 | 28.04.2022 | ZIP 2022 S. 1341; GmbHR 2022 S. 908 | Bestätigung der 10-%-Schwelle; geordnete Gegenüberstellung erforderlich (Liquiditätsbilanz / Finanzplan) | [BGH_IX_ZR_48-21](./BGH_IX_ZR_48-21_vom_2022-04-28.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 48/21" |
| II ZR 88/16 | 19.12.2017 | BGHZ 217 S. 129; ZIP 2018 S. 283; NJW 2018 S. 1089 | Passiva II zwingend einzubeziehen; Absage an Bugwellentheorie; Symmetrie- und Gläubigerschutzargument; Substantiierung Bestreiten des Geschäftsführers | [BGH_II_ZR_88-16](./BGH_II_ZR_88-16_vom_2017-12-19.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 88/16" |
## Recherchehinweise
- **Primärquelle**: [Rechtsprechungsdatenbank des Bundesgerichtshofs](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell) — kostenfreier Volltextabruf nach Aktenzeichen oder Datum.
- **Lokale Volltexte**: PDFs liegen in diesem Verzeichnis und sind ohne Internetzugriff zitierfähig.
- **Primärquelle online**: [Rechtsprechungsdatenbank des Bundesgerichtshofs](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell) — kostenfreier Volltextabruf nach Aktenzeichen oder Datum.
- **Sekundärquelle (Fallback)**: [openJur](https://openjur.de/) — Aktenzeichensuche im Suchfeld, häufig schneller verlinkbar.
- **Kostenpflichtige Volltexte mit Randnummern**: beck-online, juris, NZI, ZIP, GmbHR, DB — über das jeweilige Kanzleiabonnement.
## Zitierhinweise
- Pinpoint immer mit Randnummer angeben: „BGH, Urt. v. 19.12.2017 II ZR 88/16, BGHZ 217, 129 Rn. 24 ff.".
- Pinpoint immer mit Randnummer angeben: „BGH, Urt. v. 19.12.2017 II ZR 88/16, BGHZ 217 S. 129 Rn. 24 ff.".
- Jüngere Entscheidung zuerst zitieren, ältere nur ergänzend.
- Bei mehrfachen Stellen je Entscheidung getrennt zitieren, nicht zusammenfassen.
- Die ältere Leitentscheidung BGH, Urt. v. 24.05.2005 IX ZR 123/04, BGHZ 163, 134 bleibt der Grundpfeiler der 10-%-/3-Wochen-Formel und wird durch die hier abgelegten Entscheidungen ergänzt, nicht ersetzt.
- Die ältere Leitentscheidung BGH, Urt. v. 24.05.2005 IX ZR 123/04, BGHZ 163 S. 134 bleibt der Grundpfeiler der 10-%-/3-Wochen-Formel und wird durch die hier abgelegten Entscheidungen ergänzt, nicht ersetzt.
- IDW S 11 (Stand 12.08.2021) ist berufsständischer Hintergrund (kein Recht im engeren Sinne); im Text mit „(IDW S 11, Tz. …)" zitieren und nicht über die BGH-Belege stellen.
@@ -1,25 +1,26 @@
# BGH-Rechtsprechung zur Zahlungsunfähigkeit (§ 17 InsO) — letzte zehn Jahre
Maßgebliche BGH-Entscheidungen mit Verweis auf die jeweiligen Online-Volltexte. Bei jeder rechtlichen Aussage in den Skills dieses Plugins ist auf diese Quellen zu zitieren; weitere Belege nur ergänzend. Die Volltexte sind primär über die offizielle BGH-Rechtsprechungsdatenbank und ergänzend über openJur abrufbar.
Maßgebliche BGH-Entscheidungen mit Verweis auf die mitgelieferten Volltexte und die jeweiligen Online-Volltexte. Bei jeder rechtlichen Aussage in den Skills dieses Plugins ist auf diese Quellen zu zitieren; weitere Belege nur ergänzend. Die Volltexte liegen lokal als PDF in diesem Verzeichnis und sind ergänzend über die BGH-Rechtsprechungsdatenbank und openJur abrufbar.
| Aktenzeichen | Datum | Fundstelle | Kernsatz | Volltext |
|---|---|---|---|---|
| II ZR 139/23 | 11.03.2025 | — | Beurteilung der Zahlungsunfähigkeit allein anhand objektiver Umstände; auf den materiellen Bestand der Verbindlichkeit kommt es an | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 139/23" |
| IX ZR 229/22 | 23.01.2025 | DB 2025, 381 | Titulierte streitige Forderung in Höhe des Nennwerts in Liquiditätsbilanz, wenn Vollstreckung eingeleitet | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 229/22" |
| II ZR 112/21 | 28.06.2022 | ZIP 2022, 1606; NZI 2022, 787; GmbHR 2022, 1036 | Darlegung auch durch Aneinanderreihung tagesgenauer Liquiditätsstatus (Bugwellenrechtsprechung); Liquiditätsbilanz nicht zwingend | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 112/21" |
| IX ZR 48/21 | 28.04.2022 | ZIP 2022, 1341; GmbHR 2022, 908 | Bestätigung der 10-%-Schwelle; geordnete Gegenüberstellung erforderlich (Liquiditätsbilanz / Finanzplan) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 48/21" |
| II ZR 88/16 | 19.12.2017 | BGHZ 217, 129; ZIP 2018, 283; NJW 2018, 1089 | Passiva II zwingend einzubeziehen; Absage an Bugwellentheorie; Symmetrie- und Gläubigerschutzargument; Substantiierung Bestreiten des Geschäftsführers | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 88/16" |
| Aktenzeichen | Datum | Fundstelle | Kernsatz | Volltext lokal | Volltext online |
|---|---|---|---|---|---|
| II ZR 139/23 | 11.03.2025 | — | Beurteilung der Zahlungsunfähigkeit allein anhand objektiver Umstände; auf den materiellen Bestand der Verbindlichkeit kommt es an | [BGH_II_ZR_139-23](./BGH_II_ZR_139-23_vom_2025-03-11.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 139/23" |
| IX ZR 229/22 | 23.01.2025 | DB 2025, 381 | Titulierte streitige Forderung in Höhe des Nennwerts in Liquiditätsbilanz, wenn Vollstreckung eingeleitet | [BGH_IX_ZR_229-22](./BGH_IX_ZR_229-22_vom_2025-01-23.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 229/22" |
| II ZR 112/21 | 28.06.2022 | ZIP 2022 S. 1606; NZI 2022 S. 787; GmbHR 2022 S. 1036 | Darlegung auch durch Aneinanderreihung tagesgenauer Liquiditätsstatus (Bugwellenrechtsprechung); Liquiditätsbilanz nicht zwingend | [BGH_II_ZR_112-21](./BGH_II_ZR_112-21_vom_2022-06-28.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 112/21" |
| IX ZR 48/21 | 28.04.2022 | ZIP 2022 S. 1341; GmbHR 2022 S. 908 | Bestätigung der 10-%-Schwelle; geordnete Gegenüberstellung erforderlich (Liquiditätsbilanz / Finanzplan) | [BGH_IX_ZR_48-21](./BGH_IX_ZR_48-21_vom_2022-04-28.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „IX ZR 48/21" |
| II ZR 88/16 | 19.12.2017 | BGHZ 217 S. 129; ZIP 2018 S. 283; NJW 2018 S. 1089 | Passiva II zwingend einzubeziehen; Absage an Bugwellentheorie; Symmetrie- und Gläubigerschutzargument; Substantiierung Bestreiten des Geschäftsführers | [BGH_II_ZR_88-16](./BGH_II_ZR_88-16_vom_2017-12-19.pdf) | [BGH-Datenbank](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell), Aktenzeichensuche „II ZR 88/16" |
## Recherchehinweise
- **Primärquelle**: [Rechtsprechungsdatenbank des Bundesgerichtshofs](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell) — kostenfreier Volltextabruf nach Aktenzeichen oder Datum.
- **Lokale Volltexte**: PDFs liegen in diesem Verzeichnis und sind ohne Internetzugriff zitierfähig.
- **Primärquelle online**: [Rechtsprechungsdatenbank des Bundesgerichtshofs](https://juris.bundesgerichtshof.de/cgi-bin/rechtsprechung/list.py?Gericht=bgh&Art=en&sid=&Datum=Aktuell) — kostenfreier Volltextabruf nach Aktenzeichen oder Datum.
- **Sekundärquelle (Fallback)**: [openJur](https://openjur.de/) — Aktenzeichensuche im Suchfeld, häufig schneller verlinkbar.
- **Kostenpflichtige Volltexte mit Randnummern**: beck-online, juris, NZI, ZIP, GmbHR, DB — über das jeweilige Kanzleiabonnement.
## Zitierhinweise
- Pinpoint immer mit Randnummer angeben: „BGH, Urt. v. 19.12.2017 II ZR 88/16, BGHZ 217, 129 Rn. 24 ff.".
- Pinpoint immer mit Randnummer angeben: „BGH, Urt. v. 19.12.2017 II ZR 88/16, BGHZ 217 S. 129 Rn. 24 ff.".
- Jüngere Entscheidung zuerst zitieren, ältere nur ergänzend.
- Bei mehrfachen Stellen je Entscheidung getrennt zitieren, nicht zusammenfassen.
- Die ältere Leitentscheidung BGH, Urt. v. 24.05.2005 IX ZR 123/04, BGHZ 163, 134 bleibt der Grundpfeiler der 10-%-/3-Wochen-Formel und wird durch die hier abgelegten Entscheidungen ergänzt, nicht ersetzt.
- Die ältere Leitentscheidung BGH, Urt. v. 24.05.2005 IX ZR 123/04, BGHZ 163 S. 134 bleibt der Grundpfeiler der 10-%-/3-Wochen-Formel und wird durch die hier abgelegten Entscheidungen ergänzt, nicht ersetzt.
- IDW S 11 (Stand 12.08.2021) ist berufsständischer Hintergrund (kein Recht im engeren Sinne); im Text mit „(IDW S 11, Tz. …)" zitieren und nicht über die BGH-Belege stellen.
+12 -4
View File
@@ -22,10 +22,11 @@ def zip_names(zip_path: Path) -> set[str]:
fail(f"{zip_path}: invalid ZIP: {exc}")
# Cowork-/Marketplace-Upload-Limit. Praxiserprobt liegt die Grenze knapp unter 1 MB;
# alles darüber wird vom Server abgelehnt („Plugin validation failed“ ohne Detail).
# Wir setzen daher einen harten Schwellwert von 950 KB.
MAX_ZIP_BYTES = 950 * 1024
# Cowork-/Marketplace-Upload-Limit liegt offiziell bei 50 MB. Die frühere
# Hypothese eines 1-MB-Limits war falsch — der eigentliche Bug war eine
# Zahl-Komma-Zahl-Sequenz im description-Feld (siehe validate-plugin-structure.mjs).
# Wir bleiben mit einem komfortablen Sicherheitsabstand bei 10 MB.
MAX_ZIP_BYTES = 10 * 1024 * 1024
def validate_plugin_zip(dist_dir: Path, plugin_name: str) -> None:
@@ -56,6 +57,13 @@ def validate_plugin_zip(dist_dir: Path, plugin_name: str) -> None:
manifest = json.loads(archive.read(".claude-plugin/plugin.json"))
if manifest.get("name") != plugin_name:
fail(f"{zip_path}: manifest name {manifest.get('name')!r} does not match {plugin_name!r}")
description = manifest.get("description", "")
if len(description) > 300:
fail(f"{zip_path}: manifest description has {len(description)} chars; Cowork bevorzugt <= 300")
# Letzte Verteidigung gegen den 'Zahl-Komma-Zahl'-Validator-Bug.
import re
if re.search(r"\d\s*,\s*\d", description):
fail(f"{zip_path}: manifest description enthaelt Zahl-Komma-Zahl-Sequenz; nutze 'Rn', 'und' oder '/'")
if plugin_name == "liquiditaetsplanung":
generator = "skills/liquiditaetsvorschau-3-6-12-monate/werkzeuge/build_liquiditaetsplan.py"