← 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.
aiskillstore/marketplace · ★ 329 · AI & Automation · score 79
Install: claude install-skill aiskillstore/marketplace
# 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, format) # formats: "pdf", "pptx" snapshot_slide(doc_path, slide_index, output_path, width=1280, height=720) # Session (primary editing API) open_impress_session(path) -> ImpressSession 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) 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: ShapePlacement, fill_color=None, line_colo