Communitygithub.com

Rahmenvertrags-Generator

Erstellt Überarbeitungsentwürfe von Rahmenverträgen der Gegenpartei aus einer Vorlage und einer JSON-Spezifikation, mit rollenausgewählten Klauseln und einem Schedule-A-Workflow, der auf den ausgeführten Vertrag beschränkt ist.

Was ist Rahmenvertrags-Generator?

Dieses Skill automatisiert die Erstellung von Entwürfen für Rahmenverträge (z. B. NDAs, Masterdienstleistungsverträge) aus einer einzigen Markdown-Vorlage und einer JSON-Spezifikation pro Gegenpartei. Es ersetzt Platzhalter wie `{{CP_LEGAL}}` oder `{{ROLE_CLAUSE}}` durch parteispezifische Werte, wählt Klauseln basierend auf der Rolle (Käufer, Lieferant, gegenseitig) aus und generiert eine konsolidierte Schedule-A-Tabelle. Der Generator ist für reproduzierbare, diffbare und unbearbeitete Dokumente konzipiert und kennzeichnet alle Ausgaben zwingend als **ENTWURF**. Er wird über Node.js und Pandoc ausgeführt und bietet Befehlszeilen-Flags für Markdown-Only-Modi. Der Schedule-A-Workflow führt durch Genehmigungs- und Benachrichtigungsschritte unter Verwendung des ausgeführten Vertrags, bleibt aber dokumentengetreu; er erstellt weder E-Sign-Umschläge noch ersetzt er die rechtsverbindliche Ausfertigung.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/master-agreement-generator

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Rahmenvertrags-Generator?

Eine Mastervorlage, eine kleine Spezifikation pro Gegenpartei, ein Entwurfs-Build-Schritt. Der Generator kennzeichnet die Ausgabe immer als ENTWURF, auch bei Dokumenten, die aus einer abgeschlossenen Vorlage erstellt wurden. Eine erfolgreiche Konvertierung beweist die Artefaktgenerierung, nicht die rechtliche Vollständigkeit, Vertretungsbefugnis oder Bereitschaft zum Senden oder Unterzeichnen. Ein ausgeführter Vertrag kann es erlauben, bestimmte Gelegenheiten per Mitteilung hinzuzufügen; diese Befugnis muss vor Verwendung des Schedule-A-Workflows festgestellt werden.

Wann verwenden

  • Sie geben einen Rahmenvertrag (NDA, Vermittlungs- oder Quellenvergütung, Nichtumgehung, Masterdienstleistungen) an viele Gegenparteien mit denselben Bedingungen und einigen parteispezifischen Feldern aus.
  • Geschäfte werden im Laufe der Zeit hinzugefügt, und die Neudokumentation jedes einzelnen ist der Engpass.
  • Dokumente müssen aus nachverfolgbaren Quellen reproduzierbar, diffbar und frei von manuellen Bearbeitungen sein.
  • Unterschriftsfelder werden automatisch platziert und benötigen ein stabiles Seitenlayout.

Funktionsweise

Vorlage

Eine einzelne Markdown-Vorlage mit {{PLATZHALTER}}-Feldern. Jeder parteispezifische Wert ist ein Platzhalter; alles andere ist fester Text. Ein Grundgerüst befindet sich unter references/master-template.example.md. Ersetzen Sie dessen allgemeine Sätze durch Ihre von der Rechtsabteilung genehmigten Klauseln.

Platzhalter, die das Referenzskript ausfüllt:

PlatzhalterQuelle
{{DATUM}}spec.date, Standard heute
{{CP_KURZ}}spec.short
{{CP_RECHTLICH}}, {{CP_RECHTSGEBIET}}, {{CP_ADRESSE}}spec-Felder oder eine Leerzeile, wenn die Gegenpartei sie bei Unterzeichnung ausfüllt
{{ROLLEN_KLAUSEL}}, {{GEBÜHREN_TITEL}}, {{GEBÜHREN_KLAUSEL}}ausgewählt durch spec.role aus der Rollentabelle
{{ZEITPLAN_ZEILEN}}spec.schedule oder eine Zeile „keine Einträge bei Unterzeichnung”
{{ERGÄNZUNGS_KLAUSEL}}spec.supplement, gerendert mit einem trennenden Zeilenumbruch oder leer
{{CP_UNT_BLOCK}}, {{CP_ZEICHNER}}, {{CP_TITEL}}, {{CP_EMAIL}}Unterschriftsblockfelder, leer wenn unbekannt

