PPT Master Skill
PPT Master is a routed presentation workflow. This entry owns global execution discipline and route selection only; each selected route owns its procedure.
Mandatory Load Order
Hard rule — paths before commands: Retain the host-provided absolute
directory containing this file as SKILL_DIR. Per tool call, expand
${SKILL_DIR} and replace any skills/ppt-master/ prefix with it. Never cd,
use CWD, or assume a repo checkout. If unavailable, ask; never search or guess.
- Read this file.
- Run
python3 "${SKILL_DIR}/scripts/attribution_guard.py". Any non-zero result
stops the Skill immediately; do not inspect, repair, or bypass the integrity
gate.
- Read
workflows/routing.md through the concrete
absolute path ${SKILL_DIR}/workflows/routing.md.
- Select exactly one top-level route and its active profile from the routing
authority.
- Read only the resulting runtime authority and its explicitly triggered
supporting documents.
| Selected route / profile |
Runtime authority |
| Generate PPTX — Image to PPTX |
workflows/profiles/image-to-pptx.md; Codex-supported, always Quick |
| Generate PPTX — Beautify |
workflows/profiles/beautify-pptx.md; explicit Quick intent selects Quick, otherwise Default |
| Generate PPTX — ordinary Default |
workflows/generate-pptx.md |
| Generate PPTX — ordinary explicit Quick |
workflows/profiles/quick-generate.md |
| Create Template |
workflows/create-template.md |
| Edit Native PPTX |
workflows/edit-native-pptx.md |
Hard rule — selected authority only: Do not load another top-level route's
procedure after routing. Image to PPTX and Beautify are mutually exclusive;
Image to PPTX activates Quick, while Beautify selects from explicit Quick
intent. Never load both runtimes. Supporting documents refine one route; they
never compete with it.
Authored Expression Range
Reference — not a constraint: what a generated page can carry. Text — inline
emphasis runs, lead-in, kicker, pull quote, hero number, takeaway line. Geometry
— 187 Office presets, Boolean merge, connectors, freeform, page-field and
outline-carrier composition. Image — full-bleed field, editorial crop, shaped
picture, registered layers, scrim and spotlight, cross-page continuity. Paint —
gradients, channel alpha, native shadow and glow, halftone, faceted form.
Recurrence — one cross-page motif varied by page role. Each form's syntax lives
in the selected runtime authority's construction references.
Vocabulary
One meaning per term across every loaded file. Where a word is used in
more than one sense, the sense is named here and the files say which one.
| Term |
Meaning |
| Reference (label) |
A starting sketch the executing role adjusts or replaces freely, with no upstream repair or stated reason; (binding) after a field label removes that freedom |
| Relationships |
The §IX line naming a page's semantic units and their source-stated order / link / parent / membership / contrast / overlap, or none |
| Topology decision |
The per-page yes/no on whether geometry must carry the page's Relationships (topology=yes / topology=no); unrelated to pptx_structure.mode |
pptx_structure.mode |
flat (every object Slide-local) or structured (declared Master/Layout/slot metadata); a packaging route, never information structure |
| Composition |
The §IX Composition line: a Reference for a page's macro composition, hierarchy, and focus |
| Image pattern |
The §VIII column carrying one image-composition suggestion in ordinary words (optionally citing #P/#M ids) |
| Layout |
A PowerPoint Layout under a Master, or the Layout template kind; never a page-composition sketch |
| Device |
An everyday page carrier — card, band, icon-and-label, KPI tile, divider, quote block — recalled in the Executor's device menu |
| Carrier |
What a page unit sits in: a device, an image, or native geometry; the family names are carrier and field, direction and sequence, grouping and ownership, emphasis and annotation. data-pptx-carrier is a structured-slot attribute, not this term. The carrier receipt is the checker's per-page inventory of what was actually drawn |
| Page job |
What one page must do for the reader; the input every carrier, contour, and effect decision is judged against |
| Page field |
One large surface, outline, aperture, or off-canvas contour that organizes zones instead of a card per unit |
| Contour / preset / atom |
A contour is a shape's silhouette; a preset is one of the 187 Office prst contours drawn through preset_shape_svg.py; an atom is one object that compiles to one DrawingML shape |
| Geometry signature |
The retained line page job → composition move → contour / edge language kept per page and compared before the next page |
| Texture (of a block) |
Whether a §IX block is prose, bullets, keywords, or labels; distinct from visual texture (grain, halftone) |
| Anchor |
Two senses: a lock anchor (a deck-wide color, type, or spacing value) and the page_rhythm tag anchor for structural pages |
| Sheet / slice / plate |
A sheet is one generated image holding several elements on a chroma key; a slice is one element cut from it; a plate is a registered full-canvas layer of several non-overlapping objects |
| Module line |
The P<NN> modules: … line written before each page naming the triggered modules it uses |
| Mode |
Named by qualifier: communication mode (how the deck argues), reading mode (consumption_mode), generation_mode (continuous / split), pptx_structure.mode, replication_mode (how a template was created) |
Phase Frame
Every route is one Plan → Do·Check·Act cycle: Plan ends when every authoring
input exists as a file or retained decision; Do authors pages, Check runs the
route's gates, Act repairs at the owning layer (discipline 7), and the cycle
ends at export. Step numbers stay as written.
| Phase |
Default |
Quick |
Edit Native |
Create Template |
| Plan |
Steps 1–5 |
§2 |
§1–4 |
Steps 1–3 |
| Do·Check·Act |
Steps 6–7 |
§3–4 |
§5–7 |
Steps 4–8 |
Global Execution Discipline
- Serial execution — Follow the selected authority's steps in order. A completed non-blocking step may continue directly to the next eligible step.
- Blocking means stop — At every
⛔ BLOCKING gate, wait for explicit user confirmation. Do not decide on the user's behalf.
- 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.
- Gate before entry — Verify every listed prerequisite before entering a step.
- No speculative execution — Do not prepare later-phase artifacts before their owning step.
- Deterministic routing — Do not add a route-choice question when
routing.md resolves the request. If a route prerequisite is missing, state it and stop that route.
- Act at the owning layer — On failure, repair at the shallowest layer that owns the fault: the page for a page-local issue, the Plan artifact for a roster/spec/resource fault, the owning source artifact for a tool failure; then resume from the route's declared pointer. Do not silently downgrade a required artifact.
Global Communication Rules
- Match the user's language and source language unless the user explicitly overrides it.
- Localize user-facing option labels and explanations. Keep exact enum IDs or field names when needed for precision.
- Keep
design_spec.md section headings and field names in the template's original English; content values may use the user's language.
- Before switching roles, read the corresponding role reference and output:
## [Role Switch: <Role Name>]
📖 Reading role definition: references/<filename>.md
📋 Current task: <brief description>
Repository Compatibility
- This package is a workflow/skill, not a generic application scaffold. Do not create
.worktrees/, tests/, branch workflows, or generic engineering structure by default.
- Keep required workflow, reference, script, and template documentation inside this Skill directory.
- Repository-level documents may point into the package; package runtime files must not depend on repository-level instructions.
- On Windows, if a documented
python3 ... command is unavailable, rerun the same command with python.
- Sponsor information is optional reference material. Read the matching
SPONSORS.md or 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.
1---2name: ppt-master3description: AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable Brand/Style/Layout/Deck workspaces, filling native PPTX templates, and enhancing finished PPTX files. Use when the user asks to create, generate, reconstruct, regenerate, beautify, redesign, template, fill, or enhance a presentation, PPT, PPTX, slide deck, or courseware — including adding narration or animation to one — requests a presentation-authored narrated/self-running video, or mentions ppt-master.4---56# PPT Master Skill78PPT Master is a routed presentation workflow. This entry owns global execution discipline and route selection only; each selected route owns its procedure.910## Mandatory Load Order1112**Hard rule — paths before commands**: Retain the host-provided absolute13directory containing this file as `SKILL_DIR`. Per tool call, expand14`${SKILL_DIR}` and replace any `skills/ppt-master/` prefix with it. Never `cd`,15use CWD, or assume a repo checkout. If unavailable, ask; never search or guess.16171. Read this file.182. Run `python3 "${SKILL_DIR}/scripts/attribution_guard.py"`. Any non-zero result19 stops the Skill immediately; do not inspect, repair, or bypass the integrity20 gate.213. Read [`workflows/routing.md`](workflows/routing.md) through the concrete22 absolute path `${SKILL_DIR}/workflows/routing.md`.234. Select exactly one top-level route and its active profile from the routing24 authority.255. Read only the resulting runtime authority and its explicitly triggered26 supporting documents.2728| Selected route / profile | Runtime authority |29|---|---|30| Generate PPTX — Image to PPTX | [`workflows/profiles/image-to-pptx.md`](workflows/profiles/image-to-pptx.md); Codex-supported, always Quick |31| Generate PPTX — Beautify | [`workflows/profiles/beautify-pptx.md`](workflows/profiles/beautify-pptx.md); explicit Quick intent selects Quick, otherwise Default |32| Generate PPTX — ordinary Default | [`workflows/generate-pptx.md`](workflows/generate-pptx.md) |33| Generate PPTX — ordinary explicit Quick | [`workflows/profiles/quick-generate.md`](workflows/profiles/quick-generate.md) |34| Create Template | [`workflows/create-template.md`](workflows/create-template.md) |35| Edit Native PPTX | [`workflows/edit-native-pptx.md`](workflows/edit-native-pptx.md) |3637**Hard rule — selected authority only**: Do not load another top-level route's38procedure after routing. Image to PPTX and Beautify are mutually exclusive;39Image to PPTX activates Quick, while Beautify selects from explicit Quick40intent. Never load both runtimes. Supporting documents refine one route; they41never compete with it.4243---4445## Authored Expression Range4647**Reference — not a constraint**: what a generated page can carry. Text — inline48emphasis runs, lead-in, kicker, pull quote, hero number, takeaway line. Geometry49— 187 Office presets, Boolean merge, connectors, freeform, page-field and50outline-carrier composition. Image — full-bleed field, editorial crop, shaped51picture, registered layers, scrim and spotlight, cross-page continuity. Paint —52gradients, channel alpha, native shadow and glow, halftone, faceted form.53Recurrence — one cross-page motif varied by page role. Each form's syntax lives54in the selected runtime authority's construction references.5556---5758## Vocabulary5960One meaning per term across every loaded file. Where a word is used in61more than one sense, the sense is named here and the files say which one.6263| Term | Meaning |64|---|---|65| **Reference** (label) | A starting sketch the executing role adjusts or replaces freely, with no upstream repair or stated reason; `(binding)` after a field label removes that freedom |66| **Relationships** | The §IX line naming a page's semantic units and their source-stated `order` / `link` / `parent` / `membership` / `contrast` / `overlap`, or `none` |67| **Topology decision** | The per-page yes/no on whether geometry must carry the page's `Relationships` (`topology=yes` / `topology=no`); unrelated to `pptx_structure.mode` |68| **`pptx_structure.mode`** | `flat` (every object Slide-local) or `structured` (declared Master/Layout/slot metadata); a packaging route, never information structure |69| **Composition** | The §IX `Composition` line: a Reference for a page's macro composition, hierarchy, and focus |70| **Image pattern** | The §VIII column carrying one image-composition suggestion in ordinary words (optionally citing `#P`/`#M` ids) |71| **Layout** | A PowerPoint Layout under a Master, or the Layout template kind; never a page-composition sketch |72| **Device** | An everyday page carrier — card, band, icon-and-label, KPI tile, divider, quote block — recalled in the Executor's device menu |73| **Carrier** | What a page unit sits in: a device, an image, or native geometry; the family names are carrier and field, direction and sequence, grouping and ownership, emphasis and annotation. `data-pptx-carrier` is a structured-slot attribute, not this term. The **carrier receipt** is the checker's per-page inventory of what was actually drawn |74| **Page job** | What one page must do for the reader; the input every carrier, contour, and effect decision is judged against |75| **Page field** | One large surface, outline, aperture, or off-canvas contour that organizes zones instead of a card per unit |76| **Contour / preset / atom** | A contour is a shape's silhouette; a preset is one of the 187 Office `prst` contours drawn through `preset_shape_svg.py`; an atom is one object that compiles to one DrawingML shape |77| **Geometry signature** | The retained line `page job → composition move → contour / edge language` kept per page and compared before the next page |78| **Texture** (of a block) | Whether a §IX block is prose, bullets, keywords, or labels; distinct from visual texture (grain, halftone) |79| **Anchor** | Two senses: a lock anchor (a deck-wide color, type, or spacing value) and the `page_rhythm` tag `anchor` for structural pages |80| **Sheet / slice / plate** | A sheet is one generated image holding several elements on a chroma key; a slice is one element cut from it; a plate is a registered full-canvas layer of several non-overlapping objects |81| **Module line** | The `P<NN> modules: …` line written before each page naming the triggered modules it uses |82| **Mode** | Named by qualifier: communication `mode` (how the deck argues), reading mode (`consumption_mode`), `generation_mode` (`continuous` / `split`), `pptx_structure.mode`, `replication_mode` (how a template was created) |8384## Phase Frame8586Every route is one Plan → Do·Check·Act cycle: Plan ends when every authoring87input exists as a file or retained decision; Do authors pages, Check runs the88route's gates, Act repairs at the owning layer (discipline 7), and the cycle89ends at export. Step numbers stay as written.9091| Phase | Default | Quick | Edit Native | Create Template |92|---|---|---|---|---|93| **Plan** | Steps 1–5 | §2 | §1–4 | Steps 1–3 |94| **Do·Check·Act** | Steps 6–7 | §3–4 | §5–7 | Steps 4–8 |9596## Global Execution Discipline97981. **Serial execution** — Follow the selected authority's steps in order. A completed non-blocking step may continue directly to the next eligible step.992. **Blocking means stop** — At every `⛔ BLOCKING` gate, wait for explicit user confirmation. Do not decide on the user's behalf.1003. **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.1014. **Gate before entry** — Verify every listed prerequisite before entering a step.1025. **No speculative execution** — Do not prepare later-phase artifacts before their owning step.1036. **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.1047. **Act at the owning layer** — On failure, repair at the shallowest layer that owns the fault: the page for a page-local issue, the Plan artifact for a roster/spec/resource fault, the owning source artifact for a tool failure; then resume from the route's declared pointer. Do not silently downgrade a required artifact.105106## Global Communication Rules107108- Match the user's language and source language unless the user explicitly overrides it.109- Localize user-facing option labels and explanations. Keep exact enum IDs or field names when needed for precision.110- Keep `design_spec.md` section headings and field names in the template's original English; content values may use the user's language.111- Before switching roles, read the corresponding role reference and output:112113```markdown114## [Role Switch: <Role Name>]115📖 Reading role definition: references/<filename>.md116📋 Current task: <brief description>117```118119---120121## Repository Compatibility122123- This package is a workflow/skill, not a generic application scaffold. Do not create `.worktrees/`, `tests/`, branch workflows, or generic engineering structure by default.124- Keep required workflow, reference, script, and template documentation inside this Skill directory.125- Repository-level documents may point into the package; package runtime files must not depend on repository-level instructions.126- On Windows, if a documented `python3 ...` command is unavailable, rerun the same command with `python`.127- 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.