slides-edit
Slides Edit
You are a slide editor. Your job is to make precise, targeted changes to existing decks without breaking what already works.
Modify an existing deck — text changes, layout transforms, and structural edits.
When to Use
- Fix typos or update text in an existing deck
- Apply archetype transforms to restyle slides
- Add/remove/move slides via ops patches
- Any targeted modification that doesn't require a full rebuild
Prerequisites
- An existing
output.pptxin a project directory - Optionally:
slides.json(for context) anddesign-profile.json(for QA)
Step 0) Find the project directory
Ask the user which project to edit, or discover it:
find . -name "design-profile.json" -maxdepth 3
All subsequent commands run from within the project directory.
Process
Step 1) Locate targets
Inspect the deck to find slide/shape UIDs:
uvx --from agent-slides slides inspect output.pptx \
--fields slides.slide_uid,slides.shapes.shape_uid,slides.title \
--out ids.json --compact
Search for specific text:
uvx --from agent-slides slides find output.pptx --query "<search text>" --limit 10 \
--out find.json --compact
Pagination for large decks:
uvx --from agent-slides slides inspect output.pptx --page-size 5 --page-token 0 --compact
Other inspection:
uvx --from agent-slides slides inspect output.pptx --placeholders 0 --compact # placeholders on slide 0
uvx --from agent-slides slides inspect output.pptx --summary --compact # deck summary
Step 2) Pre-edit assessment
Before making changes, briefly note:
- What works well in the current deck (preserve these strengths)
- Scope of change — which slides are affected and which are untouched
- Risk — could this edit break layout, contrast, or narrative flow?
This prevents over-editing and protects existing quality.
Step 3) Apply changes
Text edits (find-and-replace scoped by UID):
uvx --from agent-slides slides edit output.pptx --query "old text" \
--replacement "new text" --slide-uid "<slide_uid>" \
--shape-uid "<shape_uid>" --output output.pptx --compact
Alternative selectors: --slide <index>, --slide-id <slide-N>, --shape-id <shape_id>.
Archetype transforms (restyle a slide):
uvx --from agent-slides slides transform output.pptx --slide-uid "<slide_uid>" \
--to timeline --output output.pptx --compact
Ops-based patches (apply additional operations):
uvx --from agent-slides slides apply output.pptx --ops-json @patch_ops.json --output output.pptx --compact
Write patch_ops.json as:
{
"operations": [
{"op": "replace_text", "slide_index": 3, "old": "Draft", "new": "Final"},
{"op": "add_text", "slide_index": 5, "text": "New insight", "left": 1.0, "top": 5.0, "width": 4.0, "height": 0.5, "font_size": 16}
]
}
Step 4) Verify changes
uvx --from agent-slides slides find output.pptx --query "new text" --compact
Step 5) Re-run QA
uvx --from agent-slides slides qa output.pptx --profile design-profile.json \
--slides-json @slides.json --out qa.json --compact
Step 6) Repair (if needed)
uvx --from agent-slides slides repair output.pptx --output output.pptx
Placeholder Rules
- Never use
set_placeholder_textwith guessed indices. Useset_semantic_textwithrole(title,subtitle,body) for standard placeholders. - Only use
set_placeholder_textwith exactidxfrominspectortemplate_layout.json. --queryonly replaces text content, not formatting (font size, color, bold). To change formatting, use ops patches with newadd_textops.
Anti-patterns (what NOT to do)
- Don't use
--queryto fix formatting (font size, color, bold) — it only replaces text content. Use ops patches instead. - Don't guess placeholder indices — use
set_semantic_textwithroleor exactidxfrom inspect - Don't edit without inspecting first — always locate targets with
inspectorfind - Don't overwrite the input file without verifying the edit worked (
findorinspectafter) - Don't restructure narrative or rewrite content (that's
/slides-critiqueor/slides-build)
Error Handling
On any slides error, run uvx --from agent-slides slides docs method:edit to verify the current contract before retrying.
Acceptance Criteria
- Edits are verifiable via
findorinspectsubcommands. qa.jsonreports"ok": true.- No unresolved-token or contract-critical issues.
More from mpuig/agent-slides
slides-critique
Review an existing deck for storytelling quality, visual hierarchy, and content effectiveness. Identifies weak action titles, MECE violations, isomorphism mismatches, and density issues. Use when the user says "review my deck", "critique the presentation", "are the slides telling a good story", "check the narrative flow", "improve the slide titles", or wants feedback on content quality rather than technical formatting.
40slides-build
Build a complete presentation deck from a brief. Generates storytelling plan, slide operations, renders the deck, and runs QA. Requires extracted template contracts from /slides-extract. Use when the user wants to create slides, build a deck, generate a presentation, write a strategy deck, or says things like "make me a 10-slide deck on X", "create a presentation about Y", "build slides for the board meeting".
38slides-polish
Final pass before shipping a deck. Ensures speaker notes, metadata, sources, disclaimer, and consistent formatting are all in place. Use when the user says "polish the deck", "add speaker notes", "finalize the presentation", "make it ready to send", "check sources and footnotes", or the deck is content-complete but needs a finishing pass.
36slides-full
End-to-end deck pipeline — extract, preflight, build, audit, critique, and polish in one pass. Use when the user wants a complete deck from scratch with a template, says "create a full deck", "build me a presentation end to end", "make a polished deck from this template", or provides both a brief and a template and expects a finished, presentation-ready result. Prefer this over chaining individual skills manually.
35slides-audit
Run technical quality checks on an existing deck. Finds and fixes font size violations, shape overlaps, contrast issues, missing sources, and layout compliance problems. Use when the user says "check the deck for issues", "run QA", "lint the slides", "are there any formatting problems", "audit the presentation", or wants to verify visual quality before sharing.
34slides-extract
Extract template contracts from a .pptx file. Produces layout catalogs, archetypes, resolved manifest, and a clean base template for slides-build. Use when the user provides a PowerPoint template, says "use this template", "extract layouts", "analyze this pptx", or wants to prepare a template before building slides.
34