Skill: ivangdavila/powerpoint (version 1.0.0)

--- name: PowerPoint slug: powerpoint version: 1.0.0 homepage: https://clawic.com/skills/powerpoint description: Control PowerPoint app sessions, slides, notes, export, and presentation state with osascript workflows. changelog: Initial release with live PowerPoint automation patterns for sessions, slides, export, slideshow state, and recovery. metadata: {"clawdbot":{"emoji":"📽️","requires":{"bins":["osascript"]},"os":["darwin"],"configPaths":["~/powerpoint/"]}} --- ## When to Use User needs Microsoft PowerPoint controlled as a live application, not treated as a `.pptx` file format. Agent handles app attach, active presentation state, slide operations, notes, export, slideshow control, and clean shutdown through the official `osascript` CLI. If the main artifact is offline PPTX generation or structural file editing, use `powerpoint-pptx` instead. ## Architecture Memory lives in `~/powerpoint/`. If `~/powerpoint/` does not exist, run `setup.md`. See `memory-template.md` for structure. ```text ~/powerpoint/ ├── memory.md # Environment facts, safe defaults, and last working control path ├── incidents.md # Reusable failures and proven recovery steps └── deck-notes.md # Non-sensitive notes about trusted decks, layouts, and export targets ``` ## Quick Reference Load only the smallest file that matches the current PowerPoint task and risk level. | Topic | File | |-------|------| | Setup guide | `setup.md` | | Memory template | `memory-template.md` | | Interface selection | `execution-matrix.md` | | Live control patterns | `live-control-patterns.md` | | Destructive action guardrails | `safety-checklist.md` | | Debug and recovery | `troubleshooting.md` | ## Requirements - Microsoft PowerPoint installed locally. - macOS with `osascript` available. - Explicit confirmation before destructive presentation actions. ## Core Rules ### 1. Choose the app-control path by presentation state - Use `osascript` for live PowerPoint control through the app's scripting dictionary. - Keep automation inside the live PowerPoint session instead of falling back to file-only PPTX tooling. - Do not switch to offline presentation libraries when the requested job depends on the current live app state. ### 2. Identify the exact presentation, slide, and window before acting - Confirm whether the target is the active presentation, a named open deck, or a path to open now. - Read the current slide index, view mode, and slideshow state before mutating content or exporting. - Never assume the frontmost deck is the intended one. ### 3. Read before write, then verify the final state - Pre-read presentation name, active slide, notes state, or export target before mutation. - After edits, slide actions, exports, or slideshow commands, re-read the affected state and report the result. - If PowerPoint does not reach the requested state, stop and diagnose instead of stacking actions. ### 4. Treat slide-order and layout actions as high-risk - Moving, duplicating, deleting, or reordering slides can break references, animations, and presenter flow. - When possible, target explicit slide numbers or slide IDs instead of relying on current selection alone. - If slide identity is ambiguous, clarify first. ### 5. Separate reversible view actions from destructive deck cleanup - Changing view mode, starting a slideshow, and exporting are usually reversible. - Delete slide, overwrite save targets, replace notes in bulk, close without save, and deck-wide cleanup require explicit confirmation. - Preserve slide show setup, notes, and speaker flow unless the user explicitly asks to change them. ### 6. Keep provenance explicit - State whether the target deck was already open or opened just for this task. - Report what presentation was changed, which slide was active, and where exports were written. - Preserve user-owned open decks that were outside the task scope. ### 7. Recover cleanly and avoid orphaned app sessions - If you opened PowerPoint just for this task, keep ownership clear and close only what you created. - If you attached to an existing session, do not close unrelated decks or quit PowerPoint without explicit approval. - On failure, record the exact blocker: missing slide, modal dialog, protected file, unsupported layout, or slideshow state mismatch. ## PowerPoint Traps - Treating a live deck like a static `.pptx` file -> notes, presenter state, animations, and export context drift apart. - Reordering or deleting slides without verifying the active deck -> wrong presentation is altered. - Editing by current selection only -> action lands on the wrong slide or shape. - Exporting before notes, slide numbers, or final view state are verified -> stale output delivered as final. - Closing an attached user session after automation -> unrelated presentation work is interrupted. - Ignoring slideshow state -> commands fail or affect edit view instead of presenter view. ## Security & Privacy **Data that stays local:** - Presentation paths, environment notes, and reusable fixes in `~/powerpoint/`. - Presentation contents accessed through local PowerPoint automation. **Data that may leave your machine:** - Nothing by default from this skill itself. - A presentation's own linked media, cloud-backed autosave, or add-ins may contact external systems. **This skill does NOT:** - Use cloud slide APIs or OAuth flows. - Disable presentation warnings silently. - Delete slides or apply destructive deck-wide changes without explicit confirmation. - Bypass PowerPoint protection prompts. ## Related Skills Install with `clawhub install <slug>` if user confirms: - `office` — Broader Office task routing across documents, spreadsheets, and presentations. - `applescript` — macOS app automation patterns when PowerPoint dictionary work needs deeper script design. - `documents` — General document workflow patterns that often feed deck preparation and export tasks. ## Feedback - If useful: `clawhub star powerpoint` - Stay updated: `clawhub sync`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)