ppt-master
Skill7 starsChanged 25 days agoMITView on GitHub
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.
13 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- afawfawffaf/my-skillstheir own version, first seen Nov 8, 2026
- Categorytyy/ppt-mastertheir own version, first seen Nov 8, 2026
- ZhouYinLong-lab/Dog-Skillstheir own version, first seen Nov 8, 2026
- TsinHzl/claude-code-configtheir own version, first seen Nov 1, 2026
- AIPMAndy/PPTskilltheir own version, first seen Nov 1, 2026
- sorrywilsonh/claude-skillsedited, first seen Oct 20, 2026
Used with
Projects with it also use using-superpowers, finishing-a-development-branch and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
OpenAISkillusing-superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Also in 3 projects that use this
OpenAISkillfinishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
Also in 3 projects that use this
CloudflareSkillreceiving-code-review
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
Also in 3 projects that use this
- +9 more from openai
Other versions13 projects use a version of this.
Word for word · 1
- tlinedeep/claude-skills★ 0100% same
Edited · 2
- hugohe3/ppt-master★ 75k99% same
- sorrywilsonh/claude-skills★ 090% same
Wrote their own version · 10
- wentorai/Research-Claw★ 858same name
- AIPMAndy/PPTskill★ 57same name
- Categorytyy/ppt-master★ 7same name
- ZhouYinLong-lab/Dog-Skills★ 7same name
- kevinaimonster/skill-hub★ 4same name
- lubancafe/agent-skills★ 2same name
- TsinHzl/claude-code-config★ 2same name
- 20231118185SSPU/DeepPPT★ 1same name
- afawfawffaf/my-skills★ 0same name
- humanist96/deck-design-pack★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repositoryOne other file it gives its agents.
- AGENTS.mdAGENTS.md
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 33
Run python3 "${SKILL_DIR}/scripts/attribution_guard.py".
- Very specific: line 37
Read workflows/routing.md through the concrete absolute path ${SKILL_DIR}/workflows/routing.md.
- Distinctive: line 41
Read only the resulting runtime authority and its explicitly triggered supporting documents.
- Distinctive: line 53
Hard rule — selected authority only: Do not load another top-level route's procedure after routing.
- Distinctive: line 102
Every route is one Plan → Do·Check·Act cycle: Plan ends when every authoring input exists as a file or retained decision.
- Very specific: line 126
Keep design_spec.md section headings and field names in the template's original English.
- Distinctive: line 127
Before switching roles, read the corresponding role reference and output:
- Distinctive: line 140
Keep required workflow, reference, script, and template documentation inside this Skill directory.
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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. On Windows, apython3that never starts (the WindowsApps stub exits 9009 with no output) is not a guard result: rerun withpythonfirst. - Read
workflows/routing.mdthrough 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
⛔ BLOCKINGgate, 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.mdresolves 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. Render each fixed message template (role-switch banner, completion report) in the user's chat language when it differs from the template's. Keep exact enum IDs or field names when needed for precision.
- Keep
design_spec.mdsection 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 withpython. - Sponsor information is optional reference material. Read the matching
SPONSORS.mdorSPONSORS_CN.mdonly 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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

