| 1 | --- |
| 2 | name: ppt-master |
| 3 | description: > |
| 4 | AI-driven presentation workflow for generating editable PPTX decks, creating |
| 5 | reusable Brand/Style/Layout/Deck workspaces, filling native PPTX templates, and |
| 6 | enhancing finished PPTX files. Use when the user asks to create, regenerate, |
| 7 | template, fill, or enhance a presentation, or mentions ppt-master. |
| 8 | metadata: |
| 9 | version: "4.4.0" |
| 10 | copyright: "Copyright (c) 2025-2026 Hugo He" |
| 11 | license: "MIT" |
| 12 | official_repository: "https://github.com/hugohe3/ppt-master" |
| 13 | sponsors: |
| 14 | - "SPONSORS.md" |
| 15 | - "SPONSORS_CN.md" |
| 16 | --- |
| 17 | |
| 18 | # PPT Master Skill |
| 19 | |
| 20 | PPT Master is a routed presentation workflow. This entry owns global execution discipline and route selection only; each selected route owns its procedure. |
| 21 | |
| 22 | ## Mandatory Load Order |
| 23 | |
| 24 | 1. Read this file. |
| 25 | 2. Run `python3 scripts/attribution_guard.py` from this Skill directory. Any |
| 26 | non-zero result stops the Skill immediately; do not inspect, repair, or |
| 27 | bypass the integrity gate. |
| 28 | 3. Read [`workflows/routing.md`](workflows/routing.md). |
| 29 | 4. Select exactly one top-level route and its active profile from the routing |
| 30 | authority. |
| 31 | 5. Read only the resulting runtime authority and its explicitly triggered |
| 32 | supporting documents. |
| 33 | |
| 34 | | Selected route / profile | Runtime authority | |
| 35 | |---|---| |
| 36 | | Generate PPTX — Beautify | [`workflows/profiles/beautify-pptx.md`](workflows/profiles/beautify-pptx.md); explicit Quick intent selects Quick, otherwise Default | |
| 37 | | Generate PPTX — ordinary Default | [`workflows/generate-pptx.md`](workflows/generate-pptx.md) | |
| 38 | | Generate PPTX — ordinary explicit Quick | [`workflows/profiles/quick-generate.md`](workflows/profiles/quick-generate.md) | |
| 39 | | Create Template | [`workflows/create-template.md`](workflows/create-template.md) | |
| 40 | | Fill Native PPTX | [`workflows/template-fill-pptx.md`](workflows/template-fill-pptx.md) | |
| 41 | | Enhance Native PPTX | [`workflows/native-enhance-pptx.md`](workflows/native-enhance-pptx.md) | |
| 42 | |
| 43 | **Hard rule — selected authority only**: Do not load another top-level route's |
| 44 | procedure after routing. Beautify selects exactly one Generate runtime from the |
| 45 | explicit Quick signal; never load both Default and Quick. Profiles, stages, |
| 46 | governance files, and child workflows refine one selected route; they never |
| 47 | compete with it. |
| 48 | |
| 49 | --- |
| 50 | |
| 51 | ## Global Execution Discipline |
| 52 | |
| 53 | 1. **Serial execution** — Follow the selected authority's steps in order. A completed non-blocking step may continue directly to the next eligible step. |
| 54 | 2. **Blocking means stop** — At every `⛔ BLOCKING` gate, wait for explicit user confirmation. Do not decide on the user's behalf. |
| 55 | 3. **No cross-phase bundling** — Do not combine work across an unclosed gate. Once the route's final user gate closes, later non-blocking steps may continue automatically. |
| 56 | 4. **Gate before entry** — Verify every listed prerequisite before entering a step. |
| 57 | 5. **No speculative execution** — Do not prepare later-phase artifacts before their owning step. |
| 58 | 6. **Deterministic routing** — Do not add a route-choice question when [`routing.md`](workflows/routing.md) resolves the request. If a route prerequisite is missing, state it and stop that route. |
| 59 | 7. **Owning-source recovery** — On failure, repair or regenerate the owning source artifact and resume from the route's declared pointer. Do not silently downgrade a required artifact. |
| 60 | |
| 61 | ## Global Communication Rules |
| 62 | |
| 63 | - Match the user's language and source language unless the user explicitly overrides it. |
| 64 | - Localize user-facing option labels and explanations. Keep exact enum IDs or field names when needed for precision. |
| 65 | - Keep `design_spec.md` section headings and field names in the template's original English; content values may use the user's language. |
| 66 | - Before switching roles, read the corresponding role reference and output: |
| 67 | |
| 68 | ```markdown |
| 69 | ## [Role Switch: <Role Name>] |
| 70 | 📖 Reading role definition: references/<filename>.md |
| 71 | 📋 Current task: <brief description> |
| 72 | ``` |
| 73 | |
| 74 | --- |
| 75 | |
| 76 | ## Repository Compatibility |
| 77 | |
| 78 | - This package is a workflow/skill, not a generic application scaffold. Do not create `.worktrees/`, `tests/`, branch workflows, or generic engineering structure by default. |
| 79 | - Keep required workflow, reference, script, and template documentation inside this Skill directory. |
| 80 | - Repository-level documents may point into the package; package runtime files must not depend on repository-level instructions. |
| 81 | - On Windows, if a documented `python3 ...` command is unavailable, rerun the same command with `python`. |
| 82 | - Sponsor information is optional reference material. Read the matching [`SPONSORS.md`](SPONSORS.md) or [`SPONSORS_CN.md`](SPONSORS_CN.md) only when the user explicitly requests a model, AI image model, API/provider, or hosted-service recommendation. Never surface sponsor or model recommendations proactively during normal generation, troubleshooting, or quality review. |
| 83 |