| name | presentation-tool-selection |
| description | Best practice decision matrix for choosing between Marp, Gamma, and PptxGenJS based on use case requirements. |
| tier | standard |
| applyTo | **/*presentation*,**/*slides*,**/*deck*,**/*pptx* |
Presentation Tool Selection Skill
Choose the right presentation tool for your use case โ Slides, Pitch, or Auto.
Alex has three presentation generation capabilities. This skill provides the decision framework for selecting the optimal tool based on requirements.
Tool Nicknames (Quick Reference)
| Nickname | Full Name | Remember As |
|---|
| Slides | Marp | "Markdown slides" |
| Pitch | Gamma | "AI pitch deck" |
| Auto | PptxGenJS | "Automated reports" |
Just say: "use Slides", "use Pitch", or "use Auto"
The Three Tools
| Nickname | Tool | Type | Best For |
|---|
| Slides | Marp | Markdown โ Multi-format | Version-controlled technical docs |
| Pitch | Gamma | AI-generated | Professional pitch decks, rapid prototyping |
| Auto | PptxGenJS | Programmatic API | Automated reports, data-driven slides |
Quick Decision Matrix
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PRESENTATION TOOL SELECTOR โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
START HERE
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Need AI to generate content โโโYESโโโถ PITCH (Gamma)
โ from a topic/prompt? โ (AI-powered)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ NO
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Need programmatic/automated โโโYESโโโถ AUTO (PptxGenJS)
โ generation from data/API? โ (Code-based)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ NO
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Need version control + โโโYESโโโถ SLIDES (Marp)
โ simple Markdown workflow? โ (Markdown-first)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ NO
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Default: Start with SLIDES โ
โ (fastest to get started) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Detailed Comparison
| Criterion | Marp | Gamma | PptxGenJS |
|---|
| Input | Markdown | Natural language prompt | JSON/TypeScript |
| Output | HTML, PDF, PPTX | Web link, exportable | Native .pptx |
| Offline | โ
Yes | โ No | โ
Yes |
| AI Generation | โ Manual | โ
Built-in | โ Manual |
| Version Control | โ
Git-friendly | โ Cloud-hosted | โ ๏ธ Code only |
| Data Integration | โ Static | โ Manual | โ
API/JSON |
| Brand Templates | โ
CSS themes | โ
Auto-themed | โ
Custom masters |
| Learning Curve | Low | Very Low | Medium |
| Dependency | VS Code extension | Web service | Node.js |
Use Case Matrix
Choose MARP When:
| Scenario | Why Marp |
|---|
| Technical documentation | Markdown source = version controlled |
| Conference talks | Developer-friendly, Git-trackable |
| Internal team updates | Quick edits, no design overhead |
| Multi-format needs | Same source โ HTML + PDF + PPTX |
| Offline-first | No cloud dependency |
Marp Workflow:
---
marp: true
theme: default
---
# Slide Title
- Bullet point
- Another point
---
# Next Slide
Export: Use export_marp tool or VS Code Marp extension
Choose GAMMA When:
| Scenario | Why Gamma |
|---|
| Pitch decks for stakeholders | Professional polish, AI layouts |
| Rapid prototyping | Content โ deck in minutes |
| Non-technical audiences | Beautiful defaults |
| Presentations from rough notes | AI structures the narrative |
| Client-facing deliverables | Publication-quality output |
Gamma Workflow:
- Provide topic/outline to Alex
- Alex applies Duarte methodology (see
gamma-presentations skill)
- Alex generates structured markdown
- Paste into gamma.app โ AI creates polished deck
Best Practice: Use Alex as presentation consultant first (audience, goal, S.T.A.R. moments), then generate.
Choose PPTXGENJS When:
| Scenario | Why PptxGenJS |
|---|
| Automated reports | Data โ slides pipeline |
| Dashboard exports | Charts from live data |
| Batch generation | 100 personalized decks |
| CI/CD integration | Generate on build |
| Custom branding | Full Slide Master control |
PptxGenJS Workflow:
import { generateAndSavePresentation } from './pptxGenerator';
const slides = [
{ type: 'title', title: 'Q4 Report', subtitle: 'Automated' },
{ type: 'chart', chartType: 'bar', data: quarterlyData }
];
await generateAndSavePresentation(slides, {}, 'report.pptx');
Best Practice: Define slide templates, feed data, automate export.
Decision Flowchart by Context
| Context | Recommended Tool | Rationale |
|---|
| "I have rough notes" | Gamma | AI structures content |
| "I have structured data" | PptxGenJS | Programmatic charts/tables |
| "I have Markdown content" | Marp | Direct conversion |
| "I need it in 5 minutes" | Gamma | Fastest to polished |
| "I need it repeatable monthly" | PptxGenJS | Automation |
| "I need Git history" | Marp | Plain text source |
| "Audience is executives" | Gamma | Professional polish |
| "Audience is developers" | Marp | Code-adjacent workflow |
| "Audience is data analysts" | PptxGenJS | Chart-heavy |
Hybrid Workflows
Sometimes the best approach combines tools:
Marp โ Gamma Refinement
- Draft slides in Marp (fast iteration)
- Export rough content
- Refine in Gamma for final polish
PptxGenJS + Marp Templates
- Use Marp themes for branding reference
- Replicate in PptxGenJS Slide Masters
- Automate data-driven generation
Gamma Consulting โ PptxGenJS Automation
- Use Alex/Gamma for narrative structure
- Implement as PptxGenJS templates
- Feed data for automated generation
Anti-Patterns
| โ Don't | โ
Instead |
|---|
| Use PptxGenJS for one-off deck | Use Marp (faster) |
| Use Marp for executive pitch | Use Gamma (better polish) |
| Use Gamma for automated reports | Use PptxGenJS (data integration) |
| Manually edit Gamma exports | Re-generate or use Marp |
| Copy-paste between tools | Define shared templates |
Activation Triggers
- "which presentation tool", "what tool for slides"
- "marp vs gamma", "pptx vs gamma", "slides vs pitch"
- "use slides", "use pitch", "use auto"
- "create presentation" (then assess requirements)
- "best way to make slides"
- "presentation strategy"