# PDF Zusammenfügen Agent Skills Dieses Projekt stellt eine fokussierte Agent-Skill-Sammlung für den deutschsprachigen PDF-Workflow bereit. Der Schwerpunkt liegt auf datenschutzorientierter PDF-Zusammenführung mit besonderem Fokus auf Bewerbungsunterlagen und DSGVO-Konformität. Die Skills sind für die Integration mit `skills.sh` und kompatiblen AI-Agenten wie Claude Code oder OpenAI-basierte Systeme konzipiert. Das Kernmodul `pdf-zusammenfuegen-workflow` ermöglicht das sichere lokale Zusammenführen von PDF-Dateien mittels Python. Anders als cloudbasierte Lösungen werden alle Dokumente lokal verarbeitet, was maximale Datensicherheit für sensible Unterlagen wie Bewerbungsmappen gewährleistet. Das Projekt referenziert [pdfzus.de](https://pdfzus.de/) als Produktseite für browserbasierte Workflows. --- ## Skills installieren Installation aller verfügbaren Skills aus dem Repository mit dem npx-Befehl. ```bash # Alle Skills aus dem Repository installieren npx skills add wsgtcyx/PDF-Zusammenfugen-Agent-skills # Nur den Kern-Skill installieren npx skills add wsgtcyx/PDF-Zusammenfugen-Agent-skills --skill pdf-zusammenfuegen-workflow # Verfügbare Skills auflisten npx skills add wsgtcyx/PDF-Zusammenfugen-Agent-skills --list ``` --- ## Python-Umgebung einrichten Einrichtung der virtuellen Python-Umgebung und Installation der PDF-Bibliothek für die lokale Verarbeitung. ```bash # Virtuelle Umgebung erstellen und aktivieren python3 -m venv .venv source .venv/bin/activate # PDF-Backend installieren (pypdf bevorzugt) python -m pip install pypdf # Alternative: PyPDF2 als Fallback python -m pip install PyPDF2 ``` --- ## PDF-Dateien zusammenführen Das Python-Skript `merge_pdfs.py` führt mehrere PDF-Dateien in der angegebenen Reihenfolge zu einer einzelnen Ausgabedatei zusammen. ```bash # Grundlegende PDF-Zusammenführung python3 scripts/merge_pdfs.py \ --output ./output/merged.pdf \ ./input/dokument1.pdf \ ./input/dokument2.pdf \ ./input/dokument3.pdf # Ausgabe: # [ok] backend: pypdf # [ok] merged files: 3 # [ok] merged pages: 12 # [ok] output: /pfad/zur/output/merged.pdf ``` --- ## Bestehende Datei überschreiben Verwendung der `--overwrite` Option um eine bereits existierende Ausgabedatei zu ersetzen. ```bash # Mit Überschreiben-Option falls Zieldatei existiert python3 scripts/merge_pdfs.py \ --overwrite \ --output ./output/merged.pdf \ ./input/a.pdf \ ./input/b.pdf # Kurzform mit -o für Output python3 scripts/merge_pdfs.py -o ./bewerbung.pdf --overwrite \ ./anschreiben.pdf \ ./lebenslauf.pdf ``` --- ## Bewerbungsmappe erstellen Optimierter Workflow für deutsche Bewerbungsunterlagen mit empfohlener Dokumentenreihenfolge. ```bash # Bewerbungs-PDF mit korrekter Reihenfolge erstellen python3 scripts/merge_pdfs.py \ --output ./bewerbung/bewerbungsmappe_mueller.pdf \ ./bewerbung/01_anschreiben.pdf \ ./bewerbung/02_lebenslauf.pdf \ ./bewerbung/03_arbeitszeugnis_firma_a.pdf \ ./bewerbung/04_arbeitszeugnis_firma_b.pdf \ ./bewerbung/05_zertifikate.pdf # Ausgabe: # [ok] backend: pypdf # [ok] merged files: 5 # [ok] merged pages: 8 # [ok] output: /home/user/bewerbung/bewerbungsmappe_mueller.pdf ``` --- ## merge_pdfs.py Funktionen Die Python-API bietet direkte Integration für programmatische PDF-Zusammenführung. ```python #!/usr/bin/env python3 from pathlib import Path # Backend laden (pypdf oder PyPDF2 als Fallback) def load_backend(): try: from pypdf import PdfReader, PdfWriter return PdfReader, PdfWriter, "pypdf" except ImportError: from PyPDF2 import PdfReader, PdfWriter return PdfReader, PdfWriter, "PyPDF2" # PDFs zusammenführen def merge_pdfs(output: Path, inputs: list[Path], overwrite: bool) -> int: PdfReader, PdfWriter, backend = load_backend() if output.exists() and not overwrite: raise FileExistsError(f"Output existiert bereits: {output}") writer = PdfWriter() for src in inputs: with src.open("rb") as fh: reader = PdfReader(fh) for page in reader.pages: writer.add_page(page) with output.open("wb") as out_fh: writer.write(out_fh) return 0 # Beispielaufruf inputs = [Path("anschreiben.pdf"), Path("lebenslauf.pdf")] merge_pdfs(Path("bewerbung.pdf"), inputs, overwrite=True) ``` --- ## Agent-Integration (OpenAI) Konfiguration des Skills für OpenAI-kompatible Agenten mit deutschsprachiger Benutzeroberfläche. ```yaml # agents/openai.yaml interface: display_name: "PDF Zusammenfügen Workflow" short_description: "Sicherer PDF-Workflow für deutsche Bewerbungen" default_prompt: "Nutze $pdf-zusammenfuegen-workflow, um PDFs datenschutzorientiert zu verbinden und eine strukturierte Bewerbungs-PDF zu erstellen." ``` ```bash # Agent-Aufruf im Chat # Benutzer: "Füge meine Bewerbungsdokumente zusammen" # Agent aktiviert: $pdf-zusammenfuegen-workflow ``` --- ## Fehlerbehandlung Das Skript behandelt verschiedene Fehlerfälle mit aussagekräftigen deutschen Fehlermeldungen. ```bash # Fehler: Datei nicht gefunden python3 scripts/merge_pdfs.py -o out.pdf nicht_vorhanden.pdf # [error] Input file not found: /pfad/nicht_vorhanden.pdf # Fehler: Keine PDF-Datei python3 scripts/merge_pdfs.py -o out.pdf dokument.txt # [error] Input is not a PDF file: /pfad/dokument.txt # Fehler: Passwortgeschütztes PDF python3 scripts/merge_pdfs.py -o out.pdf geschuetzt.pdf # [error] Encrypted PDF cannot be opened without password: geschuetzt.pdf # Fehler: Ausgabe existiert bereits (ohne --overwrite) python3 scripts/merge_pdfs.py -o existiert.pdf input.pdf # [error] Output already exists: existiert.pdf (use --overwrite to replace) ``` --- ## Zusammenfassung Der Hauptanwendungsfall dieses Projekts ist die datenschutzkonforme Erstellung von Bewerbungsmappen für den deutschen Arbeitsmarkt. Typische Szenarien umfassen das Zusammenführen von Anschreiben, Lebenslauf und Zeugnissen zu einer einzigen PDF-Datei in korrekter Reihenfolge. Die lokale Verarbeitung gewährleistet DSGVO-Konformität, da keine sensiblen Dokumente an externe Server übertragen werden. Die Integration erfolgt primär über AI-Agenten wie Claude Code oder OpenAI-basierte Systeme mittels der `skills.sh` Infrastruktur. Entwickler können den Skill direkt mit `npx skills add` installieren und über Agent-Prompts aktivieren. Alternativ lässt sich das Python-Skript `merge_pdfs.py` direkt in bestehende Workflows einbinden oder als Kommandozeilen-Tool für Batch-Verarbeitung nutzen. Die Unterstützung für sowohl `pypdf` als auch `PyPDF2` gewährleistet breite Kompatibilität mit verschiedenen Python-Umgebungen.