CommunityCodierung & Entwicklunggithub.com

docx

Umfassende Dokumenterstellung, -bearbeitung und -analyse mit Unterstützung für Änderungsnachverfolgung, Kommentare, Formatierungserhaltung und Textextraktion. Wenn Claude mit professionellen Dokumenten (.docx-Dateien) arbeiten muss: (1) Erstellen neuer Dokumente, (2) Ändern oder Bearbeiten von Inhalten, (3) Arbeiten mit Änderungsnachverfolgung, (4) Hinzufügen von Kommentaren oder anderen Dokumentaufgaben.

Was ist docx?

Diese Fähigkeit ermöglicht es KI-Agenten, professionelle Word-Dokumente (.docx) umfassend zu erstellen, zu bearbeiten und zu analysieren. Sie bietet spezialisierte Workflows für verschiedene Szenarien: Textextraktion mit Pandoc zur Konvertierung in Markdown, Erstellung neuer Dokumente mit der docx-js-Bibliothek, direkte Bearbeitung vorhandener Dokumente über die Document Library (Python) und einen strukturierten 'Redlining'-Workflow für die professionelle Dokumentenprüfung mit Änderungsnachverfolgung. Der Workflow-Entscheidungsbaum hilft dem Agenten, den richtigen Ansatz zu wählen: Für einfache Änderungen an eigenen Dokumenten wird die Basic-OOXML-Bearbeitung verwendet, für fremde oder geschäftskritische Dokumente ist der Redlining-Workflow mit Änderungsnachverfolgung empfohlen bzw. erforderlich. Die Fähigkeit unterstützt auch die Konvertierung von Dokumenten in Bilder zur visuellen Analyse über eine PDF-Zwischenstufe. Die Implementierung folgt dem Prinzip minimaler, präziser Änderungen: Nur tatsächlich geänderter Text wird markiert, während unveränderter Text und seine Formatierung erhalten bleiben. Änderungen werden in Batches von 3-10 zusammengefasst, um die Fehlersuche zu erleichtern. Die Fähigkeit verwendet verschiedene Tools: Pandoc für Textkonvertierung, docx-js (npm) für die Dokumenterstellung, die Document Library (Python) für die Bearbeitung, und LibreOffice/Poppler für die Bildkonvertierung.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-claude-skills/tree/master/document-skills/docx

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

DOCX-Erstellung, -Bearbeitung und -Analyse

Überblick

Ein Benutzer kann Sie bitten, den Inhalt einer .docx-Datei zu erstellen, zu bearbeiten oder zu analysieren. Eine .docx-Datei ist im Wesentlichen ein ZIP-Archiv, das XML-Dateien und andere Ressourcen enthält, die Sie lesen oder bearbeiten können. Für verschiedene Aufgaben stehen Ihnen unterschiedliche Tools und Workflows zur Verfügung.

Workflow-Entscheidungsbaum

Lesen/Analysieren von Inhalten

Verwenden Sie die Abschnitte "Textextraktion" oder "Raw-XML-Zugriff" weiter unten.

Erstellen eines neuen Dokuments

Verwenden Sie den Workflow "Erstellen eines neuen Word-Dokuments".

Bearbeiten eines vorhandenen Dokuments

  • Ihr eigenes Dokument + einfache Änderungen Verwenden Sie den Workflow "Basic-OOXML-Bearbeitung".

  • Dokument einer anderen Person Verwenden Sie den "Redlining-Workflow" (empfohlener Standard).

  • Juristische, akademische, geschäftliche oder behördliche Dokumente Verwenden Sie den "Redlining-Workflow" (erforderlich).

Lesen und Analysieren von Inhalten

Textextraktion

Wenn Sie nur den Textinhalt eines Dokuments lesen müssen, konvertieren Sie das Dokument mit Pandoc in Markdown. Pandoc bietet hervorragende Unterstützung für die Beibehaltung der Dokumentstruktur und kann Änderungsnachverfolgung anzeigen:

# Dokument mit Änderungsnachverfolgung in Markdown konvertieren
pandoc --track-changes=all pfad-zur-datei.docx -o ausgabe.md
# Optionen: --track-changes=accept/reject/all

Raw-XML-Zugriff