Spezifikation

Eine JSON-Datei pro Gegenpartei:

{
  "file": "AcmeLieferant",
  "short": "Acme",
  "role": "lieferant",
  "legal": "Acme Compute Ltd",
  "juris": "Gesellschaft englischen und walisischen Rechts",
  "addr": "1 Example Street, London",
  "signer": "A. Person",
  "title": "Direktor",
  "email": "[email protected]",
  "schedule": [["1", "2026-09-01", "Los A (16 Knoten)", "einführend", "12 Monate", "Standard"]],
  "supplement": "das Datenverarbeitungsanhang vom 2026-09-01"
}

Für einen Entwurf sind nur file, short und role erforderlich. Fehlende Unterschriftsfelder werden als Leerzeilen zur Überprüfung und Vervollständigung gerendert. Siehe references/spec.example.json.

file muss ein nicht leerer portabler Dateiname sein, wie AcmeLieferant oder Acme Lieferant, ohne Verzeichniskomponenten. Der Builder lehnt Pfadtrennzeichen, Laufwerk-/UNC-Syntax, Steuerzeichen, von Windows reservierte Satzzeichen oder Gerätenamen sowie nachgestellte Punkte oder Leerzeichen ab. Ungültige Namen werden ohne Bereinigung oder Umbenennung abgelehnt, bevor eine Ausgabe erstellt oder Pandoc aufgerufen wird.

Lassen Sie schedule weg oder verwenden Sie [] für den Platzhalter „keine Einträge bei Unterzeichnung”. Ein bereitgestellter Zeitplan muss andernfalls ein dichtes Array von Sechs-Zellen-Arrays sein, in dieser Reihenfolge: Nummer, Datum, geschützte Gegenpartei oder Los, Rolle, Bedingungen, Gebühr. Jede Zelle muss ein gültiger Unicode-String oder eine endliche Zahl sein; leere Strings sind für absichtliche Leerzeichen erlaubt. Nullwerte, Booleans, Objekte, verschachtelte Zellen-Arrays, fehlende Zellen und nicht-endliche Zahlen werden mit Zeilen-/Zellenindex abgelehnt, bevor ein Artefakt geschrieben oder Pandoc ausgeführt wird. Ungepaarte UTF-16-Ersatzzeichen werden ebenfalls abgelehnt, anstatt während der UTF-8-Ausgabe ersetzt zu werden; gültige ergänzende Zeichen wie Emojis bleiben unterstützt.

Zellen sind Klartext, nicht Markdown oder HTML. Der Builder codiert Syntaxzeichen, sodass literale Pipes, Backslashes, Backticks und Markup in ihren ursprünglichen Feldern bleiben. Jedes CRLF, bloße CR oder LF wird zu einem Leerzeichen; Text um Zeilenumbrüche bleibt erhalten. Andere Leerzeichen und literale Satzzeichen bleiben in den gerenderten Zellen erhalten. Die Quellspezifikation wird nicht geändert. Ein gewöhnlicher gültiger Zeitplan behält seine sechs Spalten; fehlerhafte Eingabe wird nie stillschweigend durch einen leeren Zeitplan ersetzt.

Rollentabelle

spec.role wählt drei Strings aus: die Klausel für die stehende Vereinbarung, den Titel des Gebührenabschnitts und den Eröffnungssatz der Gebührenklausel.

RolleWer zahltForm der Klausel
käuferDie Gegenpartei zahlt bei Transaktionen mit eingeführten ParteienGegenpartei bestellt uns auf nicht ausschließlicher Basis zur Vermittlung und Einführung
lieferantDie Gegenpartei zahlt bei Transaktionen mit eingeführten Parteien; wo wir als Auftraggeber kaufen, kontrahieren wir zu den ZeitplanbedingungenGegenpartei bietet uns und von uns eingeführten Käufern Kapazität an
gegenseitigWer mit der Einführung des anderen abschließt, zahltJede Partei kann einführen; die abschließende Partei zahlt

Unbekannte Rollen werden zur Build-Zeit abgelehnt.

Erstellung

Verwenden Sie nur überprüfte Vorlagen und Spezifikationen. Gewöhnliche Vorlagensubstitutionen außerhalb von Schedule A sind markup-fähig, kein Sanitizer für nicht vertrauenswürdige Dokumente. Pandoc kann referenzierte lokale oder entfernte Ressourcen lesen; dieser Generator sandboxt den Dateisystem- oder Netzwerkzugriff des Konverters nicht. Überprüfen Sie diese Referenzen und führen Sie die Konvertierung in Ihrer eigenen angemessen eingeschränkten Umgebung durch. Die fokussierten Tests verwenden einen synthetischen Konverter und zertifizieren kein reales DOCX-Layout oder keine Isolierung.

