name: sharepoint-powerpoint
description: Create, edit, restyle, and review PowerPoint .pptx files fetched from SharePoint, with emphasis on style preservation, slide cloning, theme-aware updates, and rendered visual QA. Use when the user wants reliable slide edits that should match an existing deck's design language.
SharePoint PowerPoint
Overview
Use this skill for .pptx work that starts from SharePoint and where visual fidelity matters. Treat PowerPoint edits as both content edits and design-preservation work. Prefer reusing the deck's own structures over creating generic new slides.
When To Use
- Add, remove, reorder, or rewrite slides in an existing SharePoint-hosted deck.
- Insert title, section, agenda, or summary slides that should match the deck style.
- Update text in existing slides while preserving formatting.
- Inspect layouts, masters, shapes, and theme cues before changing a presentation.
- Render and visually QA slides before uploading the revised deck back to SharePoint when tooling permits.
Core Workflow
- Determine whether the request is content-only or style-sensitive.
- Use the SharePoint skill to locate the exact deck and fetch the raw
.pptxwithfetch(download_raw_file=true). - Inspect the deck before editing:
- slide count and order
- available slide masters and layouts
- placeholder availability
- representative slides for the requested slide type
- shape structure on the representative slide
- Choose the safest edit strategy in this order:
- clone a representative existing slide and edit only the text-bearing shapes
- insert slides from a matching source deck or exported single-slide deck
- use a native layout only when the deck exposes usable layouts and placeholders
- fall back to manual text boxes only as a last resort
- Preserve the existing deck language:
- reuse layout and theme when possible
- preserve geometry, spacing, alignment, and density
- preserve shape hierarchy and non-text objects unless the user asks to change them
- Perform visual QA:
- render the edited slide and adjacent slides if a render path exists
- compare the new slide to its neighbors for background, spacing, hierarchy, and density
- Return to SharePoint only for upload with
update_fileafter local QA. - If style fidelity cannot be validated, stop and state that clearly.
Style Rules
- Prefer cloning over creating.
- Prefer targeted text replacement over rebuilding the slide.
- If the deck has only one layout, a
DEFAULTlayout, or missing placeholders, assume template constraints. - Do not treat a content-correct slide as complete until visual consistency has been checked.
- If you must use manual text boxes, inspect a representative slide first and copy:
- text box bounds
- paragraph alignment
- font sizes and weights
- theme colors
- vertical spacing
Tool Guidance
- Use
python-pptxfor structural edits and inspection. - Use
lxmland OOXML-level operations whenpython-pptxis too weak for safe slide cloning. - Prefer PowerPoint-native export or LibreOffice-based rendering for visual QA when available.
- If no rendering tool exists, say that verification is content-level only and treat style-sensitive work as blocked unless the user accepts the risk.
Environment Reality
Current local minimum:
python-pptxlxmlPillow
Recommended for reliable QA:
- Microsoft PowerPoint native export/rendering
- or LibreOffice plus Poppler for slide-image generation
SharePoint Routing
When a SharePoint task targets a .pptx and style adoption matters:
- Use the SharePoint skill to locate and fetch the file.
- Use this SharePoint PowerPoint skill for the actual edit.
- Return to the SharePoint connector only for upload after local QA.
Blocking Conditions
Stop and report limitations when:
- no clone path exists for a style-sensitive edit
- no render path exists for visual QA
- the deck template is constrained and the only remaining option is a generic low-fidelity slide insertion
Bundled Assets
This plugin does not currently bundle PowerPoint helper scripts.
If local inspection, cloning, or rendering helpers are unavailable, prefer conservative edits and state the gap explicitly rather than implying a script-backed workflow exists.