Sie benötigen Raw-XML-Zugriff für: Kommentare, komplexe Formatierungen, Dokumentstruktur, eingebettete Medien und Metadaten. Für diese Funktionen müssen Sie ein Dokument entpacken und seine rohen XML-Inhalte lesen.

Entpacken einer Datei

python ooxml/scripts/unpack.py <office_datei> <ausgabe_verzeichnis>

Wichtige Dateistrukturen

  • word/document.xml - Hauptdokumentinhalt
  • word/comments.xml - Kommentare, auf die in document.xml verwiesen wird
  • word/media/ - Eingebettete Bilder und Mediendateien
  • Änderungsnachverfolgung verwendet <w:ins> (Einfügungen) und <w:del> (Löschungen) Tags

Erstellen eines neuen Word-Dokuments

Verwenden Sie beim Erstellen eines neuen Word-Dokuments von Grund auf docx-js, mit dem Sie Word-Dokumente mit JavaScript/TypeScript erstellen können.

Workflow

  1. ERFORDERLICH - GANZE DATEI LESEN: Lesen Sie docx-js.md (~500 Zeilen) vollständig von Anfang bis Ende. Setzen Sie beim Lesen dieser Datei NIEMALS Bereichsbeschränkungen. Lesen Sie den vollständigen Dateiinhalt für detaillierte Syntax, kritische Formatierungsregeln und Best Practices, bevor Sie mit der Dokumenterstellung fortfahren.
  2. Erstellen Sie eine JavaScript/TypeScript-Datei mit Document-, Paragraph- und TextRun-Komponenten (Sie können davon ausgehen, dass alle Abhängigkeiten installiert sind; falls nicht, lesen Sie den Abschnitt zu Abhängigkeiten unten).
  3. Exportieren Sie als .docx mit Packer.toBuffer()

Bearbeiten eines vorhandenen Word-Dokuments

Verwenden Sie beim Bearbeiten eines vorhandenen Word-Dokuments die Document Library (eine Python-Bibliothek für OOXML-Manipulation). Die Bibliothek übernimmt automatisch die Infrastruktureinrichtung und stellt Methoden zur Dokumentmanipulation bereit. Für komplexe Szenarien können Sie direkt über die Bibliothek auf das zugrunde liegende DOM zugreifen.

Workflow

  1. ERFORDERLICH - GANZE DATEI LESEN: Lesen Sie ooxml.md (~600 Zeilen) vollständig von Anfang bis Ende. Setzen Sie beim Lesen dieser Datei NIEMALS Bereichsbeschränkungen. Lesen Sie den vollständigen Dateiinhalt für die Document Library API und XML-Muster zur direkten Bearbeitung von Dokumentdateien.
  2. Entpacken Sie das Dokument: python ooxml/scripts/unpack.py <office_datei> <ausgabe_verzeichnis>
  3. Erstellen und führen Sie ein Python-Skript mit der Document Library aus (siehe Abschnitt "Document Library" in ooxml.md).
  4. Packen Sie das endgültige Dokument: python ooxml/scripts/pack.py <eingabe_verzeichnis> <office_datei>

Die Document Library bietet sowohl High-Level-Methoden für allgemeine Vorgänge als auch direkten DOM-Zugriff für komplexe Szenarien.

Redlining-Workflow für die Dokumentenprüfung

Dieser Workflow ermöglicht es Ihnen, umfassende Änderungsnachverfolgung mit Markdown zu planen, bevor Sie sie in OOXML implementieren. KRITISCH: Für eine vollständige Änderungsnachverfolgung müssen Sie ALLE Änderungen systematisch implementieren.

Batching-Strategie: Gruppieren Sie verwandte Änderungen in Batches von 3-10 Änderungen. Dies hält die Fehlersuche handhabbar und bewahrt die Effizienz. Testen Sie jeden Batch, bevor Sie zum nächsten übergehen.

Prinzip: Minimale, präzise Änderungen Markieren Sie bei der Implementierung von Änderungsnachverfolgung nur den Text, der sich tatsächlich ändert. Das Wiederholen von unverändertem Text erschwert die Überprüfung von Änderungen und wirkt unprofessionell. Unterteilen Sie Ersetzungen in: [unveränderter Text] + [Löschung] + [Einfügung] + [unveränderter Text]. Bewahren Sie die RSID des ursprünglichen Laufs für unveränderten Text, indem Sie das <w:r>-Element aus dem Original extrahieren und wiederverwenden.

