Fähigkeiten libreoffice-writer
📄

libreoffice-writer

Niedriges Risiko ⚙️ Externe Befehle📁 Dateisystemzugriff🔑 Umgebungsvariablen⚡ Enthält Skripte

LibreOffice Writer-Dokumente automatisieren

Manuelles Bearbeiten von Dokumenten ist zeitaufwändig und fehleranfällig. Diese Fähigkeit automatisiert LibreOffice Writer-Operationen durch UNO-Integration und ermöglicht programmatische Dokumentenerstellung, -bearbeitung, -formatierung und -export.

Unterstützt: Claude Codex Code(CC)
🥉 74 Bronze
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "libreoffice-writer". Ein neues Dokument mit Titel erstellen und als PDF exportieren

Erwartetes Ergebnis:

  • Dokument erfolgreich erstellt: /path/to/report.odt
  • Als PDF exportiert: /path/to/report.pdf

Verwendung von "libreoffice-writer". Text in bestehendem Dokument finden und formatieren

Erwartetes Ergebnis:

  • Dokument geöffnet: /path/to/draft.odt
  • Textbereich formatiert: fett, zentriert
  • Änderungen gespeichert und Dokument geschlossen

Verwendung von "libreoffice-writer". Patch mit mehreren Operationen anwenden

Erwartetes Ergebnis:

  • Patch analysiert: 3 Operationen
  • Operation 1 (replace_text): erfolgreich
  • Operation 2 (format_text): erfolgreich
  • Operation 3 (insert_table): erfolgreich
  • Gesamtstatus: ok
  • Dokument persistiert: true

Sicherheitsaudit

Niedriges Risiko
v2 • 3/19/2026

Static analysis flagged 175 patterns but evaluation confirms these are false positives. The skill legitimately uses subprocess to launch LibreOffice with hardcoded arguments, tempfile for secure temp directories, and importlib for module detection. All external command usage has no user input injection vectors. Risk is low due to filesystem and external command dependencies requiring LibreOffice installation.

14
Gescannte Dateien
2,550
Analysierte Zeilen
7
befunde
2
Gesamtzahl Audits
Probleme mit niedrigem Risiko (3)
External Process Execution
subprocess.Popen launches LibreOffice soffice binary. All arguments are hardcoded strings with no user input injection. This is legitimate automation of installed software.
Temporary Directory Creation
Uses tempfile.mkdtemp() to create isolated profile directories for LibreOffice instances. Directories are cleaned up in finally blocks.
Environment Variable Access
Reads LIBREOFFICE_PROGRAM_PATH environment variable to locate UNO module. Value is used only for path resolution, not executed.
Auditiert von: claude Audit-Verlauf anzeigen →

Qualitätsbewertung

64
Architektur
100
Wartbarkeit
87
Inhalt
25
Community
84
Sicherheit
91
Spezifikationskonformität

Was du bauen kannst

Automatisierte Berichtsgenerierung

Standardisierte Berichte durch Erstellen von Dokumenten, Einfügen von formatiertem Text und Tabellen, dann Export nach PDF zur Verteilung generieren.

Dokumentenvorlagen-Verarbeitung

Vorlagendokumente laden, Platzhaltertext durch dynamische Inhalte ersetzen, Tabellen mit neuen Daten aktualisieren und angepasste Versionen exportieren.

Batch-Dokumentenoperationen

Konsistente Formatierungsänderungen über mehrere Dokumente hinweg mit Patch-Workflows und atomarem Rollback bei Fehlern anwenden.

Probiere diese Prompts