node skills/master-agreement-generator/scripts/build-agreement.js \
  skills/master-agreement-generator/references/master-template.example.md \
  specs/AcmeLieferant.json \
  out/

Das Skript füllt Platzhalter, rendert die Zeitplantabelle und schreibt out/<datei> MASTER.md mit einem obligatorischen ENTWURF-Hinweis. Standardmäßig (oder mit --require-docx) erfordert es installiertes pandoc, um ein nicht leeres reguläres .docx-Artefakt zu erstellen. Fehlendes Pandoc, fehlgeschlagene Konvertierung oder fehlende/leere Ausgabe gibt Exit-Code 1 zurück. Jede Pandoc-Überprüfung oder -Konvertierung ist auf zehn Sekunden begrenzt. Unbekannte, doppelte oder widersprüchliche Flags geben Exit-Code 2 zurück.

Verwenden Sie --markdown-only explizit für einen erfolgreichen Markdown-only-Entwurf. Dieser Modus überprüft oder ruft Pandoc nie auf, gibt docxSkipped: true von der Bibliothek zurück und stellt kein DOCX für einen E-Sign-Workflow bereit. Bibliotheksaufrufer müssen { markdownOnly: true } übergeben; { pandoc: false } allein lässt jetzt die DOCX-Anforderung fehlschlagen. Das Ergebnis meldet immer documentStatus: 'draft'. Vorhandenes generiertes DOCX wird entfernt, wenn sein Markdown neu erstellt wird, und fehlgeschlagene Konvertierung hinterlässt kein partielles DOCX, sodass ein früheres Artefakt nicht als aktuelle Ausgabe getarnt werden kann. Halten Sie beide generierten Dateien außerhalb der Versionskontrolle; die Vorlage und die Spezifikationen sind die Quelle.

Es gibt keinen Ausführungs-Kopiermodus. Das Beispiel enthält bewusst ungelöste eckige Klammern mit Formulierungshinweisen; das Füllen von {{PLATZHALTER}}-Token vervollständigt diese rechtlichen Bestimmungen nicht. Vor der Erstellung eines Ausführungsdokuments holen Sie eine separate Überprüfung der abgeschlossenen Klauseln, Parteiangaben, bevollmächtigten Unterzeichner, kommerziellen Bedingungen und genauen Dokumentversion ein. Bewahren Sie den Entwurf und die überprüfte Ausführungskopie als getrennte Aufzeichnungen auf. Selbst eine erfolgreiche DOCX-Konvertierung autorisiert keinen Upload, Versand oder keine Unterschrift. Siehe den esign-field-placement-Genehmigungsworkflow.

Beide Ausgabeziele müssen direkte Kinder des aufgelösten Ausgabeverzeichnisses sein. Ein vorhandener Symlink an einem der Ziele, einschließlich eines defekten Links, wird abgelehnt, bevor eines der Artefakte geschrieben wird, selbst wenn die DOCX-Konvertierung deaktiviert ist. Gewöhnliche reguläre Dateien können neu erstellt werden. Verwenden Sie ein Ausgabeverzeichnis, das Sie kontrollieren; diese Prüfungen bieten keine Isolierung gegen gleichzeitige feindliche Dateisystemänderungen. Zurückgegebene Artefaktpfade sind absolut.

Unterschriftsseitengeometrie

Die Vorlage beendet den Hauptteil mit einem OpenXML-Seitenumbruch, sodass der Unterschriftsblock in einem kompatiblen DOCX-Renderer eine neue Seite anfordert:

```{=openxml}
<w:p><w:r><w:br w:type="page"/></w:r></w:p>
```

Die Struktur der Unterschriftsseite (unser Block, dann der Block der Gegenpartei, jeweils mit Durch, Name, Titel, E-Mail, Datum) ist konsistent, aber der Seitenumbruch kann sich mit Text, Schriftarten, Renderer oder Format ändern. Überprüfen Sie das tatsächliche überprüfte Dokument und seine Seitengeometrie, bevor Sie Felder platzieren; siehe das esign-field-placement-Skill.

Schedule-A-Anhang-Workflow