Beispiel – Ändern von "30 Tage" in "60 Tage" in einem Satz:

# SCHLECHT - Ersetzt den gesamten Satz
'<w:del><w:r><w:delText>Die Frist beträgt 30 Tage.</w:delText></w:r></w:del><w:ins><w:r><w:t>Die Frist beträgt 60 Tage.</w:t></w:r></w:ins>'

# GUT - Markiert nur, was geändert wurde, behält das ursprüngliche <w:r> für unveränderten Text
'<w:r w:rsidR="00AB12CD"><w:t>Die Frist beträgt </w:t></w:r><w:del><w:r><w:delText>30</w:delText></w:r></w:del><w:ins><w:r><w:t>60</w:t></w:r></w:ins><w:r w:rsidR="00AB12CD"><w:t> Tage.</w:t></w:r>'

Workflow für Änderungsnachverfolgung

  1. Markdown-Darstellung abrufen: Konvertieren Sie das Dokument in Markdown mit erhaltener Änderungsnachverfolgung:

    pandoc --track-changes=all pfad-zur-datei.docx -o aktuell.md
    
  2. Änderungen identifizieren und gruppieren: Überprüfen Sie das Dokument und identifizieren Sie ALLE erforderlichen Änderungen, indem Sie sie in logische Batches organisieren:

    Lokalisierungsmethoden (zum Auffinden von Änderungen in XML):

    • Abschnitts-/Überschriftsnummern (z. B. "Abschnitt 3.2", "Artikel IV")
    • Absatzkennungen, falls nummeriert
    • Grep-Muster mit eindeutigem umgebendem Text
    • Dokumentstruktur (z. B. "erster Absatz", "Unterschriftsblock")
    • Verwenden Sie KEINE Markdown-Zeilennummern – sie sind nicht auf die XML-Struktur abgebildet

    Batch-Organisation (gruppieren Sie 3-10 verwandte Änderungen pro Batch):

    • Nach Abschnitt: "Batch 1: Abschnitt 2 Änderungen", "Batch 2: Abschnitt 5 Aktualisierungen"
    • Nach Typ: "Batch 1: Datumskorrekturen", "Batch 2: Parteinamenänderungen"
    • Nach Komplexität: Beginnen Sie mit einfachen Textersetzungen, dann komplexe strukturelle Änderungen
    • Sequenziell: "Batch 1: Seiten 1-3", "Batch 2: Seiten 4-6"
  3. Dokumentation lesen und entpacken:

    • ERFORDERLICH - GANZE DATEI LESEN: Lesen Sie ooxml.md (~600 Zeilen) vollständig von Anfang bis Ende. Setzen Sie beim Lesen dieser Datei NIEMALS Bereichsbeschränkungen. Achten Sie besonders auf die Abschnitte "Document Library" und "Tracked Change Patterns".
    • Entpacken Sie das Dokument: python ooxml/scripts/unpack.py <datei.docx> <verz>
    • Notieren Sie die vorgeschlagene RSID: Das Entpackskript wird eine RSID für Ihre Änderungsnachverfolgung vorschlagen. Kopieren Sie diese RSID für die Verwendung in Schritt 4b.
  4. Änderungen in Batches implementieren: Gruppieren Sie Änderungen logisch (nach Abschnitt, Typ oder Nähe) und implementieren Sie sie gemeinsam in einem einzigen Skript. Dieser Ansatz:

    • Macht die Fehlersuche einfacher (kleinerer Batch = einfacher, Fehler zu isolieren)
    • Ermöglicht inkrementellen Fortschritt
    • Bewahrt die Effizienz (Batch-Größe von 3-10 Änderungen funktioniert gut)

    Vorgeschlagene Batch-Gruppierungen:

    • Nach Dokumentabschnitt (z. B. "Abschnitt 3 Änderungen", "Definitionen", "Kündigungsklausel")
    • Nach Änderungstyp (z. B. "Datumsänderungen", "Parteinamenaktualisierungen", "Ersetzungen juristischer Begriffe")
    • Nach Nähe (z. B. "Änderungen auf Seiten 1-3", "Änderungen in der ersten Hälfte des Dokuments")

    Für jeden Batch verwandter Änderungen:

    a. Text XML zuordnen: Grepen Sie in word/document.xml nach Text, um zu überprüfen, wie der Text auf <w:r>-Elemente aufgeteilt ist.

    b. Skript erstellen und ausführen: Verwenden Sie get_node, um Knoten zu finden, implementieren Sie Änderungen, dann doc.save(). Siehe Abschnitt "Document Library" in ooxml.md für Muster.

    Hinweis: Grepen Sie word/document.xml immer unmittelbar vor dem Schreiben eines Skripts, um aktuelle Zeilennummern zu erhalten und den Textinhalt zu überprüfen. Zeilennummern ändern sich nach jedem Skriptdurchlauf.

  5. Dokument packen: Nachdem alle Batches abgeschlossen sind, konvertieren Sie das entpackte Verzeichnis zurück in .docx:

    python ooxml/scripts/pack.py entpackt überprüftes-dokument.docx
    
  6. Abschließende Überprüfung: Führen Sie eine umfassende Prüfung des vollständigen Dokuments durch:

    • Konvertieren Sie das endgültige Dokument in Markdown:
      pandoc --track-changes=all überprüftes-dokument.docx -o überprüfung.md
      
    • Überprüfen Sie, ob ALLE Änderungen korrekt angewendet wurden:
      grep "ursprüngliche Phrase" überprüfung.md  # Sollte NICHT gefunden werden
      grep "ersetzte Phrase" überprüfung.md  # Sollte gefunden werden
      
    • Überprüfen Sie, dass keine unbeabsichtigten Änderungen eingeführt wurden

