AgentSkillsCN

Presentation Tool Selection

根据具体用例需求,精心设计 Marp、Gamma 与 PptxGenJS 之间的决策矩阵,优选最适合的工具。

SKILL.md
--- frontmatter
name: "Presentation Tool Selection"
description: "Best practice decision matrix for choosing between Marp, Gamma, and PptxGenJS based on use case requirements."
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)

NicknameFull NameRemember As
SlidesMarp"Markdown slides"
PitchGamma"AI pitch deck"
AutoPptxGenJS"Automated reports"

Just say: "use Slides", "use Pitch", or "use Auto"


The Three Tools

NicknameToolTypeBest For
SlidesMarpMarkdown → Multi-formatVersion-controlled technical docs
PitchGammaAI-generatedProfessional pitch decks, rapid prototyping
AutoPptxGenJSProgrammatic APIAutomated reports, data-driven slides

Quick Decision Matrix

code
┌─────────────────────────────────────────────────────────────────┐
│                    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

CriterionMarpGammaPptxGenJS
InputMarkdownNatural language promptJSON/TypeScript
OutputHTML, PDF, PPTXWeb link, exportableNative .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 CurveLowVery LowMedium
DependencyVS Code extensionWeb serviceNode.js

Use Case Matrix

Choose MARP When:

ScenarioWhy Marp
Technical documentationMarkdown source = version controlled
Conference talksDeveloper-friendly, Git-trackable
Internal team updatesQuick edits, no design overhead
Multi-format needsSame source → HTML + PDF + PPTX
Offline-firstNo cloud dependency

Marp Workflow:

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

ScenarioWhy Gamma
Pitch decks for stakeholdersProfessional polish, AI layouts
Rapid prototypingContent → deck in minutes
Non-technical audiencesBeautiful defaults
Presentations from rough notesAI structures the narrative
Client-facing deliverablesPublication-quality output

Gamma Workflow:

  1. Provide topic/outline to Alex
  2. Alex applies Duarte methodology (see gamma-presentations skill)
  3. Alex generates structured markdown
  4. 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:

ScenarioWhy PptxGenJS
Automated reportsData → slides pipeline
Dashboard exportsCharts from live data
Batch generation100 personalized decks
CI/CD integrationGenerate on build
Custom brandingFull Slide Master control

PptxGenJS Workflow:

typescript
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

ContextRecommended ToolRationale
"I have rough notes"GammaAI structures content
"I have structured data"PptxGenJSProgrammatic charts/tables
"I have Markdown content"MarpDirect conversion
"I need it in 5 minutes"GammaFastest to polished
"I need it repeatable monthly"PptxGenJSAutomation
"I need Git history"MarpPlain text source
"Audience is executives"GammaProfessional polish
"Audience is developers"MarpCode-adjacent workflow
"Audience is data analysts"PptxGenJSChart-heavy

Hybrid Workflows

Sometimes the best approach combines tools:

Marp → Gamma Refinement

  1. Draft slides in Marp (fast iteration)
  2. Export rough content
  3. Refine in Gamma for final polish

PptxGenJS + Marp Templates

  1. Use Marp themes for branding reference
  2. Replicate in PptxGenJS Slide Masters
  3. Automate data-driven generation

Gamma Consulting → PptxGenJS Automation

  1. Use Alex/Gamma for narrative structure
  2. Implement as PptxGenJS templates
  3. Feed data for automated generation

Anti-Patterns

❌ Don't✅ Instead
Use PptxGenJS for one-off deckUse Marp (faster)
Use Marp for executive pitchUse Gamma (better polish)
Use Gamma for automated reportsUse PptxGenJS (data integration)
Manually edit Gamma exportsRe-generate or use Marp
Copy-paste between toolsDefine 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"

Synapses

See synapses.json for connections.