← ClaudeAtlas

libreoffice-impresslisted

Use 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.
dfk1352/LibreOffice-skills · ★ 6 · AI & Automation · score 78
Install: claude install-skill dfk1352/LibreOffice-skills
# LibreOffice Impress Use the bundled `impress` modules for UNO-backed Impress presentation work. All paths must be **absolute**. Bundled modules live under `scripts/` in this skill directory, so set `PYTHONPATH=<skill_base_dir>/scripts`. If setup or runtime issues appear, check `references/troubleshooting.md`. ## API Surface ```python # Non-session utilities create_presentation(path) get_slide_count(path) export_presentation(path, output_path, export_format) # formats: "pdf", "pptx" snapshot_slide(doc_path, slide_index, output_path, width=1280, height=720) # Session (primary editing API) ImpressSession(path) -> context manager ImpressSession methods: get_slide_count() -> int get_slide_inventory(target: ImpressTarget) -> dict[str, object] add_slide(index=None, layout="BLANK") delete_slide(target: ImpressTarget) move_slide(target: ImpressTarget, to_index) duplicate_slide(target: ImpressTarget) delete_item(target: ImpressTarget) read_text(target: ImpressTarget) -> str insert_text(text, target: ImpressTarget | None = None) replace_text(target: ImpressTarget, new_text) format_text(target: ImpressTarget, formatting: TextFormatting) insert_list(items: list[ListItem], ordered: bool, target: ImpressTarget | None = None) replace_list(target: ImpressTarget, items: list[ListItem], ordered: bool | None = None) insert_text_box(slide: ImpressTarget, text, placement: ShapePlacement, name=None) insert_shape(slide: ImpressTarget, shape_type, placement: Sha