pptx-generator
Skill17 starsChanged 17 days agoMITView on GitHub
Generate, edit, and read PowerPoint presentations. Create from scratch with PptxGenJS (cover, TOC, content, section divider, summary slides), edit existing PPTX via XML workflows, or extract text with markitdown. Triggers: PPT, PPTX, PowerPoint, presentation, slide, deck, slides.
- Installs packages
26 other projects use a version of this, 5 of them edited.
Adopted by
Most recently taken up by
- martgueritainaccurate875/skillsword for word, first seen Nov 8, 2026
- ChasePassion/skillsedited, first seen Nov 1, 2026
- AlekseiUL/heisenberg-team-GPTword for word, first seen Nov 1, 2026
- davidanthonyn/claude-skillstheir own version, first seen Oct 20, 2026
- jhy0285/monofieldtheir own version, first seen Oct 13, 2026
- Gopyr/gopyr-skills-hubtheir own version, first seen Oct 11, 2026
Used with
Projects with it also use ios-application-dev, react-native-dev and 5 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.
MiniMax-AISkillios-application-dev
iOS application development guide covering UIKit, SnapKit, and SwiftUI. Includes touch targets, safe areas, navigation patterns, Dynamic Type, Dark Mode, accessibility, collection views, common UI components, and SwiftUI design guidelines. For detailed references on specific topics, see the reference files. Use when: developing iOS apps, implementing UI, reviewing iOS code, working with UIKit/SnapKit/SwiftUI layouts, building iPhone interfaces, Swift mobile development, Apple HIG compliance, iOS accessibility implementation.
Also in 3 projects that use this
MiniMax-AISkillreact-native-dev
React Native and Expo development guide covering components, styling, animations, navigation, state management, forms, networking, performance optimization, testing, native capabilities, and engineering (project structure, deployment, SDK upgrades, CI/CD). Use when: building React Native or Expo apps, implementing animations or native UI, managing state, fetching data, writing tests, optimizing performance, deploying to App Store/Play Store, setting up CI/CD, upgrading Expo SDK, or configuring Tailwind/NativeWind.
Also in 3 projects that use this
HK-hubSkillshader-dev
Comprehensive GLSL shader techniques for creating stunning visual effects — ray marching, SDF modeling, fluid simulation, particle systems, procedural generation, lighting, post-processing, and more.
Also in 4 projects that use this
yangmourSkillfullstack-dev
Also in 4 projects that use this
VercelSkillagent-browser
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Also in 6 projects that use this
JetBrainsSkillbrand-guidelines
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Also in 4 projects that use this
- +1 more from MiniMax-AI
Other versions26 projects use a version of this.
Word for word · 8
- MiniMax-AI/skills★ 14k100% same
- ninehills/skills★ 280100% same
- AlekseiUL/heisenberg-team-GPT★ 9100% same
- martgueritainaccurate875/skills★ 6100% same
- idexal/idexal-skills★ 2100% same
- X-FRI/skills★ 2100% same
- hiamberhuang/presentation-agent-skills★ 0100% same
- xiaolinVV/agents-skills★ 0100% same
Edited · 5
- yinqd3/workbuddy-skills★ 1012% same
- finger88/my-claude-skills★ 385% same
- ChasePassion/skills★ 190% same
- walkingjohnny/ai-workbench★ 141% same
- vokako/pptx-generator★ 043% same
Wrote their own version · 13
- anbeime/skill★ 7.9ksame name
- coleam00/second-brain-skills★ 819same name
- coleam00/ai-transformation-workshop★ 139same name
- harryleemedia/second-brain★ 16same name
- jhy0285/monofield★ 6same name
- dycnnnb/skills★ 2same name
- skytiger6724/qwen-skills★ 2same name
- epiphany-dynamics/claude-skills-portfolio★ 1same name
- hangljoe/AI-PreSales-Skills★ 1same name
- jpoindexter/theft-kit★ 1same name
3 more not listed
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 repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- audit-websiteSkill
- blogwatcherSkill
- brainstormingSkill
- browser-useSkill
- byteroverSkill
- channel-analyzerSkill
- cursor-agentSkill
- deep-research-proSkill
- excalidrawSkill
- geminiSkill
- github-publisherSkill
- gogSkill
- healthcheckSkill
- landing-builderSkill
- last30daysSkill
- minimax-docxSkill
- minimax-pdfSkill
- minimax-xlsxSkill
- n8n-workflow-automationSkill
- presentationSkill
- product-validatorSkill
- quality-checkSkill
- redditSkill
- researcherSkill
- safeskillmonitorSkill
- skill-and-agent-creatorSkill
- swipe-fileSkill
- systematic-debuggingSkill
- TubeScribeSkill
- tweet-writerSkill
- weatherSkill
- writing-plansSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 65
Search to understand user requirements — topic, audience, purpose, tone, content depth.
- Distinctive: line 69
Use the Color Palette Reference to select a palette matching the topic and audience.
- Distinctive: line 73
Use the Style Recipes to choose a visual style (Sharp, Soft, Rounded, or Pill) matching the presentation tone.
- Very specific: line 81
Create one JS file per slide in slides/ directory.
- Distinctive: line 90
Must use the theme object contract (see Theme Object Contract)
- Distinctive: line 91
Must follow the PptxGenJS API reference
- Very specific: line 95
Create slides/compile.js to combine all slide modules:
- Distinctive: line 206
All slides except Cover Page MUST include a page number badge in the bottom-right corner.
- Distinctive: line 210
Use palette colors, keep subtle
“Common” is measured: kept by at least 6 in 10 of the 10 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
PPTX Generator & Editor
Overview
This skill handles all PowerPoint tasks: reading/analyzing existing presentations, editing template-based decks via XML manipulation, and creating presentations from scratch using PptxGenJS. It includes a complete design system (color palettes, fonts, style recipes) and detailed guidance for every slide type.
Quick Reference
| Task | Approach |
| Read/analyze content | python -m markitdown presentation.pptx |
| Edit or create from template | See Editing Presentations |
| Create from scratch | See Creating from Scratch below |
| Item | Value |
| Dimensions | 10" x 5.625" (LAYOUT_16x9) |
| Colors | 6-char hex without # (e.g., "FF0000") |
| English font | Arial (default), or approved alternatives |
| Chinese font | Microsoft YaHei |
| Page badge position | x: 9.3", y: 5.1" |
| Theme keys | primary, secondary, accent, light, bg |
| Shapes | RECTANGLE, OVAL, LINE, ROUNDED_RECTANGLE |
| Charts | BAR, LINE, PIE, DOUGHNUT, SCATTER, BUBBLE, RADAR |
Reference Files
| File | Contents |
| slide-types.md | 5 slide page types (Cover, TOC, Section Divider, Content, Summary) + additional layout patterns |
| design-system.md | Color palettes, font reference, style recipes (Sharp/Soft/Rounded/Pill), typography & spacing |
| editing.md | Template-based editing workflow, XML manipulation, formatting rules, common pitfalls |
| pitfalls.md | QA process, common mistakes, critical PptxGenJS pitfalls |
| pptxgenjs.md | Complete PptxGenJS API reference |
Reading Content
# Text extraction
python -m markitdown presentation.pptxCreating from Scratch — Workflow
Use when no template or reference presentation is available.
Step 1: Research & Requirements
Search to understand user requirements — topic, audience, purpose, tone, content depth.
Step 2: Select Color Palette & Fonts
Use the Color Palette Reference to select a palette matching the topic and audience. Use the Font Reference to choose a font pairing.
Step 3: Select Design Style
Use the Style Recipes to choose a visual style (Sharp, Soft, Rounded, or Pill) matching the presentation tone.
Step 4: Plan Slide Outline
Classify every slide as exactly one of the 5 page types. Plan the content and layout for each slide. Ensure visual variety — do NOT repeat the same layout across slides.
Step 5: Generate Slide JS Files
Create one JS file per slide in slides/ directory. Each file must export a synchronous createSlide(pres, theme) function. Follow the Slide Output Format and the type-specific guidance in slide-types.md. Generate up to 5 slides concurrently using subagents if available.
Tell each subagent:
- File naming:
slides/slide-01.js,slides/slide-02.js, etc. - Images go in:
slides/imgs/ - Final PPTX goes in:
slides/output/ - Dimensions: 10" x 5.625" (LAYOUT_16x9)
- Fonts: Chinese = Microsoft YaHei, English = Arial (or approved alternative)
- Colors: 6-char hex without # (e.g.
"FF0000") - Must use the theme object contract (see Theme Object Contract)
- Must follow the PptxGenJS API reference
Step 6: Compile into Final PPTX
Create slides/compile.js to combine all slide modules:
// slides/compile.js
const pptxgen = require('pptxgenjs');
const pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
const theme = {
primary: "22223b", // dark color for backgrounds/text
secondary: "4a4e69", // secondary accent
accent: "9a8c98", // highlight color
light: "c9ada7", // light accent
bg: "f2e9e4" // background color
};
for (let i = 1; i <= 12; i++) { // adjust count as needed
const num = String(i).padStart(2, '0');
const slideModule = require(`./slide-${num}.js`);
slideModule.createSlide(pres, theme);
}
pres.writeFile({ fileName: './output/presentation.pptx' });Run with: cd slides && node compile.js
Step 7: QA (Required)
See QA Process.
Output Structure
slides/
├── slide-01.js # Slide modules
├── slide-02.js
├── ...
├── imgs/ # Images used in slides
└── output/ # Final artifacts
└── presentation.pptxSlide Output Format
Each slide is a complete, runnable JS file:
// slide-01.js
const pptxgen = require("pptxgenjs");
const slideConfig = {
type: 'cover',
index: 1,
title: 'Presentation Title'
};
// MUST be synchronous (not async)
function createSlide(pres, theme) {
const slide = pres.addSlide();
slide.background = { color: theme.bg };
slide.addText(slideConfig.title, {
x: 0.5, y: 2, w: 9, h: 1.2,
fontSize: 48, fontFace: "Arial",
color: theme.primary, bold: true, align: "center"
});
return slide;
}
// Standalone preview - use slide-specific filename
if (require.main === module) {
const pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
const theme = {
primary: "22223b",
secondary: "4a4e69",
accent: "9a8c98",
light: "c9ada7",
bg: "f2e9e4"
};
createSlide(pres, theme);
pres.writeFile({ fileName: "slide-01-preview.pptx" });
}
module.exports = { createSlide, slideConfig };Theme Object Contract (MANDATORY)
The compile script passes a theme object with these exact keys:
| Key | Purpose | Example |
theme.primary | Darkest color, titles | "22223b" |
theme.secondary | Dark accent, body text | "4a4e69" |
theme.accent | Mid-tone accent | "9a8c98" |
theme.light | Light accent | "c9ada7" |
theme.bg | Background color | "f2e9e4" |
NEVER use other key names like background, text, muted, darkest, lightest.
Page Number Badge (REQUIRED)
All slides except Cover Page MUST include a page number badge in the bottom-right corner.
- Position: x: 9.3", y: 5.1"
- Show current number only (e.g.
3or03), NOT "3/12" - Use palette colors, keep subtle
Circle Badge (Default)
slide.addShape(pres.shapes.OVAL, {
x: 9.3, y: 5.1, w: 0.4, h: 0.4,
fill: { color: theme.accent }
});
slide.addText("3", {
x: 9.3, y: 5.1, w: 0.4, h: 0.4,
fontSize: 12, fontFace: "Arial",
color: "FFFFFF", bold: true,
align: "center", valign: "middle"
});Pill Badge
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: 9.1, y: 5.15, w: 0.6, h: 0.35,
fill: { color: theme.accent },
rectRadius: 0.15
});
slide.addText("03", {
x: 9.1, y: 5.15, w: 0.6, h: 0.35,
fontSize: 11, fontFace: "Arial",
color: "FFFFFF", bold: true,
align: "center", valign: "middle"
});Dependencies
pip install "markitdown[pptx]"— text extractionnpm install -g pptxgenjs— creating from scratchnpm install -g react-icons react react-dom sharp— icons (optional)
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.

