impress
Presentation creation, format conversion (ODP/PPTX/PDF), slide automation with LibreOffice Impress.
About this skill
The LibreOffice Impress skill empowers AI agents to seamlessly handle presentation workflows. It allows for the creation of new OpenDocument Presentation (ODP) files from scratch, or the generation of presentations from templates. A core feature is its robust format conversion capabilities, enabling transformations between ODP, Microsoft PowerPoint (PPTX), and PDF formats. Furthermore, the skill supports various automation tasks, including batch processing of presentations and the dynamic generation of slides, making it ideal for streamlining content creation and document management. It's built to leverage the capabilities of LibreOffice Impress for a wide array of document processing needs.
Best use case
Automating the creation of standardized business reports, converting existing presentations for different audiences, batch generating educational materials, or preparing documents for archiving in PDF format. It's particularly useful for agents needing to interact with or produce documents in LibreOffice's native ODP format or common enterprise presentation formats.
Presentation creation, format conversion (ODP/PPTX/PDF), slide automation with LibreOffice Impress.
A new LibreOffice Impress presentation file (.odp) created according to specifications, a successfully converted presentation file (e.g., .pptx, .pdf) from an input, a batch of processed presentation files, or confirmation of successful slide generation/template creation.
Practical example
Example input
{"create_presentation_example": {"skill": "impress", "action": "create_presentation", "parameters": {"title": "Quarterly Sales Report Q3 2024", "slides": [{"type": "title_slide", "title": "Q3 Sales Overview", "subtitle": "Fiscal Year 2024 - Key Achievements"}, {"type": "content_slide", "heading": "Regional Performance", "bullet_points": ["North America: 15% growth, exceeding targets.", "Europe: 8% steady growth, market share expanded.", "Asia-Pacific: 20% rapid expansion, new markets entered."]}, {"type": "image_slide", "heading": "Product Highlights", "image_path": "path/to/product_chart.png", "caption": "Sales distribution by product category."}]}}, "convert_document_example": {"skill": "impress", "action": "convert_document", "parameters": {"input_path": "/user/documents/draft_report.odp", "output_format": "pdf", "output_path": "/user/documents/final_report.pdf"}}}Example output
{"create_presentation_output": {"status": "success", "message": "Presentation 'Quarterly Sales Report Q3 2024.odp' created successfully.", "output_file": "/path/to/generated/Quarterly Sales Report Q3 2024.odp"}, "convert_document_output": {"status": "success", "message": "File '/user/documents/draft_report.odp' converted to PDF successfully.", "output_file": "/user/documents/final_report.pdf"}}When to use this skill
- Creating new presentations in ODP format.
- Converting between ODP, PPTX, and PDF formats.
- Automating slide generation from templates.
- Batch processing presentation operations (e.g., converting multiple files).
When not to use this skill
- When highly collaborative, real-time cloud-based presentation editing (e.g., Google Slides, Microsoft 365 Online) is required.
- For highly specialized graphic design or complex visual layouts that exceed LibreOffice Impress's capabilities or require proprietary design tools.
- If the target environment does not have LibreOffice Impress installed or properly configured.
- When an agent only needs to *read* presentation content without modifying, generating, or converting files.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/impress/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How impress Compares
| Feature / Agent | impress | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | medium | N/A |
Frequently Asked Questions
What does this skill do?
Presentation creation, format conversion (ODP/PPTX/PDF), slide automation with LibreOffice Impress.
Which AI agents support this skill?
This skill is designed for Claude.
How difficult is it to install?
The installation complexity is rated as medium. You can find the installation instructions above.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
SKILL.md Source
# LibreOffice Impress
## Overview
LibreOffice Impress skill for creating, editing, converting, and automating presentation workflows using the native ODP (OpenDocument Presentation) format.
## When to Use This Skill
Use this skill when:
- Creating new presentations in ODP format
- Converting between ODP, PPTX, PDF formats
- Automating slide generation from templates
- Batch processing presentation operations
- Creating presentation templates
## Core Capabilities
### 1. Presentation Creation
- Create new ODP presentations from scratch
- Generate presentations from templates
- Create slide masters and layouts
- Build interactive presentations
### 2. Format Conversion
- ODP to other formats: PPTX, PDF, HTML, SWF
- Other formats to ODP: PPTX, PPT, PDF
- Batch conversion of multiple files
### 3. Slide Automation
- Template-based slide generation
- Batch slide creation from data
- Automated content insertion
- Dynamic chart generation
### 4. Content Manipulation
- Text and image insertion
- Shape and diagram creation
- Animation and transition control
- Speaker notes management
### 5. Integration
- Command-line automation via soffice
- Python scripting with UNO
- Integration with workflow tools
## Workflows
### Creating a New Presentation
#### Method 1: Command-Line
```bash
soffice --impress template.odp
```
#### Method 2: Python with UNO
```python
import uno
def create_presentation():
local_ctx = uno.getComponentContext()
resolver = local_ctx.ServiceManager.createInstanceWithContext(
"com.sun.star.bridge.UnoUrlResolver", local_ctx
)
ctx = resolver.resolve(
"uno:socket,host=localhost,port=8100;urp;StarOffice.ComponentContext"
)
smgr = ctx.ServiceManager
doc = smgr.createInstanceWithContext("com.sun.star.presentation.PresentationDocument", ctx)
slides = doc.getDrawPages()
slide = slides.getByIndex(0)
doc.storeToURL("file:///path/to/presentation.odp", ())
doc.close(True)
```
### Converting Presentations
```bash
# ODP to PPTX
soffice --headless --convert-to pptx presentation.odp
# ODP to PDF
soffice --headless --convert-to pdf presentation.odp
# PPTX to ODP
soffice --headless --convert-to odp presentation.pptx
# Batch convert
for file in *.odp; do
soffice --headless --convert-to pdf "$file"
done
```
### Template-Based Generation
```python
import subprocess
import tempfile
from pathlib import Path
def generate_from_template(template_path, content, output_path):
with tempfile.TemporaryDirectory() as tmpdir:
subprocess.run(['unzip', '-q', template_path, '-d', tmpdir])
content_file = Path(tmpdir) / 'content.xml'
content_xml = content_file.read_text()
for key, value in content.items():
content_xml = content_xml.replace(f'${{{key}}}', str(value))
content_file.write_text(content_xml)
subprocess.run(['zip', '-rq', output_path, '.'], cwd=tmpdir)
return output_path
```
## Format Conversion Reference
### Supported Input Formats
- ODP (native), PPTX, PPT, PDF
### Supported Output Formats
- ODP, PPTX, PDF, HTML, SWF
## Command-Line Reference
```bash
soffice --headless
soffice --headless --convert-to <format> <file>
soffice --impress # Impress
```
## Python Libraries
```bash
pip install ezodf # ODF handling
pip install odfpy # ODF manipulation
```
## Best Practices
1. Use slide masters for consistency
2. Create templates for recurring presentations
3. Embed fonts for PDF distribution
4. Use vector graphics when possible
5. Store ODP source files in version control
6. Test conversions thoroughly
7. Keep file sizes manageable
## Troubleshooting
### Cannot open socket
```bash
killall soffice.bin
soffice --headless --accept="socket,host=localhost,port=8100;urp;"
```
## Resources
- [LibreOffice Impress Guide](https://documentation.libreoffice.org/)
- [UNO API Reference](https://api.libreoffice.org/)
## Related Skills
- writer
- calc
- draw
- base
- pptx-official
- workflow-automationRelated Skills
nft-standards
Master ERC-721 and ERC-1155 NFT standards, metadata best practices, and advanced NFT features.
nextjs-app-router-patterns
Comprehensive patterns for Next.js 14+ App Router architecture, Server Components, and modern full-stack React development.
new-rails-project
Create a new Rails project
networkx
NetworkX is a Python package for creating, manipulating, and analyzing complex networks and graphs.
network-engineer
Expert network engineer specializing in modern cloud networking, security architectures, and performance optimization.
nestjs-expert
You are an expert in Nest.js with deep knowledge of enterprise-grade Node.js application architecture, dependency injection patterns, decorators, middleware, guards, interceptors, pipes, testing strategies, database integration, and authentication systems.
nerdzao-elite
Senior Elite Software Engineer (15+) and Senior Product Designer. Full workflow with planning, architecture, TDD, clean code, and pixel-perfect UX validation.
nerdzao-elite-gemini-high
Modo Elite Coder + UX Pixel-Perfect otimizado especificamente para Gemini 3.1 Pro High. Workflow completo com foco em qualidade máxima e eficiência de tokens.
native-data-fetching
Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (useLoaderData).
n8n-workflow-patterns
Proven architectural patterns for building n8n workflows.
n8n-validation-expert
Expert guide for interpreting and fixing n8n validation errors.
n8n-node-configuration
Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node detail levels, or learning common configuration patterns by node type.