
LibreOffice Document Toolkit
Create, edit, and automate Writer, Calc, and Impress documents through a unified LibreOffice workflow
Install
Run this command to install all skills in this plugin:
npx skillstore add @libreoffice-document-toolkit Skills will be installed to .claude/skills/ directory
Overview
Usage Guide
Enhanced by AIDetailed Guide
# LibreOffice Document Toolkit
Create, edit, and automate Writer, Calc, and Impress documents through a unified LibreOffice workflow.
## Prerequisites
- **LibreOffice** installed (7.x or later recommended)
- LibreOffice must be running in **listening mode** for UNO API access:
```bash
soffice --headless --accept="socket,host=localhost,port=2002;urp;" --norestore
```
- **Python 3** with `uno` module (bundled with LibreOffice on most systems)
- Supported platforms: Linux, macOS, Windows (LibreOffice + UNO available on all three)
### Quick environment check
```bash
# Verify LibreOffice is installed
soffice --version
# Start headless listener (background)
soffice --headless --accept="socket,host=localhost,port=2002;urp;" --norestore &
# Verify UNO connection
python3 -c "import uno; print('UNO available')"
```
If `import uno` fails, ensure your Python path includes LibreOffice site-packages (e.g., `/usr/lib/libreoffice/program/`).
## What This Plugin Does
Three skills for the three core LibreOffice applications:
| Skill | Format | Capabilities |
|-------|--------|-------------|
| **Writer** | .odt | Text insertion, tables, images, metadata, paragraph styling |
| **Calc** | .ods | Cell operations, formulas, formatting, charts, named ranges, data validation |
| **Impress** | .odp | Slides, content placement, tables, charts, media, notes, master pages |
## Complete Example: Weekly Report Pipeline
A team automates their Friday reporting workflow — gather data into a spreadsheet, generate a written summary, and produce a presentation deck.
### Step 1: Calc — Aggregate Weekly Metrics
```
Create a new Calc spreadsheet "weekly-metrics.ods".
Sheet 1 "Revenue": columns Date, Product, Units, Revenue with sample data for Mon-Fri.
Sheet 2 "Summary": use SUMIF formulas to total revenue by product.
Add a bar chart on Sheet 2 visualizing revenue by product.
Format header rows as bold with blue background.
```
### Step 2: Writer — Generate Written Report
```
Create a Writer document "weekly-report.odt".
Title: "Weekly Report — March 10, 2026"
Section 1: Executive Summary (2 paragraphs summarizing metrics from the spreadsheet).
Section 2: Key Highlights (bulleted list of top 3 achievements).
Section 3: Next Week Priorities (numbered list).
Insert a table with the summary totals from the spreadsheet.
Set font to Liberation Serif 12pt, headings 16pt bold.
```
### Step 3: Impress — Build Presentation Deck
```
Create an Impress presentation "weekly-deck.odp".
Slide 1: Title slide — "Weekly Review Q1 W10" with date subtitle.
Slide 2: Metrics Overview — insert a table with revenue by product.
Slide 3: Highlights — bullet points of top achievements.
Slide 4: Next Steps — numbered priorities.
Slide 5: Thank You slide.
Add speaker notes on slides 2-4 with talking points.
```
**Result:** Three coordinated documents (spreadsheet, report, deck) generated from a single workflow — no manual formatting, no copy-paste between apps.
## Error Handling and Failure Recovery
### LibreOffice not running
If the UNO socket connection fails:
```
Error: could not connect to socket on localhost:2002
```
**Fix:** Start the headless listener:
```bash
soffice --headless --accept="socket,host=localhost,port=2002;urp;" --norestore &
```
### UNO module not found
```
ModuleNotFoundError: No module named 'uno'
```
**Fix:** Add LibreOffice Python to your path:
```bash
# Linux
export PYTHONPATH=/usr/lib/libreoffice/program:$PYTHONPATH
# macOS
export PYTHONPATH="/Applications/LibreOffice.app/Contents/Frameworks/:$PYTHONPATH"
```
### Template or file not found
If a template file is referenced but missing, the skill will create a new blank document instead. Ensure template paths are absolute or relative to the working directory.
### Permission errors on save
If the output directory is not writable, the save operation will fail. Verify write permissions before running document generation:
```bash
test -w ./output/ || mkdir -p ./output/
```
### Concurrent access
LibreOffice UNO does not support concurrent connections well. If multiple scripts try to use the same listener simultaneously, operations may fail or produce corrupted output. Use one connection at a time, or start separate headless instances on different ports.Skills
3libreoffice-writer
Low Risk 74Create, edit, format, export, and extract LibreOffice Writer (.odt) documents via UNO automation with session-based editing, structured text targets, tables, images, lists, patch workflows, and snapshots.
libreoffice-calc
Low Risk 73Create, edit, format, export, and extract LibreOffice Calc spreadsheets via UNO API with session-based editing, charts, validation, and patch workflows.
libreoffice-impress
Low Risk 75Use when creating, editing, formatting, or extracting LibreOffice Impress (.odp) presentations via UNO, including session-based slide edits, structured targets, lists, tables, charts, media, notes, master pages, patch workflows, and snapshots.
Similar Plugins

AI Media Production Toolkit
Generate AI images, videos, and audio with 90+ models — complete media production pipeline from text to final assets.
3 skills

Python Development
Build Python scripts, FastAPI services, and test suites with modern tooling — uv, PEP 723, and pytest best practices
3 skills

Docker Container Toolkit
Docker containerization end-to-end — audit Dockerfiles, orchestrate multi-service builds, and deploy to Kubernetes. One toolkit for your container workflow.
3 skills