impress

Presentation creation, format conversion (ODP/PPTX/PDF), slide automation with LibreOffice Impress.

31,392 stars
Complexity: medium

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

$curl -o ~/.claude/skills/impress/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/libreoffice/impress/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/impress/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How impress Compares

Feature / AgentimpressStandard Approach
Platform SupportClaudeLimited / Varies
Context Awareness High Baseline
Installation ComplexitymediumN/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

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-automation

Related Skills

nft-standards

31392
from sickn33/antigravity-awesome-skills

Master ERC-721 and ERC-1155 NFT standards, metadata best practices, and advanced NFT features.

Web3 & BlockchainClaude

nextjs-app-router-patterns

31392
from sickn33/antigravity-awesome-skills

Comprehensive patterns for Next.js 14+ App Router architecture, Server Components, and modern full-stack React development.

Web FrameworksClaude

new-rails-project

31392
from sickn33/antigravity-awesome-skills

Create a new Rails project

Code GenerationClaude

networkx

31392
from sickn33/antigravity-awesome-skills

NetworkX is a Python package for creating, manipulating, and analyzing complex networks and graphs.

Network AnalysisClaude

network-engineer

31392
from sickn33/antigravity-awesome-skills

Expert network engineer specializing in modern cloud networking, security architectures, and performance optimization.

Network EngineeringClaude

nestjs-expert

31392
from sickn33/antigravity-awesome-skills

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.

Frameworks & LibrariesClaude

nerdzao-elite

31392
from sickn33/antigravity-awesome-skills

Senior Elite Software Engineer (15+) and Senior Product Designer. Full workflow with planning, architecture, TDD, clean code, and pixel-perfect UX validation.

Software DevelopmentClaude

nerdzao-elite-gemini-high

31392
from sickn33/antigravity-awesome-skills

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.

Software DevelopmentClaudeGemini

native-data-fetching

31392
from sickn33/antigravity-awesome-skills

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).

API IntegrationClaude

n8n-workflow-patterns

31392
from sickn33/antigravity-awesome-skills

Proven architectural patterns for building n8n workflows.

Workflow AutomationClaude

n8n-validation-expert

31392
from sickn33/antigravity-awesome-skills

Expert guide for interpreting and fixing n8n validation errors.

Workflow AutomationClaude

n8n-node-configuration

31392
from sickn33/antigravity-awesome-skills

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.

Workflow AutomationClaude