Konvertieren von Dokumenten in Bilder

Um Word-Dokumente visuell zu analysieren, konvertieren Sie sie in einem zweistufigen Prozess in Bilder:

  1. DOCX in PDF konvertieren:

    soffice --headless --convert-to pdf dokument.docx
    
  2. PDF-Seiten in JPEG-Bilder konvertieren:

    pdftoppm -jpeg -r 150 dokument.pdf seite
    

    Dies erstellt Dateien wie seite-1.jpg, seite-2.jpg usw.

Optionen:

  • -r 150: Auflösung auf 150 DPI setzen (für Qualitäts-/Größenverhältnis anpassen)
  • -jpeg: JPEG-Format ausgeben (verwenden Sie -png für PNG, falls bevorzugt)
  • -f N: Erste zu konvertierende Seite (z. B. -f 2 startet ab Seite 2)
  • -l N: Letzte zu konvertierende Seite (z. B. -l 5 stoppt bei Seite 5)
  • seite: Präfix für Ausgabedateien

Beispiel für einen bestimmten Bereich:

pdftoppm -jpeg -r 150 -f 2 -l 5 dokument.pdf seite  # Konvertiert nur Seiten 2-5

Code-Stil-Richtlinien

WICHTIG: Beim Generieren von Code für DOCX-Operationen:

  • Schreiben Sie prägnanten Code
  • Vermeiden Sie ausführliche Variablennamen und redundante Operationen
  • Vermeiden Sie unnötige print-Anweisungen

Abhängigkeiten

Erforderliche Abhängigkeiten (installieren, falls nicht verfügbar):

  • pandoc: sudo apt-get install pandoc (für Textextraktion)
  • docx: npm install -g docx (zum Erstellen neuer Dokumente)
  • LibreOffice: sudo apt-get install libreoffice (für PDF-Konvertierung)
  • Poppler: sudo apt-get install poppler-utils (für pdftoppm zur Konvertierung von PDF in Bilder)
  • defusedxml: pip install defusedxml (für sicheres XML-Parsing)

Individual skills in this repo

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

ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

agent-mail-automation

Automate Agent Mail tasks via Rube MCP (Composio). Always search tools first for current schemas.

agentql-automation

Automate Agentql tasks via Rube MCP (Composio). Always search tools first for current schemas.

agenty-automation

Automate Agenty tasks via Rube MCP (Composio). Always search tools first for current schemas.

Verwandte Skills