Dokument erstellen und befüllen
Erstellen Sie ein neues LibreOffice Writer-Dokument unter /path/to/report.odt. Fügen Sie einen Titel "Monthly Report" ein, fügen Sie eine Abschnittsüberschrift "Summary" hinzu, und fügen Sie dann einen Absatz mit den Errungenschaften dieses Monats ein. Exportieren Sie das fertige Dokument als PDF.
Bearbeiten mit strukturierter Zielsteuerung
Öffnen Sie /path/to/draft.odt und finden Sie den Satz "Quarterly revenue grew significantly", der nach "Financial Overview" und vor "Next Steps" erscheint. Machen Sie ihn fett und zentriert. Fügen Sie dann nach "Action Items" eine Aufzählungsliste mit drei Aufgaben ein: Review budget, Schedule meeting, Send updates.
Tabellenoperationen mit Daten
Öffnen Sie das Dokument unter /path/to/data-report.odt. Fügen Sie eine Tabelle mit 4 Zeilen und 3 Spalten namens "Sales Data" ein. Befüllen Sie sie mit Überschriften [Region, Q1, Q2] und Datenzeilen für die Regionen North, South, East. Aktualisieren Sie später die Q2-Werte, wenn neue Zahlen eintreffen.
Atomic Patch Workflow
Wenden Sie diesen Patch auf /path/to/manuscript.odt im atomic-Modus an: Erstens, ersetzen Sie alle Instanzen von "Draft" durch "Final". Zweitens, formatieren Sie die Kapitelüberschriften fett mit 14pt-Schriftgröße. Drittens, fügen Sie ein Inhaltsverzeichnis ein. Wenn eine Operation fehlschlägt, rollen Sie alle Änderungen zurück und melden Sie den Fehler.

Bewährte Verfahren

  • Verwenden Sie immer absolute Dateipfade bei der Arbeit mit UNO-basierten Writer-APIs
  • Verankern Sie Textziele mit vollständigen Sätzen oder absatzweisen Phrasen, nicht mit einzelnen Wörtern
  • Verwenden Sie after und before-Begrenzungen, um Suchen einzuschränken, wenn Text mehrfach erscheinen kann
  • Verpacken Sie Session-Operationen in try/finally oder Context Manager für korrekte Bereinigung
  • Testen Sie Patch-Workflows im best_effort-Modus, bevor Sie für die Produktion auf atomic umschalten

Vermeiden

  • Verwendung relativer Pfade - UNO erfordert absolute Dateipfade für alle Dokumentoperationen
  • Weglassen des occurrence-Parameters, wenn derselbe Text mehrfach im Dokument erscheint
  • Aufruf von Session-Methoden nach Aufruf von session.close()
  • Bereitstellung von fehlerhaftem JSON in Patch-Items oder Datenfeldern
  • Erwarten, dass sich Absatz-Ausrichtung nur auf übereinstimmenden Text statt auf den gesamten Absatz anwendet

Häufig gestellte Fragen

Warum erfordert diese Fähigkeit die Installation von LibreOffice?
Diese Fähigkeit verwendet die UNO-API (Universal Network Objects) von LibreOffice zur Interaktion mit Writer-Dokumenten. UNO ist Libreville Offices native Automatisierungsschnittstelle und erfordert eine lokale LibreOffice-Installation mit Python UNO-Bindings.
In welche Dateiformate kann ich exportieren?
Die Fähigkeit unterstützt standardmäßig den Export nach PDF und DOCX. Zusätzliche Formate können abhängig von Ihrer LibreOffice-Installation und Filterverfügbarkeit verfügbar sein.
Wie behebe ich 'ModuleNotFoundError: No module named uno'?
Fügen Sie den Python-Pfad Ihrer LibreOffice-Installation zu PYTHONPATH hinzu. Unter Linux ist dies typischerweise /usr/lib/python3/dist-packages. Setzen Sie PYTHONPATH so, dass sowohl das Fähigkeiten-Skriptverzeichnis als auch die LibreOffice Python-Module enthalten sind.
Was ist der Unterschied zwischen atomic und best_effort Patch-Modi?
Atomic-Modus stoppt beim ersten Fehler, setzt die Session zurück und persistiert nichts. Best_effort-Modus fährt durch alle Operationen fort und zeichnet auf, welche erfolgreich waren, wobei erfolgreiche Änderungen persistiert werden, auch wenn manche Operationen fehlschlagen.
Kann ich Dokumente bearbeiten, die aktuell in LibreOffice geöffnet sind?
Nein. Dokumente sollten vor der Bearbeitung via UNO geschlossen werden. Der Versuch, ein Dokument zu öffnen, das bereits von einer anderen LibreOffice-Instanz gesperrt ist, schlägt fehl oder verursacht Konflikte.
Wie ziele ich auf spezifischen Text, wenn dieselbe Phrase mehrfach erscheint?
Verwenden Sie das occurrence-Feld, um anzugeben, welche Übereinstimmung gezielt werden soll (0-basiert indexiert), oder fügen Sie after und before-Begrenzungen hinzu, um das Suchfenster auf einen bestimmten Dokumentabschnitt einzugrenzen.