
powerpoint-presentations
Create, inspect, edit, and validate professional PowerPoint presentations (.pptx), including uploaded source decks and templates, with design-system extraction, OOXML-preserving edits, structural linting, and rendered visual QA.
- Installs
- 68
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill powerpoint-presentations- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads powerpoint-presentations automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
PowerPoint Presentations
Use a staged workflow: classify → inspect → plan → execute → validate → render → iterate. Do not skip source verification or QA.
1. Classify the Request
Choose exactly one path:
| Path | Use when | Primary tools |
|---|---|---|
| Edit source | Modify an uploaded or existing deck | inspect_presentation, begin_presentation_edit, edit tools |
| Build from template | Create content in an uploaded branded deck | begin_presentation_edit, duplicate_slide, update_slide_content |
| Create new | No source/template must be preserved | create_presentation |
| Analyze | Review content, design, or structure without editing | inspect_presentation, preview tools |
Never use create_presentation for an edit or template request. It creates a new
package and cannot preserve the source master, layouts, relationships, notes, or
embedded assets.
2. Verify and Inspect the Source
For edit and template paths:
- Call
list_my_powerpoint_presentations. - Confirm the exact source filename exists.
- Call
inspect_presentationwithpersist_spec=true. - Call
preview_presentation_montagefor a deck-level visual pass. - Call
analyze_presentationonly for slides that require detailed element IDs.
If the source cannot be loaded, stop and report the missing file. Do not recreate the deck from a description, silently switch to a new-deck workflow, or delegate the task to an environment where the source file has not been verified.
Treat the persisted deck spec as the design-system record across turns. After
inspection, call begin_presentation_edit once and retain its edit_id.
Re-run inspect_presentation with that edit_id after structural changes; do
not rely on conversation memory for fonts, colors, layouts, or slide structure.
3. Plan Before Editing
Define:
- Audience and decision or outcome
- Narrative arc and one message per slide
- Functional slide type for each slide
- Content-density budget
- Source slides/layouts to preserve or duplicate
- Slides that require new visuals or data
For substantive creation, write a compact slide plan before generating code or mutating the package. Read workflow-guide.md for the planning schema and route-specific procedure.
4. Establish the Design System
For source/template work, derive tokens from deck_spec: slide size, theme colors,
theme fonts, explicit fonts, layout names, and repeated visual motifs. Preserve
those tokens unless the user explicitly requests a redesign.
For a new deck, define one compact design system before creating slides. Read design-guide.md. Use pptxgenjs.md only for new-deck implementation details.
5. Execute Conservatively
Edit an Existing Deck
- Call
begin_presentation_editonce and retain itsedit_id. - Analyze target slides.
- Build one complete operation batch.
- Call
update_slide_contentwith the sameedit_id. - Use
findandreplaceforreplace_text.
Unknown actions, empty find strings, duplicate slide batches, and unmatched text are errors. Correct the operation rather than substituting another workflow. Read editing-guide.md before editing.
Build from a Template
Prefer duplicating a representative source slide for each functional slide type. This best preserves placeholder geometry, visual chrome, and relationships.
- Inspect the template and identify representative slides.
- Duplicate the closest representative slide.
- Replace its text/images in one batch.
- Reorder slides.
- Delete unused example slides only after the working deck is complete.
Use add_slide only when a suitable layout exists and a blank layout-based slide
is genuinely required. Never delete all examples before identifying which slide
types and layouts must be preserved.
Create a New Deck
Use create_presentation with PptxGenJS. Define shared constants and helper
functions in each slide snippet as needed; option objects must not be reused
across calls because PptxGenJS mutates them.
6. Validate and Render
After every mutation:
- Call
validate_presentationwithpresentation_name=edit_id. - Fix structural errors before any further work.
- Review warnings for bounds, overlap, overflow risk, placeholders, and fonts.
- Call
preview_presentation_montagefor the full-deck pass. - Call
preview_presentation_slidesonly for affected slides at higher detail. - Fix issues and repeat validation plus targeted rendering.
- Call
finalize_presentation_editonce with the desired output name. For an app-generated presentation, keep the original filename unless the user requests a separate deliverable: finalization updates the existing result and preserves the previous bytes. Uploaded source files remain immutable and require a different output name.
LibreOffice rendering is an approximation of Microsoft PowerPoint. Missing fonts or complex Office features require final inspection in PowerPoint when available. Read qa-guide.md for the acceptance criteria.
Do not declare success until:
- The package has zero structural errors.
- No unresolved placeholder or out-of-bounds warnings remain.
- Every changed slide has been rendered after its final edit.
- A final montage shows coherent content, design, and narrative flow.
Non-Negotiable Rules
- Preserve the uploaded source; edit only the hidden draft returned by
begin_presentation_edit. - Reuse one
edit_idfor the complete job. Never createv2,v3, or similar intermediate presentation files. - Publish only once with
finalize_presentation_edit. - Batch related edits; conditional draft writes reject stale concurrent updates.
- Use 0-based slide indices for edit tools and 1-based numbers for preview tools.
- Use letters, numbers, and hyphens in presentation names.
- Do not use a generated approximation when the request requires source fidelity.
- Do not treat successful tool execution as proof of visual correctness.
FAQ
What does the powerpoint-presentations skill do?
Create, inspect, edit, and validate professional PowerPoint presentations (.pptx), including uploaded source decks and templates, with design-system extraction, OOXML-preserving edits, structural linting, and rendered visual QA.
How do I install powerpoint-presentations?
Run npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill powerpoint-presentations in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/powerpoint-presentations/ (personal) or .claude/skills/powerpoint-presentations/ (project).
Which AI agents can use powerpoint-presentations?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is powerpoint-presentations safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains powerpoint-presentations?
It is published by aws-samples in aws-samples/sample-strands-agent-with-agentcore. It has 68 recorded installs.
More from aws-samples/sample-strands-agent-with-agentcore
financial-news
aws-samples/sample-strands-agent-with-agentcore
Open the skill to read its SKILL.md instructions.
code-interpreter
aws-samples/sample-strands-agent-with-agentcore
Test and prototype code in a sandboxed environment. Use for debugging, verifying logic, or installing packages.
word-documents
aws-samples/sample-strands-agent-with-agentcore
Create, modify, and manage Word documents.
google-maps
aws-samples/sample-strands-agent-with-agentcore
Place search, directions, geocoding, and interactive maps
wikipedia-search
aws-samples/sample-strands-agent-with-agentcore
Open the skill to read its SKILL.md instructions.
arxiv-search
aws-samples/sample-strands-agent-with-agentcore
Open the skill to read its SKILL.md instructions.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.