Skip to content
Development
Skill

/ppt-orchestra-skill

Plan and orchestrate multi-slide PowerPoint creation from scratch. Use before generating a full deck with subagents: classify each slide type, enforce visual variety, set typography/spacing rules, and run text-based QA to catch content issues.

From plugin
minimax-skills
14k23 skills5 agents

Claude Code

$ npx -y skills add minimax-ai/skills --skill ppt-orchestra-skill --agent claude-code

SKILL.md

ppt-orchestra-skill.SKILL.md
name: ppt-orchestra-skill
description: "Plan and orchestrate multi-slide PowerPoint creation from scratch. Use before generating a full deck with subagents: classify each slide type, enforce visual variety, set typography/spacing rules, and run text-based QA to catch content issues."
license: Proprietary. LICENSE.txt has complete terms

Slide Page Types (Standard)

For slide-by-slide generation (one JS file per slide), classify **every slide** as **exactly one** of these 5 page types. This keeps structure consistent and prevents "random layout drift".

1. **Cover Page**

  • **Use for**: opening + tone setting
  • **Content**: big title, subtitle/presenter, date/occasion, strong background/motif

2. **Table of Contents**

  • **Use for**: navigation + expectation setting (3–5 sections)
  • **Content**: section list (optional icons / page numbers)

3. **Section Divider**

  • **Use for**: clear transitions between major parts
  • **Content**: section number + title (+ optional 1–2 line intro)

4. **Content Page** (pick a subtype)

  • **Text**: bullets/quotes/short paragraphs (still add icons/shapes)
  • **Mixed media**: two-column / half-bleed image + text overlay
  • **Data visualization**: chart + 1–3 key takeaways + **source**
  • **Comparison**: side-by-side columns/cards (A vs B, pros/cons)
  • **Timeline / process**: steps with arrows, journey, phases
  • **Image showcase**: hero image, gallery, or visual-first layout

5. **Summary / Closing Page**

  • **Use for**: wrap-up + action
  • **Content**: key takeaways, CTA/next steps, contact/QR, thank-you

**Layout options:**

  • Two-column (text left, illustration on right)
  • Icon + text rows (icon in colored circle, bold header, description below)
  • 2x2 or 2x3 grid (image on one side, grid of content blocks on other)
  • Half-bleed image (full left or right side) with content overlay

**Data display:**

  • Large stat callouts (big numbers 60-72pt with small labels below)
  • Comparison columns (before/after, pros/cons, side-by-side options)
  • Timeline or process flow (numbered steps, arrows)

**Visual polish:**

  • Icons in small colored circles next to section headers
  • Italic accent text for key stats or taglines

Typography

**Choose an interesting font pairing** — don't default to Arial. Pick a header font with personality and pair it with a clean body font.

| Header Font | Body Font | |-------------|-----------| | Georgia | Calibri | | Arial Black | Arial | | Calibri | Calibri Light | | Cambria | Calibri | | Trebuchet MS | Calibri | | Impact | Arial | | Palatino | Garamond | | Consolas | Calibri |

| Element | Size | |---------|------| | Slide title | 36-44pt bold | | Section header | 20-24pt bold | | Body text | 14-16pt | | Captions | 10-12pt muted |

Spacing

  • 0.5" minimum margins
  • 0.3-0.5" between content blocks
  • Leave breathing room—don't fill every inch

Avoid (Common Mistakes)

  • **Don't repeat the same layout** — vary columns, cards, and callouts across slides
  • **Don't center body text** — left-align paragraphs and lists; center only titles
  • **Don't skimp on size contrast** — titles need 36pt+ to stand out from 14-16pt body
  • **Don't default to blue** — pick colors that reflect the specific topic
  • **Don't mix spacing randomly** — choose 0.3" or 0.5" gaps and use consistently
  • **Don't style one slide and leave the rest plain** — commit fully or keep it simple throughout
  • **Don't create text-only slides** — add images, icons, charts, or visual elements; avoid plain title + bullets
  • **Don't forget text box padding** — when aligning lines or shapes with text edges, set `margin: 0` on the text box or offset the shape to account for padding
  • **Don't use low-contrast elements** — icons AND text need strong contrast against the background; avoid light text on light backgrounds or dark text on dark backgrounds
  • **NEVER use accent lines under titles** — these are a hallmark of AI-generated slides; use whitespace or background color instead

Compiling Slides

After all slide JS files are generated in `slides/`, create `slides/compile.js` to compile them into a single PPTX:

// 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`

---

QA (Required)

**Assume there are problems. Your job is to find them.**

Your first render is almost never correct. Approach QA as a bug hunt, not a confirmation step. If you found zero issues on first inspection, you weren't looking hard enough.

Content QA

python -m markitdown output.pptx

Check for missing content, typos, wrong order.

**When using templates, check for leftover placeholder text:**

python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"

If grep returns results, fix them before declaring success.

Verification Loop

1. Generate slides → Extract text with `python -m markitdown output.pptx` → Review content 2. **List issues found** (if none found, look again more critically) 3. Fix issues 4. **Re-verify affected slides** — one fix often creates another problem 5. Repeat until a full pass reveals no new issues

**Do not declare success until you've completed at least one fix-and-verify cycle.**

---

Dependencies

  • `pip install "markitdown[pptx]"` - text extraction
  • `npm install -g pptxgenjs` - creating from scratch
Read more
@minimax-ai
Ships withminimax-skills

Beta — This project is under active development. Skills, APIs, and configuration formats may change without notice. We welcome feedback and contributions. Development skills for AI coding agents.

14k23 skills5 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
13.8k
Star history of minimax-ai/skills on GitHub, a chart by star-history.com

Other skills on minimax-skills.

pr-review

pr-review

Review pull requests for the MiniMax Skills repository. Use when reviewing PRs, validating new skill submissions, or checking…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about ppt-orchestra-skill.

Which coding agents can use ppt-orchestra-skill?
ppt-orchestra-skill installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.