| 1 | # Getting Started |
| 2 | |
| 3 | [English](./getting-started.md) | [Chinese](./zh/getting-started.md) |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | The short path to your first deck, how to use everything around it — templates, live preview, animations, narration, voice cloning — and where to look when something goes wrong. Sections follow roughly the order you meet them in a real run. Each is the quick version; follow the **Full guide →** link for depth. |
| 8 | |
| 9 | - [Start from a template](#start-from-a-template) |
| 10 | - [Generate your first deck](#generate-your-first-deck) |
| 11 | - [Live preview & visual edits](#live-preview--visual-edits) |
| 12 | - [Animations & transitions](#animations--transitions) |
| 13 | - [Narration & video](#narration--video) |
| 14 | - [Use a cloned voice](#use-a-cloned-voice) |
| 15 | - [When something goes wrong](#when-something-goes-wrong) |
| 16 | |
| 17 | --- |
| 18 | |
| 19 | ## Start from a template |
| 20 | |
| 21 | **Optional.** By default PPT Master uses **free design** — you don't need a template, and you can skip to the next section. Reach for one when a deck must reuse a brand identity, a communication/design method, a fixed layout set, or a recurring deck application. |
| 22 | |
| 23 | **Two ways to reuse an existing `.pptx`, depending on what you want back:** |
| 24 | |
| 25 | | You want… | Route | What happens | |
| 26 | |---|---|---| |
| 27 | | **Use this deck's native slide shells with new content** | Fill Native PPTX | Clones the selected source slides and patches text / table / chart data directly in OOXML. The source design remains native; output is a new filled deck bound to the available slide shells. | |
| 28 | | **Build a reusable design system, then generate a new deck** | Create Template → Generate PPTX | Creates a validated Brand, Style, Layout, or Deck workspace from the reference, then authors a fresh deck. The new story, structure, and page count can differ from the source. | |
| 29 | |
| 30 | For the first, give the AI your `.pptx` plus your material (or a topic) and ask it to "fill this deck with the new content" — see the [template-fill workflow](../skills/ppt-master/workflows/template-fill-pptx.md). The rest of this section covers create-template. |
| 31 | |
| 32 | **To build a reusable workspace from an existing PowerPoint, explicitly request the Create Template route.** A raw `.pptx` plus new material otherwise belongs to Fill Native PPTX; it is not a Generate template workspace. Create the workspace first: |
| 33 | |
| 34 | ``` |
| 35 | You: Create a reusable Deck template from projects/brand/our_deck.pptx via /create-template |
| 36 | ``` |
| 37 | |
| 38 | Create Template analyzes the reference, confirms whether the result is a Brand, Style, Layout, or Deck, and then authors or materializes a new validated workspace. The importer supplies source evidence; the final workspace owns `templates/design_spec.md` plus any prototypes and assets required by its kind. Brand and Style are roster-free; Layout and Deck own structured SVG prototypes. If you want a PowerPoint review file for Layout or Deck, run the optional preview export; it creates `exports/<id>_template_preview.pptx` on demand. The workspace root is what you point to at generation time. |
| 39 | |
| 40 | During the create-template brief, choose `library` (the existing default) or `project`. Both require `templates/` and use optional `images/`, `icons/`, and on-demand `exports/`; empty optional directories are omitted. Project scope requires an initialized target project; library scope alone adds global registration. |
| 41 | |
| 42 | A created template lives in one of two places: |
| 43 | |
| 44 | | Location | Path | Notes | |
| 45 | |---|---|---| |
| 46 | | **Registered in the skill library** | `skills/ppt-master/templates/<kind>/<id>/` | Portable workspace plus global registration, so it appears when you ask "what templates are available?" | |
| 47 | | **Under projects** | `projects/<name>/` | The same portable workspace without global registration | |
| 48 | |
| 49 | Default Generate shows the template choice inside Stage 1, beside the communication contract. The initial communication recommendation is written without reading any template. Ordinary requests start with free design; explicit template intent or any exact root starts in template mode, and the user can always switch. To offer another result, supply its exact **workspace-root path** in chat: an unregistered root appears in the specified-root dropdown, while an exact registered match resolves back to its kind dropdown. Exactly one supplied root may be preselected; multiple supplied roots remain unselected candidates. One confirmation closes communication and template choice together. Only then are selected workspaces validated and installed; template-aware planning begins in final Stage 2. A bare template name never resolves to a workspace. The complete workspace can be copied or migrated between the library and `projects/` without restructuring it; only library registration changes. |
| 50 | |
| 51 | ``` |
| 52 | You: Make a deck from sources/report.pdf with template skills/ppt-master/templates/layouts/presentation_core/ |
| 53 | ``` |
| 54 | |
| 55 | Full guide → [Templates Guide](./templates-guide.md) |
| 56 | |
| 57 | --- |
| 58 | |
| 59 | ## Generate your first deck |
| 60 | |
| 61 | The whole loop is three steps. Install first — you only need Python; see [Quick Start](../README.md#quick-start). |
| 62 | |
| 63 | 1. **Drop your source material** into `projects/` — a PDF, DOCX, Markdown file, a URL, or just text you'll paste. |
| 64 | 2. **Tell the AI in chat** what to turn into a deck. Stage 1 then lets you confirm the communication contract together with free design or template use; add one exact workspace root when you want template mode and that path preselected: |
| 65 | ``` |
| 66 | You: Make a deck from projects/q3-report/sources/report.pdf |
| 67 | You: Turn this text into a deck: <paste your text> |
| 68 | ``` |
| 69 | 3. **Get an editable `.pptx`** at `exports/<name>_<timestamp>.pptx` — real DrawingML shapes, text boxes, and charts you can click and edit in PowerPoint, Keynote, WPS, or LibreOffice. |
| 70 | |
| 71 | Before generation, Stage 1 confirms the communication contract, canvas/format, and free-design/template choice together. The AI then installs any selected workspace; final Stage 2 reads that installed state and confirms page count, the visual system, template application, and production choices. From there it handles content analysis, layout, image acquisition, SVG generation, and export — the core loop everything else builds on. To skip interactive confirmation, see [Quick mode](#quick-mode) below. |
| 72 | |
| 73 | --- |
| 74 | |
| 75 | ## Quick mode |
| 76 | |
| 77 | The default flow runs its combined Stage-1 communication/template choice followed by final Stage 2. To skip that interaction, explicitly ask for **quick generation**: |
| 78 | |
| 79 | ``` |
| 80 | You: Quickly generate a deck from sources/report.pdf — no need to confirm with me |
| 81 | You: Turn this into a deck, skip the confirmation, about 8 pages, dark corporate look |
| 82 | ``` |
| 83 | |
| 84 | **Whatever you state explicitly is followed; whatever you leave unspecified the agent decides directly, without coming back to ask.** The page count and the look in the second example still hold — quick mode drops the round trip, not your say. State nothing, and the agent decides everything. |
| 85 | |
| 86 | Quick mode never opens the Confirm UI template selector. Give it up to one exact |
| 87 | Brand / Style / Layout / Deck workspace root per kind and it validates, |
| 88 | installs, and uses them directly; give it no exact root and it uses free design. |
| 89 | A bare template name or style phrase is still only a design brief. Quick keeps |
| 90 | its lockless flat export, so Layout / Deck prototypes guide the authored pages |
| 91 | but do not compile into reusable native Master / Layout objects. |
| 92 | |
| 93 | It does not skip capabilities: source conversion, research on identified factual gaps, shared aesthetic guidance, and image / icon / native-shape / chart / table / formula preparation and authoring still run as needed. If a required asset is missing, it still stops and asks you for it instead of substituting unrelated material. |
| 94 | |
| 95 | Quick is a one-pass profile, not a shortened resumable workflow. It creates no Strategist record, `design_spec.md`, `spec_lock.md`, or substitute page plan; its content/design/resource decisions exist only in the active AI context. If that context is lost before delivery, start Quick again. Operational manifests, quality reports, postflight, and the cold Python audit log may remain, but they cannot reconstruct why the AI designed the deck that way. The profile reduces interaction and durable planning, not the available presentation toolbox or the intended quality bar. |
| 96 | |
| 97 | Full guide → [quick-generate profile](../skills/ppt-master/workflows/profiles/quick-generate.md) |
| 98 | |
| 99 | --- |
| 100 | |
| 101 | ## Live preview & visual edits |
| 102 | |
| 103 | A browser preview opens at the URL reported by the launcher while the deck is being generated. It prefers `http://localhost:5050` and uses the next free port when `5050` is occupied. |
| 104 | |
| 105 | - **Watch pages render live** as the AI produces them. |
| 106 | - **Edit directly, no AI** — select an element to change its text, color, font, or size in the side panel; drag it to reposition, or nudge with the arrow keys (`Shift` = 10px). `Ctrl+Z` undoes. Edits preview instantly and write to `svg_output/` when you click **Apply changes**. |
| 107 | - **Or annotate for the AI** — click an element, type what you want changed, hit **Submit annotations**, then say "apply my annotations" in chat and the AI rewrites that region and re-exports the PPTX. |
| 108 | |
| 109 | PPT Master was chat-only by design; visual editing was folded in after enough users asked for it (built on [@WodenJay](https://github.com/WodenJay)'s [PR #85](https://github.com/hugohe3/ppt-master/pull/85)). |
| 110 | |
| 111 | Full guide → [Live Preview Stage](../skills/ppt-master/workflows/stages/live-preview.md) |
| 112 | |
| 113 | --- |
| 114 | |
| 115 | ## Animations & transitions |
| 116 | |
| 117 | Exported decks carry page transitions and optional per-element object animations |
| 118 | as real OOXML—not embedded video. The default is a `fade` page transition with |
| 119 | **no element animation**; opt in with `-a auto`, one of the 203 native |
| 120 | `entrance_*` / `emphasis_*` / `path_*` / `exit_*` presets, or an |
| 121 | `animations.json` sidecar. The 29 former short names remain accepted only as |
| 122 | compatibility inputs; new animation choices use canonical prefixed names. |
| 123 | |
| 124 | Animation settings are strict: unknown effects or Start modes, invalid timing values, and missing sidecar targets fail instead of silently becoming another effect. Before the result replaces an existing output, PPT Master reads the candidate package back and checks timing placement, IDs, shape targets, effects, durations, and Start modes. Microsoft PowerPoint is the primary motion-validation target; other presentation apps can open the PPTX but may map individual animation effects differently. |
| 125 | |
| 126 | Full guide → [Animations & Transitions](./animations.md) |
| 127 | |
| 128 | --- |
| 129 | |
| 130 | ## Narration & video |
| 131 | |
| 132 | Turn the speaker notes into per-slide voice narration, embed the audio back into the PPTX, and let PowerPoint export the deck as a synced-narration MP4 — no third-party tools. |
| 133 | |
| 134 | ``` |
| 135 | You: Generate narration for this deck and re-export with audio embedded. |
| 136 | You: Generate narration audio for this deck |
| 137 | ``` |
| 138 | |
| 139 | Narration defaults to `edge-tts` (about 90 locales); optional cloud providers cover higher-quality voices. The AI recommends a voice for the deck's language and asks once before generating. |
| 140 | |
| 141 | Full guide → [Audio Narration & Video Export](./audio-narration.md) |
| 142 | |
| 143 | --- |
| 144 | |
| 145 | ## Use a cloned voice |
| 146 | |
| 147 | Bring your own cloned voice from ElevenLabs / MiniMax / Qwen / CosyVoice and have the whole deck narrated in *your* voice (or a presenter's, with permission). Clone once in the provider's console, then pass the `voice_id` — PPT Master reads every slide's notes in that voice and embeds the result back into the PPTX. |
| 148 | |
| 149 | Full guide → [Use a cloned voice](./audio-narration.md#use-a-cloned-voice) |
| 150 | |
| 151 | --- |
| 152 | |
| 153 | ## When something goes wrong |
| 154 | |
| 155 | The [FAQ](./faq.md) is the living troubleshooting reference — continuously updated from real user reports. Quick pointers for the most common situations: |
| 156 | |
| 157 | | Situation | First thing to try | |
| 158 | |---|---| |
| 159 | | The AI drifts or forgets a step | Ask it to re-read `skills/ppt-master/SKILL.md`, `skills/ppt-master/workflows/routing.md`, and the selected route authority. | |
| 160 | | Visual quality disappoints | Switch to a large-context Claude model + `gpt-image-2` — the harness sets the floor, the model sets the ceiling. | |
| 161 | | Text overflows or elements overlap | Re-run that page, or fix it in live preview; see the [FAQ](./faq.md). | |
| 162 | | No image-generation API key | Zero-config web search still works as a fallback; see the [FAQ](./faq.md). | |
| 163 | | Animations or some effects look off in another app | Microsoft PowerPoint is the primary motion-validation target. Keynote / WPS / LibreOffice can open the `.pptx`, but may remap or omit individual effects or Start semantics; validate motion-critical delivery in PowerPoint. | |
| 164 | | A long deck might blow the context window | Generation can run in split mode; details in the [FAQ](./faq.md). | |
| 165 | |
| 166 | For model choice, cost, chart editability, custom templates, and more, the [FAQ](./faq.md) is the place to look. |
| 167 |