Summary
Add a tool to create PowerPoint presentations (.pptx) from structured content — slides, layouts, formatting, and media.
Motivation
The existing PPTX tool (src/tools/fileExtract/pptx.js) is read-only — it extracts content from existing presentations. Marketing teams live in slide decks: creating pitch decks, status reports, training materials, and client presentations. Currently the agent can only read PPTX files, not create them. Users must fall back to shell commands (python-pptx, libreoffice) or manual creation, which is fragile and loses formatting fidelity.
Proposed Solution
Create a presentation creation tool that accepts structured content and generates .pptx files:
- Slide creation: Add slides with titles, bullet points, images, charts
- Layout support: Title slide, content slide, two-column, comparison, quote, image-only layouts
- Formatting: Font styles, colors, alignment, spacing
- Media: Embed images, charts, tables
- Template support: Apply existing PPTX templates or create from scratch
- Output: Save as .pptx file path
Each tool should follow the existing tool pattern in src/tools/ — a zod schema, an impl function, and registration in index.js with filesystem:write permission.
Alternatives Considered
- Shell-based tools (python-pptx, libreoffice): fragile, requires user-installed dependencies, no structured input.
- Read-only PPTX extraction: insufficient for creation workflows.
- Web-based presentation service: adds infrastructure complexity for a local-first tool.
OpenSpec Note
This project uses OpenSpec for feature development. If this request is approved, I will:
- Run /opsx:propose to generate a full proposal with specs and tasks
- Iterate on the design before any code is written
- Follow the task-driven implementation workflow
Additional Context
This should integrate with the document creation gap (#778) and text processing gap (#784) — e.g., generating marketing copy and then creating a slide deck from it. The existing pptx.js read tool (src/tools/fileExtract/pptx.js) would serve as the input layer for reading existing presentations as templates.
Summary
Add a tool to create PowerPoint presentations (.pptx) from structured content — slides, layouts, formatting, and media.
Motivation
The existing PPTX tool (src/tools/fileExtract/pptx.js) is read-only — it extracts content from existing presentations. Marketing teams live in slide decks: creating pitch decks, status reports, training materials, and client presentations. Currently the agent can only read PPTX files, not create them. Users must fall back to shell commands (python-pptx, libreoffice) or manual creation, which is fragile and loses formatting fidelity.
Proposed Solution
Create a presentation creation tool that accepts structured content and generates .pptx files:
Each tool should follow the existing tool pattern in src/tools/ — a zod schema, an impl function, and registration in index.js with filesystem:write permission.
Alternatives Considered
OpenSpec Note
This project uses OpenSpec for feature development. If this request is approved, I will:
Additional Context
This should integrate with the document creation gap (#778) and text processing gap (#784) — e.g., generating marketing copy and then creating a slide deck from it. The existing pptx.js read tool (src/tools/fileExtract/pptx.js) would serve as the input layer for reading existing presentations as templates.