MR
Mayur Rathi
@mayurrathi
⭐ 40.7k GitHub stars

Impress

Impress is an productivity AI skill with a core value of Presentation creation, format conversion (ODP/PPTX/PDF), slide automation with LibreOffice Impress. It helps developers solve real-world problems in the productivity domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

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

Last verified on: 2026-07-08

Quick Facts

Category productivity
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 40.7k
Last Verified 2026-07-08
Risk Level Low
mkdir -p ./skills/impress && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/impress/SKILL.md -o ./skills/impress/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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-automa

🎯 Best For

  • Claude users
  • Knowledge workers
  • Remote teams
  • Professionals

💡 Use Cases

  • Using Impress in daily workflow
  • Automating repetitive productivity tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Impress to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

How do I install Impress?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/impress/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills