SkillAgentSearch skills...

pptx-generator

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.

Install / Use

npx skills add MiniMax-AI/skills --skill pptx-generator

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

92/100

Category

Automation

Supported Platforms

Universal

Our assessment of pptx-generator

pptx-generator scores 92/100 on our quality scale, 462nd of 1,333 Automation skills we index (top 35%).

Its SKILL.md is 7.7 KB long, well organised into 21 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.

With 13,641 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
29/30
Structure
20/20
Description
15/15
Adoption
18/20
Freshness
11/15

Maintenance, license and trust

  • The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 98/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

pptx-generator compared with similar skills

All 4 of these similar skills score higher than pptx-generator; compare them before choosing.

SkillScoreStarsUpdatedFormat
pptx-generator (this skill)by MiniMax-AI9213.6k5mo agoSKILL.md
Agent-Reachby Panniantong10085.5k10d agoCLAUDE.md
rufloby ruvnet10073.3k1d agoCLAUDE.md
Scraplingby D4Vinci10083.8ktodayMCP Server
algorithmic-artby anthropics100177.9k3d agoSKILL.md

Frequently asked questions

How do I install pptx-generator?
Run npx skills add MiniMax-AI/skills --skill pptx-generator. The install tabs above show the steps for each supported agent.
Which AI agents does pptx-generator work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is pptx-generator safe to use?
It is MIT-licensed and scores 98/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is pptx-generator still maintained?
The repository was last updated about 5 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.

name: pptx-generator description: "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." license: MIT metadata: version: "1.0" category: productivity sources: - https://gitbrent.github.io/PptxGenJS/ - https://github.com/microsoft/markitdown

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.pptx

Creating 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:

  1. File naming: slides/slide-01.js, slides/slide-02.js, etc.
  2. Images go in: slides/imgs/
  3. Final PPTX goes in: slides/output/
  4. Dimensions: 10" x 5.625" (LAYOUT_16x9)
  5. Fonts: Chinese = Microsoft YaHei, English = Arial (or approved alternative)
  6. Colors: 6-char hex without # (e.g. "FF0000")
  7. Must use the theme object contract (see Theme Object Contract)
  8. 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.pptx

Slide 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. 3 or 03), 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 extraction
  • npm install -g pptxgenjs — creating from scratch
  • npm install -g react-icons react react-dom sharp — icons (optional)

Related Skills

View on GitHub
GitHub Stars13.6k
CategoryAutomation
Updated5mo ago
Forks1.2k

Languages

C#

Trust signals

98/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 info