Verwenden Sie die tatsächliche Befugnis und die Mitteilungsanforderungen des ausgeführten Vertrags:

  1. Überprüfen Sie die Ökonomie der Gelegenheit und die Verhandlungsstrategie in einem internen Verhandlungs-/Genehmigungskanal. Holen Sie die Zusagegenehmigung ein, bevor Sie vertragliche Inhalte senden. Ein gemeinsamer Kanal mit der Gegenpartei ist kein interner Kanal.
  2. Bestätigen Sie, dass der vorgeschlagene Eintrag, die Rolle, die Bedingungen, die Gebühr und das Wirksamkeitsdatum innerhalb der ausdrücklichen Schedule-A-Mitteilungsbefugnis des Vertrags liegen. Änderungen der laufenden Bedingungen oder Abweichungen außerhalb dieser Befugnis erfordern das anwendbare Änderungsverfahren; eine Mitteilung kann keine eigene Ausnahme schaffen.
  3. Entwerfen Sie eine genehmigte, gegenparteispezifische datierte Mitteilung für den vom ausgeführten Vertrag genehmigten Empfänger und Mitteilungskanal. Fügen Sie nützliche geschäftliche Inhalte ein: die geschützte Gegenpartei oder das Los, die autorisierte Rolle, die kommerziellen Bedingungen und die anwendbare Gebühr. Schließen Sie interne Margen, Verhandlungsstrategie, Wirtschaftsdaten anderer Parteien, Systemspuren, Rohfehler und interne Vermerke zur Ablage aus.
  4. Reichen Sie die genaue Mitteilung zur Betreibergenehmigung ein, bevor Sie sie senden; siehe operator-approval-loop. Bewahren Sie Stille im Kanal der Gegenpartei, solange keine Genehmigung oder Beteiligungsbefugnis vorliegt. Die Genehmigung ist zu unterscheiden vom Nachweis, dass ein autorisierter Absender die Mitteilung tatsächlich zugestellt hat.
  5. Dokumentieren Sie den autorisierten Zustellnachweis, das Wirksamkeitsdatum und etwaige Einwände gemäß den tatsächlichen Anforderungen des ausgeführten Vertrags. Beispielhafte Fristen sind keine Voreinstellungen. Halten Sie das ausgeführte Dokument unveränderlich; aktualisieren Sie den nachverfolgten Zeitplan und erstellen Sie einen Entwurf einer konsolidierten Ansicht für die interne Überprüfung, mit einem Verweis auf die ausgeführte Version und die genehmigte Mitteilung. Diese Neuerstellung ersetzt nicht den unterzeichneten Vertrag oder beweist die rechtliche Wirksamkeit.

Beispiele

Mitteilungstext

Nur zur Veranschaulichung: Verwenden Sie diese Bedingungen und Daten ausschließlich, wenn der ausgeführte Vertrag sie autorisiert und der Betreiber diese genaue Empfängermitteilung genehmigt.

Schedule-A-Mitteilung, 2026-09-02
Vertrag: Rahmenvertrag vom 2026-08-14 zwischen Uns und Acme
Eintrag 2: Los B, 8 Knoten, Region EU-West
Rolle: Einführender
Bedingungen: 6-monatige Laufzeit, Beginn spätestens 2026-10-01
Gebühr: Standard
Dieser Eintrag wird heute wirksam, es sei denn, Sie widersprechen innerhalb von zehn Werktagen mit datiertem schriftlichem Nachweis einer früheren Beziehung zur Gegenpartei.

Hinzufügen des Eintrags zur Spezifikation

"schedule": [
  ["1", "2026-08-20", "Los A (16 Knoten)", "einführend", "12 Monate", "Standard"],
  ["2", "2026-09-02", "Los B (8 Knoten, EU-West)", "einführend", "6 Monate", "Standard"]
]

Neu erstellen, den ENTWURF des Markdowns diffen und den konsolidierten Entwurf dem internen Datensatz beifügen, zusammen mit dem unveränderten ausgeführten Dokument und dem Zustellnachweis.

Gegenpartei füllt eigene Angaben bei Unterzeichnung aus

Lassen Sie für den Entwurf legal, juris, addr, signer, title, email aus der Spezifikation weg, um Leerzeilen zu rendern. Ein separat überprüfter Ausführungsworkflow muss entscheiden, welche Angaben von der Gegenpartei ausgefüllt werden dürfen, und die tatsächlichen Felder verifizieren; der Generator erstellt oder genehmigt keinen E-Sign-Umschlag.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Verwandte Skills