claude-presentation-master 6.1.0 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,394 +12,307 @@
12
12
  **7 Presentation Types • Expert Methodologies • QA Validation • Auto-Remediation**
13
13
 
14
14
  [Install Now](#installation) •
15
- [See It Work](#quick-start) •
16
- [Presentation Types](#7-presentation-types) •
17
- [Expert Knowledge](#the-knowledge-base)
15
+ [Quick Start](#-30-second-demo) •
16
+ [Graphics & Images](#-graphics--images) •
17
+ [Knowledge Base](#the-knowledge-base)
18
18
 
19
19
  </div>
20
20
 
21
21
  ---
22
22
 
23
- ## What's New in v4.0.0 — True Knowledge-Driven Architecture
24
-
25
- **The Knowledge Base now DRIVES everything at runtime — no more hardcoded specs.**
26
-
27
- ### Breaking Changes
28
- - `PresentationEngineV2` now requires Knowledge Base YAML at runtime
29
- - All design specs loaded from KB, not constants in code
30
-
31
- ### New Features
32
- - **📚 Runtime KB Loading** — The 6,300+ line YAML knowledge base is parsed at runtime, not duplicated in code
33
- - **🎯 H3 Action Title Extraction** — Markdown H3 headings become slide titles (McKinsey "so what" principle)
34
- - **📊 Tables Preserved Correctly** — Tables stay as tables, never mangled into metric cards
35
- - **🚫 No Orphan Slides** — Minimum 3 bullets per slide, balanced distribution
36
- - **✅ 95+ Quality Threshold** — Engine fails if quality score below 95/100
37
-
38
- ### Knowledge Base Integration
39
- - Word limits from `presentation_types.{type}.validation_rules.words_per_slide`
40
- - Bullet limits from `presentation_types.{type}.validation_rules.bullets_per_slide`
41
- - Theme from `presentation_types.{type}.color_palette`
42
- - Experts from `presentation_types.{type}.primary_experts`
43
- - Scoring weights from `presentation_types.{type}.scoring_weights`
44
-
45
- ### 7 Specialized Presentation Types
46
- | Type | Theme | Words/Slide | Key Experts |
47
- |------|-------|-------------|-------------|
48
- | `ted_keynote` | Dark | 1-15 | Duarte, Reynolds, Anderson |
49
- | `sales_pitch` | Modern | 10-30 | Cialdini, Heath |
50
- | `consulting_deck` | McKinsey | 40-80 | Minto, McKinsey, BCG |
51
- | `investment_banking` | McKinsey | 60-120 | Wall Street Prep |
52
- | `investor_pitch` | Startup | 5-30 | Sequoia, YC |
53
- | `technical_presentation` | Dark | 40-100 | Tufte, C4 Model |
54
- | `all_hands` | Minimal | 15-40 | Internal Comms |
23
+ ## What This Tool Does
55
24
 
56
- ---
57
-
58
- ## ⭐ Found This Useful?
59
-
60
- If this library saves you time (even just once), **please star the repo**. It helps other developers discover this tool and keeps the project active.
61
-
62
- <div align="center">
25
+ Claude Presentation Master transforms your content (Markdown, text, JSON, YAML) into professional presentations using a comprehensive **knowledge base of expert methodologies** from McKinsey, BCG, Nancy Duarte, Edward Tufte, and more.
63
26
 
64
- [![GitHub stars](https://img.shields.io/github/stars/Stuinfla/claude-presentation-master?style=social)](https://github.com/Stuinfla/claude-presentation-master)
27
+ ### The Complete Pipeline
65
28
 
66
- **[⭐ Star on GitHub](https://github.com/Stuinfla/claude-presentation-master)** — Takes 2 seconds, helps a lot
67
-
68
- </div>
29
+ ```
30
+ Your Content (Markdown, text, etc.)
31
+
32
+ Content Analysis (detects presentation type)
33
+
34
+ Slide Generation (KB-driven structure)
35
+
36
+ Image Assignment (local → Unsplash → placeholder)
37
+
38
+ 7-Dimension QA Scoring
39
+
40
+ Auto-Fix Issues (iterates until 95+)
41
+
42
+ Output: HTML (Reveal.js) + PowerPoint
43
+ ```
69
44
 
70
45
  ---
71
46
 
72
- ## 🚀 Why Developers Love This
47
+ ## 🖼️ Graphics & Images
73
48
 
74
- <table>
75
- <tr>
76
- <td width="50%">
49
+ ### How Images Work (No API Keys Required)
77
50
 
78
- ### ⚡️ Zero Cost Forever
79
- No API keys. No subscriptions. Runs 100% locally. MIT license.
51
+ The tool uses a **3-tier image fallback system** that works completely free:
80
52
 
81
- ### 🛡️ Fact-Checked Output
82
- Built-in hallucination detector ensures every claim is sourced from your input. Zero made-up statistics.
53
+ | Priority | Source | API Key Needed? | How It Works |
54
+ |----------|--------|-----------------|--------------|
55
+ | 1st | **Your Local Images** | No | Put images in same folder as your content |
56
+ | 2nd | **Unsplash Source** | No | Keyword-matched photos from Unsplash |
57
+ | 3rd | **Picsum.photos** | No | Professional placeholder images |
83
58
 
84
- </td>
85
- <td width="50%">
59
+ ### Option 1: Use Your Own Images (Best Quality)
86
60
 
87
- ### 🎯 Auto-Remediation to 95/100
88
- Automatically fixes quality issues until professional-grade threshold is met. No manual formatting needed.
61
+ Place images in the same directory as your content file:
89
62
 
90
- ### 🏦 Investment Banking Ready
91
- Football field charts, waterfall visualizations, comps tables — all auto-generated with proper formatting.
92
-
93
- </td>
94
- </tr>
95
- </table>
96
-
97
- ---
98
-
99
- ## The Scenario
63
+ ```
64
+ my-presentation/
65
+ ├── content.md # Your presentation content
66
+ ├── images/ # OR put in 'images' subfolder
67
+ │ ├── hero.jpg
68
+ │ ├── team.png
69
+ │ └── product-demo.gif
70
+ ├── screenshots/ # OR 'screenshots' subfolder
71
+ │ └── app-ui.png
72
+ └── assets/ # OR 'assets' subfolder
73
+ └── logo.svg
74
+ ```
100
75
 
101
- You're deep in a Claude Code session. You've built something real:
102
- - A product strategy
103
- - A quarterly business review
104
- - An investor pitch
105
- - A project plan
106
- - A competitive analysis
76
+ **The CLI auto-detects images** in:
77
+ - Same directory as input file
78
+ - `images/` subfolder
79
+ - `screenshots/` subfolder
80
+ - `assets/` subfolder
107
81
 
108
- Now you need slides.
82
+ Supported formats: `.jpg`, `.jpeg`, `.png`, `.gif`, `.webp`, `.svg`
109
83
 
110
- **What usually happens:**
84
+ ### Option 2: Automatic Free Images (No Work Required)
111
85
 
112
- You ask Claude to make a presentation. You get walls of text, generic bullet points, and amateur formatting. You spend the next two hours manually fixing everything in PowerPoint. Or you give up and just build it from scratch.
86
+ If you don't provide images, the tool automatically fetches relevant photos:
113
87
 
114
- **What happens with this library:**
88
+ **Unsplash Source (Free, No API Key)**
89
+ ```
90
+ https://source.unsplash.com/800x600/?technology,business
91
+ ```
92
+ - Matches keywords from your slide content
93
+ - High-quality photos
94
+ - No registration needed
95
+ - No rate limits for basic use
115
96
 
97
+ **Picsum.photos (Always Available)**
116
98
  ```
117
- Your Claude project context
118
-
119
- One command
120
-
121
- Professional presentation (HTML or PowerPoint)
122
- Ready to present. Ready to send to clients.
99
+ https://picsum.photos/800/600
123
100
  ```
101
+ - Professional placeholder images
102
+ - Seeded for consistency (same content = same image)
103
+ - Zero configuration
124
104
 
125
- ---
105
+ ### Optional: Enhanced Unsplash (More Control)
126
106
 
127
- ## 7 Presentation Types
107
+ If you want more control over images, you can optionally set an Unsplash API key:
128
108
 
129
- The engine automatically detects your content and applies the right expert methodology:
109
+ ```bash
110
+ # Optional - get a free key from https://unsplash.com/developers
111
+ export UNSPLASH_ACCESS_KEY="your-key-here"
130
112
 
131
- | Type | Expert Methodology | Visual Style | Best For |
132
- |------|-------------------|--------------|----------|
133
- | **TED Keynote** | Nancy Duarte (Sparkline) | Bold, minimal, black backgrounds | Conference talks, inspiration |
134
- | **Sales Pitch** | Robert Cialdini (Persuasion) | Trust blue, success green | Closing deals, demos |
135
- | **Consulting Deck** | Barbara Minto (Pyramid Principle) | McKinsey blue, action titles | Strategy, recommendations |
136
- | **Investment Banking** | Analyst Academy | Navy + gold, serif fonts | M&A, valuations, pitchbooks |
137
- | **Investor Pitch** | Sequoia/YC frameworks | Clean, startup purple | Fundraising, board decks |
138
- | **Technical Presentation** | Edward Tufte (Data-ink) | Dark mode, Space Grotesk | Architecture, engineering |
139
- | **All Hands Meeting** | Internal comms best practices | Corporate blue, win green | Company updates, celebrations |
113
+ # Then generate as normal
114
+ npx claude-presentation-master generate content.md
115
+ ```
140
116
 
141
- ### Investment Banking Specialty Charts
117
+ **Without the key, images still work** — they just use Unsplash Source (simpler API).
142
118
 
143
- For IB presentations, the engine generates industry-standard visualizations:
119
+ ### What About AI-Generated Images?
144
120
 
145
- ```typescript
146
- // Football Field Valuation Chart
147
- engine.addFootballFieldChart(slide, {
148
- title: 'Valuation Summary',
149
- methodologies: [
150
- { name: 'DCF', low: 42, mid: 48, high: 55 },
151
- { name: 'Comps', low: 38, mid: 45, high: 52 },
152
- { name: 'Precedents', low: 44, mid: 50, high: 58 }
153
- ],
154
- currentPrice: 46
155
- });
121
+ This tool does **not** generate AI images because:
122
+ 1. AI image APIs cost money
123
+ 2. They require API keys
124
+ 3. Stock photos are often better for presentations
156
125
 
157
- // Waterfall Chart
158
- engine.addWaterfallChart(slide, {
159
- title: 'Enterprise Value Bridge',
160
- startLabel: 'Equity Value',
161
- startValue: 850000,
162
- steps: [
163
- { label: 'Plus: Debt', value: 250000 },
164
- { label: 'Less: Cash', value: -150000 },
165
- { label: 'EV', value: 950000, isTotal: true }
166
- ]
167
- });
168
-
169
- // Sources & Uses Table
170
- engine.addSourcesUsesTable(slide, {
171
- title: 'Transaction Financing',
172
- sources: [
173
- { label: 'Senior Debt', amount: 500000 },
174
- { label: 'Equity', amount: 300000 }
175
- ],
176
- uses: [
177
- { label: 'Purchase Price', amount: 750000 },
178
- { label: 'Fees & Expenses', amount: 50000 }
179
- ]
180
- });
181
-
182
- // Comparable Companies Table
183
- engine.addCompsTable(slide, {
184
- title: 'Trading Comparables',
185
- columns: ['EV/Revenue', 'EV/EBITDA', 'P/E'],
186
- companies: [
187
- { name: 'Company A', values: [3.2, 12.5, 18.3] },
188
- { name: 'Company B', values: [2.8, 10.2, 15.7] },
189
- { name: 'Target Co', values: [2.5, 9.8, 14.2], highlight: true }
190
- ],
191
- medianRow: true
192
- });
193
- ```
126
+ If you want AI-generated images, create them separately and put them in your `images/` folder.
194
127
 
195
128
  ---
196
129
 
197
- ## Professional Typography
130
+ ## 🧠 The Knowledge Base
131
+
132
+ This isn't a template library. It's a **73,000+ token expert system** containing:
133
+
134
+ ### Presentation Experts Encoded
135
+
136
+ | Expert | Methodology | Used For |
137
+ |--------|-------------|----------|
138
+ | **Nancy Duarte** | Sparkline structure, STAR moments | TED-style keynotes |
139
+ | **Barbara Minto** | Pyramid Principle, SCQA | Consulting decks |
140
+ | **Edward Tufte** | Data-ink ratio, chartjunk elimination | Technical presentations |
141
+ | **Garr Reynolds** | Simplicity, restraint | Minimal designs |
142
+ | **Carmine Gallo** | Rule of Three, 18-minute rule | TED talks |
143
+ | **Robert Cialdini** | Persuasion principles | Sales pitches |
144
+ | **Chris Anderson** | TED formula | Keynotes |
145
+ | **McKinsey/BCG** | Action titles, one-message-per-slide | Business decks |
146
+
147
+ ### What the KB Controls
148
+
149
+ **Every decision** comes from the knowledge base:
150
+
151
+ ```yaml
152
+ # Word limits per presentation type
153
+ ted_keynote:
154
+ words_per_slide: { min: 1, max: 15 }
155
+
156
+ consulting_deck:
157
+ words_per_slide: { min: 40, max: 80 }
158
+
159
+ # Slide structure rules
160
+ allowed_elements:
161
+ keynote:
162
+ - title
163
+ - big_idea
164
+ - single_stat
165
+ - full_image
166
+ - quote
167
+
168
+ # Expert-specific rules
169
+ experts:
170
+ duarte:
171
+ sparkline_required: true
172
+ star_moment_placement: [3, 7, 11]
173
+
174
+ minto:
175
+ action_titles_required: true
176
+ scqa_structure: true
177
+ ```
198
178
 
199
- Each presentation type loads appropriate Google Fonts (zero cost):
179
+ ### 7 Presentation Types (Auto-Detected)
200
180
 
201
- | Type | Heading Font | Body Font | Personality |
202
- |------|-------------|-----------|-------------|
203
- | TED Keynote | DM Sans | DM Sans | Modern, bold |
204
- | Sales Pitch | Poppins | Poppins | Friendly, approachable |
205
- | Consulting | IBM Plex Sans | IBM Plex Sans | Clean, corporate |
206
- | Investment Banking | Libre Baskerville | IBM Plex Sans | Classic, authoritative |
207
- | Investor Pitch | DM Sans | Source Sans Pro | Startup, modern |
208
- | Technical | Space Grotesk | Source Sans Pro | Precision, engineering |
209
- | All Hands | Source Sans Pro | Source Sans Pro | Clear, professional |
181
+ | Type | Auto-Detection Keywords | Primary Experts |
182
+ |------|-------------------------|-----------------|
183
+ | `ted_keynote` | "TED", "inspire", "keynote" | Duarte, Reynolds, Anderson |
184
+ | `sales_pitch` | "sales", "demo", "prospect" | Cialdini, Heath |
185
+ | `consulting_deck` | "strategy", "recommendation" | Minto, McKinsey, BCG |
186
+ | `investment_banking` | "M&A", "DCF", "valuation" | Wall Street Prep |
187
+ | `investor_pitch` | "Series A", "raise", "investor" | Sequoia, YC |
188
+ | `technical_presentation` | "API", "architecture", "system" | Tufte, C4 Model |
189
+ | `all_hands` | "company update", "quarterly" | Internal Comms |
210
190
 
211
191
  ---
212
192
 
213
- ## Quality Assurance System
193
+ ## 📊 7-Dimension Quality Scoring
214
194
 
215
- ### Bulletproof QA Pipeline
195
+ Every presentation is scored across 7 dimensions. The tool **iterates until 95+**:
216
196
 
217
- Every presentation goes through a rigorous validation pipeline:
197
+ | Dimension | Weight | What It Measures |
198
+ |-----------|--------|------------------|
199
+ | **Layout** | 15% | Whitespace (40%+ required), balance, structure |
200
+ | **Contrast** | 15% | WCAG 4.5:1 compliance, readability |
201
+ | **Graphics** | 10% | Image presence, placement, relevance |
202
+ | **Content** | 20% | Word limits, bullet count, structure |
203
+ | **Clarity** | 15% | One message per slide, key message focus |
204
+ | **Effectiveness** | 15% | Expert methodology compliance |
205
+ | **Consistency** | 10% | Style uniformity, title casing |
206
+
207
+ ### Iterative Auto-Fix
218
208
 
219
209
  ```
220
- Content AnalysisSlide GenerationQA Validation → Auto-RemediationFinal Output
221
-
222
- [Loops until 95/100 threshold met]
210
+ Generate Score (85/100) Auto-Fix IssuesRegenerate Score (92/100) → Auto-FixScore (97/100) → ✅ Done
223
211
  ```
224
212
 
225
- ### What Gets Validated
226
-
227
- | Category | Checks |
228
- |----------|--------|
229
- | **Content** | Word count per slide, bullet count, one-idea-per-slide |
230
- | **Visual** | Whitespace %, font consistency, color count |
231
- | **Structure** | Title slide present, conclusion slide, logical flow |
232
- | **Expert Rules** | Glance test (3-second rule), Rule of Three, Pyramid structure |
233
- | **Accessibility** | WCAG contrast ratios, minimum font sizes |
234
- | **Hallucination** | Every fact must be traceable to source content |
235
-
236
- ### Hallucination Detection
237
-
238
- The engine includes a **zero-tolerance hallucination detector**:
239
-
240
- ```typescript
241
- // The engine checks every statistic, quote, and claim
242
- const factCheck = await hallucinationDetector.checkForHallucinations(
243
- slides,
244
- originalContent,
245
- contentAnalysis
246
- );
247
-
248
- // If unverified facts are found, they're automatically flagged and removed
249
- if (!factCheck.passed) {
250
- slides = hallucinationDetector.remediate(slides, factCheck);
251
- console.log(`Removed ${factCheck.issues.length} unverified claims`);
252
- }
253
- ```
213
+ The engine will iterate up to 5 times (configurable) to reach your target score.
254
214
 
255
215
  ---
256
216
 
257
217
  ## Installation
258
218
 
259
- ### Option 1: npx (Quick One-OffNo Install Needed)
260
-
261
- Run directly without installing anything. Perfect for trying it out or one-off presentations:
219
+ ### Option 1: npx (No InstallJust Run)
262
220
 
263
221
  ```bash
264
- # Generate a presentation instantly (downloads temporarily, runs, cleans up)
222
+ # Generate a keynote presentation instantly
265
223
  npx claude-presentation-master generate notes.md -m keynote -f html
266
224
 
267
225
  # Generate a consulting deck as PowerPoint
268
226
  npx claude-presentation-master generate strategy.md --type consulting_deck -f pptx
269
227
 
270
- # See all options
271
- npx claude-presentation-master --help
228
+ # Both formats
229
+ npx claude-presentation-master generate content.md -f html,pptx
272
230
  ```
273
231
 
274
- **When to use npx:**
275
- - Quick one-off presentation
276
- - Trying out the tool before installing
277
- - CI/CD pipelines where you don't want permanent installs
278
- - Sharing a command that "just works" for anyone
279
-
280
- ---
281
-
282
- ### Option 2: npm install (For Regular Use)
283
-
284
- Install once, use anytime with the short `cpm` command:
232
+ ### Option 2: Global Install (Short Command)
285
233
 
286
234
  ```bash
287
- # Install globally (recommended for regular use)
288
235
  npm install -g claude-presentation-master
289
236
 
290
- # Now use the short command anywhere
291
- cpm generate notes.md -m keynote -f html
292
- cpm generate strategy.md --type investment_banking -f pptx
237
+ # Now use the short 'cpm' command anywhere
238
+ cpm generate notes.md -m keynote
293
239
  cpm info
294
240
  ```
295
241
 
296
- **Or install as a project dependency:**
297
-
298
- ```bash
299
- # In your project directory
300
- npm install claude-presentation-master
301
-
302
- # Use programmatically in your code (see below)
303
- ```
304
-
305
- **When to use npm install:**
306
- - You create presentations regularly
307
- - You want the short `cpm` command
308
- - You're building it into a Claude Code workflow
309
- - You want to use the TypeScript API in your code
310
-
311
- ---
312
-
313
- ### Optional: Visual Testing
314
-
315
- For Playwright-based visual regression testing (not required for generation):
316
-
317
- ```bash
318
- npx playwright install chromium
319
- ```
320
-
321
- **No API keys. No subscriptions. Zero cost.**
322
-
323
242
  ---
324
243
 
325
244
  ## ⚡ 30-Second Demo
326
245
 
327
- Try this right now — literally 30 seconds:
328
-
329
246
  ```bash
330
247
  # Create a test file
331
- echo "# My Big Idea
332
-
333
- This will change everything.
248
+ echo "# Our Big Opportunity
334
249
 
335
250
  ## The Problem
336
- People waste hours formatting slides instead of working on content.
337
-
338
- ## The Solution
339
- Automated presentation generation with expert methodology built in." > test.md
340
-
341
- # Generate presentation (no install needed)
342
- npx claude-presentation-master generate test.md -m keynote -f html -o ./demo
343
-
344
- # Open demo/my-big-idea.html in your browser
345
- ```
346
-
347
- **That's it.** You just created a professional TED-style presentation in 30 seconds.
348
-
349
- ---
350
-
351
- ## Example Slides
251
+ Enterprise teams waste 40% of time on manual data entry.
252
+ $50B market. Growing 23% annually.
352
253
 
353
- <div align="center">
254
+ ## Our Solution
255
+ AI-powered automation that learns from your workflow.
256
+ Currently serving 150 enterprise customers.
354
257
 
355
- ### Keynote Style (TED-inspired)
356
- ![Keynote Example](assets/screenshots/example-keynote.png)
357
- *Bold statements with dramatic contrast — designed for inspiration*
258
+ ## Traction
259
+ - \$2.4M ARR (up from \$800K last year)
260
+ - 94% customer retention
261
+ - NPS score of 72
358
262
 
359
- ### Sales Pitch
360
- ![Sales Example](assets/screenshots/example-sales.png)
361
- *Persuasive metrics with trust-building colors — designed to close deals*
263
+ ## The Ask
264
+ Raising \$15M to expand into Europe." > pitch.md
362
265
 
363
- ### Consulting Deck (McKinsey-style)
364
- ![Consulting Example](assets/screenshots/example-consulting.png)
365
- *Action titles with supporting data — designed for executive decisions*
266
+ # Generate presentation (auto-detects as investor_pitch)
267
+ npx claude-presentation-master generate pitch.md -m keynote -f html -o ./demo
366
268
 
367
- </div>
269
+ # Open demo/our-big-opportunity.html in your browser
270
+ ```
368
271
 
369
272
  ---
370
273
 
371
- ## Quick Start
372
-
373
- ### From the Command Line (npx)
374
-
375
- ```bash
376
- # One-liner: Generate keynote from markdown (no install needed)
377
- npx claude-presentation-master generate notes.md -m keynote -f html
378
-
379
- # Generate consulting deck
380
- npx claude-presentation-master generate strategy.md --type consulting_deck -f pptx
274
+ ## CLI Reference
381
275
 
382
- # Generate IB pitchbook with both formats
383
- npx claude-presentation-master generate deal.md --type investment_banking -f html,pptx -o ./output
384
276
  ```
385
-
386
- ### From the Command Line (after npm install -g)
387
-
388
- ```bash
389
- # TED-style keynote presentation
390
- cpm generate keynote-talk.md --mode keynote --format html
391
-
392
- # Consulting strategy deck
393
- cpm generate strategy.md --mode business --format pptx
394
-
395
- # Investment banking pitchbook
396
- cpm generate deal-memo.md --type investment_banking --format pptx
397
-
398
- # Generate both formats
399
- cpm generate quarterly-review.md --mode business --format html,pptx
277
+ USAGE:
278
+ npx claude-presentation-master <command> [options]
279
+ cpm <command> [options]
280
+
281
+ COMMANDS:
282
+ generate <input> Generate presentation from input file
283
+ validate <file> Validate existing HTML presentation
284
+ info Show package information
285
+
286
+ OPTIONS:
287
+ -o, --output <dir> Output directory (default: ./output)
288
+ -m, --mode <mode> keynote (6-25 words) or business (40-80 words)
289
+ -f, --format <fmt> html, pptx, or html,pptx
290
+ --type <type> Presentation type (auto-detected if omitted)
291
+ -t, --theme <name> Theme: default, consulting-classic, modern-tech, minimal
292
+ --title <title> Presentation title
293
+ --author <name> Author name
294
+ --min-score <num> Minimum QA score (default: 95)
295
+ --max-iterations <num> Max auto-fix iterations (default: 5)
296
+ --no-iterative Disable iterative QA (single pass)
297
+ --skip-qa Skip QA (NOT recommended)
298
+
299
+ EXAMPLES:
300
+ # TED-style keynote
301
+ cpm generate talk.md -m keynote -f html
302
+
303
+ # McKinsey-style consulting deck
304
+ cpm generate strategy.md -m business --type consulting_deck -f pptx
305
+
306
+ # Investment banking pitchbook
307
+ cpm generate deal.md --type investment_banking -f pptx
308
+
309
+ # High quality bar (98+)
310
+ cpm generate content.md --min-score 98 --max-iterations 10
400
311
  ```
401
312
 
402
- ### From Your Code
313
+ ---
314
+
315
+ ## Programmatic API
403
316
 
404
317
  ```typescript
405
318
  import { PresentationEngine } from 'claude-presentation-master';
@@ -407,168 +320,89 @@ import { PresentationEngine } from 'claude-presentation-master';
407
320
  const engine = new PresentationEngine();
408
321
 
409
322
  const result = await engine.generate({
410
- content: `
411
- # Series A Pitch
412
-
413
- ## The Problem
414
- Enterprise teams waste 40% of time on manual data entry.
415
- $50B market. Growing 23% annually.
416
-
417
- ## Our Solution
418
- AI-powered automation that learns from your workflow.
419
- Currently serving 150 enterprise customers.
420
-
421
- ## Traction
422
- - $2.4M ARR (up from $800K last year)
423
- - 94% customer retention
424
- - NPS score of 72
425
-
426
- ## The Ask
427
- Raising $15M to expand into Europe and build enterprise sales team.
428
- `,
323
+ content: markdownContent,
429
324
  contentType: 'markdown',
430
325
  title: 'Series A Pitch',
431
326
  mode: 'keynote',
432
327
  format: ['html', 'pptx'],
433
- author: 'Founder Name'
328
+
329
+ // Optional
330
+ presentationType: 'investor_pitch', // auto-detected if omitted
331
+ qaThreshold: 95,
332
+ maxIterations: 5,
333
+ author: 'Your Name'
434
334
  });
435
335
 
436
- // Guaranteed 95/100 quality or higher
336
+ // Results
437
337
  console.log(`Score: ${result.score}/100`);
438
- console.log(`Grade: ${result.metadata.grade}`);
338
+ console.log(`Slides: ${result.metadata.slideCount}`);
439
339
 
440
340
  // Save outputs
441
341
  fs.writeFileSync('pitch.html', result.outputs.html);
442
342
  fs.writeFileSync('pitch.pptx', result.outputs.pptx);
443
343
  ```
444
344
 
445
- ### Specifying Presentation Type
446
-
447
- ```typescript
448
- // Let the engine auto-detect (recommended)
449
- const result = await engine.generate({
450
- content: dealMemo,
451
- mode: 'business',
452
- format: ['pptx']
453
- });
454
- // Engine detects "investment_banking" from content keywords
455
-
456
- // Or specify explicitly
457
- const result = await engine.generate({
458
- content: techSpec,
459
- mode: 'keynote',
460
- presentationType: 'technical_presentation',
461
- format: ['html']
462
- });
463
- ```
464
-
465
345
  ---
466
346
 
467
- ## The Knowledge Base
468
-
469
- This isn't a template library. It's a **complete expert system** — 6,300+ lines of encoded expertise.
470
-
471
- ### What's Inside
472
-
473
- **From McKinsey, BCG, Bain:**
474
- - Pyramid Principle — Lead with the answer
475
- - SCQA Framework — Situation → Complication → Question → Answer
476
- - Action Titles — "Revenue grew 23%" not "Revenue Analysis"
477
- - One Message Per Slide — Every slide has exactly one job
478
- - Chart Callouts — Always tell the audience what to see
479
-
480
- **From Nancy Duarte (Slide:ology, Resonate):**
481
- - Sparkline Structure — Alternate between "what is" and "what could be"
482
- - STAR Moments — Something They'll Always Remember
483
- - Glance Test — Understand it in 3 seconds or less
484
- - Signal-to-Noise — Maximize meaning, eliminate clutter
485
-
486
- **From Garr Reynolds (Presentation Zen):**
487
- - Simplicity — When in doubt, leave it out
488
- - Restraint — Resist the urge to add
489
- - Visual over Verbal — Show, don't tell
490
-
491
- **From Carmine Gallo (Talk Like TED):**
492
- - Rule of Three — Human memory works in threes
493
- - 18-Minute Rule — Optimal presentation length
494
- - Emotional Connection — Touch hearts before minds
495
-
496
- **From Edward Tufte:**
497
- - Data-Ink Ratio — Every drop of ink should represent data
498
- - Chartjunk Elimination — No 3D effects, no decorative gridlines
499
- - Graphical Integrity — Never distort data for visual effect
500
-
501
- **From Barbara Minto (The Pyramid Principle):**
502
- - Top-Down Communication — Conclusion first, support second
503
- - MECE Grouping — Mutually Exclusive, Collectively Exhaustive
504
- - Vertical Logic — Each level supports the one above
505
-
506
- **From Robert Cialdini (Influence):**
507
- - Social Proof — Show who else succeeded
508
- - Scarcity — Limited time, limited availability
509
- - Authority — Credentials and expertise
510
- - Reciprocity — Give value first
511
-
512
- ---
513
-
514
- ## Two Modes × Seven Types
515
-
516
- ### Presentation Modes
347
+ ## Output Formats
517
348
 
518
- **Keynote Mode** — For inspiring and persuading
519
- - 6-15 words per slide (like Steve Jobs)
520
- - 40%+ whitespace
521
- - One idea per slide
522
- - Emotional narrative structure
523
- - Big visuals, minimal text
349
+ ### HTML (Reveal.js)
524
350
 
525
- **Business Mode** For informing and documenting
526
- - 40-80 words per slide
527
- - Action titles (full sentences that state conclusions)
528
- - Data with callouts
529
- - Structured with Pyramid Principle
530
- - Charts, tables, metrics grids
351
+ - Modern, web-native slides
352
+ - Share via URL
353
+ - Works on any device
354
+ - Keyboard shortcuts: `S` (speaker notes), `F` (fullscreen)
355
+ - Embedded CSS with presentation-type theming
531
356
 
532
- ### Presentation Types (Auto-Detected)
357
+ ### PowerPoint (PPTX)
533
358
 
534
- | Keyword Triggers | Detected Type |
535
- |-----------------|---------------|
536
- | "TED", "keynote", "inspire" | `ted_keynote` |
537
- | "sales", "demo", "prospect" | `sales_pitch` |
538
- | "strategy", "recommendation", "McKinsey" | `consulting_deck` |
539
- | "M&A", "valuation", "DCF", "pitchbook" | `investment_banking` |
540
- | "Series A", "raise", "investor" | `investor_pitch` |
541
- | "API", "architecture", "system design" | `technical_presentation` |
542
- | "all hands", "company update", "quarterly" | `all_hands` |
359
+ - Opens in Microsoft PowerPoint
360
+ - Fully editable
361
+ - Send to clients
362
+ - Print to PDF
363
+ - Includes IB specialty charts (football field, waterfall, comps)
543
364
 
544
365
  ---
545
366
 
546
- ## Output Formats
367
+ ## Investment Banking Features
547
368
 
548
- ### HTML Presentations (Reveal.js)
369
+ For IB presentations, the engine generates industry-standard charts:
549
370
 
550
- Modern, web-native slides:
551
- - Share via URL — just send a link
552
- - Works on any device — desktop, tablet, phone
553
- - Keyboard shortcuts: `S` for speaker notes, `F` for fullscreen
554
- - Embedded CSS with presentation-type-specific theming
555
- - Glass morphism effects, smooth transitions
371
+ ```typescript
372
+ // Football Field Valuation
373
+ engine.addFootballFieldChart(slide, {
374
+ title: 'Valuation Summary',
375
+ methodologies: [
376
+ { name: 'DCF', low: 42, mid: 48, high: 55 },
377
+ { name: 'Comps', low: 38, mid: 45, high: 52 }
378
+ ],
379
+ currentPrice: 46
380
+ });
556
381
 
557
- ### PowerPoint (PPTX)
382
+ // Waterfall Chart
383
+ engine.addWaterfallChart(slide, {
384
+ title: 'Enterprise Value Bridge',
385
+ startValue: 850000,
386
+ steps: [
387
+ { label: 'Plus: Debt', value: 250000 },
388
+ { label: 'Less: Cash', value: -150000 }
389
+ ]
390
+ });
558
391
 
559
- Traditional format:
560
- - Opens in Microsoft PowerPoint
561
- - Fully editable
562
- - Send to clients who expect PPTX
563
- - Print to PDF for handouts
564
- - Includes IB specialty charts (football field, waterfall, etc.)
392
+ // Comparable Companies Table
393
+ engine.addCompsTable(slide, {
394
+ columns: ['EV/Revenue', 'EV/EBITDA', 'P/E'],
395
+ companies: [
396
+ { name: 'Company A', values: [3.2, 12.5, 18.3] },
397
+ { name: 'Target Co', values: [2.5, 9.8, 14.2], highlight: true }
398
+ ]
399
+ });
400
+ ```
565
401
 
566
402
  ---
567
403
 
568
404
  ## Quality Scores
569
405
 
570
- Every presentation gets a quality score:
571
-
572
406
  | Score | Grade | Status |
573
407
  |-------|-------|--------|
574
408
  | 97-100 | A+ | Exceptional |
@@ -576,66 +410,45 @@ Every presentation gets a quality score:
576
410
  | 90-92 | A- | Very Good |
577
411
  | 85-89 | B+ | Good |
578
412
  | 80-84 | B | Acceptable |
579
- | 75-79 | B- | Needs Work |
580
- | < 75 | C or below | Blocked (auto-remediation applied) |
413
+ | < 80 | C | Auto-remediation applied |
581
414
 
582
415
  **Default threshold: 95/100**
583
416
 
584
- The engine will automatically remediate issues (up to 5 iterations) until the threshold is met. If it can't reach 95, it delivers the best result with a detailed report of remaining issues.
585
-
586
417
  ---
587
418
 
588
- ## Zero Cost Guarantee
589
-
590
- | Component | Cost | Notes |
591
- |-----------|------|-------|
592
- | NPM Package | FREE | MIT License |
593
- | Dependencies | FREE | pptxgenjs, reveal.js, marked, etc. |
594
- | Fonts | FREE | Google Fonts CDN |
595
- | QA Validation | FREE | Built-in validators |
596
- | Visual Testing | FREE | Playwright (optional) |
597
- | API Keys | NONE | Runs 100% locally |
419
+ ## Themes
598
420
 
599
- **No subscriptions. No usage limits. No API costs.**
421
+ | Theme | Look | Best For |
422
+ |-------|------|----------|
423
+ | `default` | Dark executive | General use |
424
+ | `consulting-classic` | Cream + navy | McKinsey/BCG style |
425
+ | `modern-tech` | Light + teal | Startups |
426
+ | `minimal` | Maximum whitespace | Design-focused |
427
+ | `dark-executive` | Dark mode | Screen presentations |
428
+ | `investment-banking` | Navy + gold | Finance |
600
429
 
601
430
  ---
602
431
 
603
432
  ## FAQ
604
433
 
605
434
  **Does this require an API key?**
606
- No. Everything runs locally on your machine.
435
+ No. Everything runs 100% locally. Images use free services (Unsplash Source, Picsum.photos).
607
436
 
608
437
  **What's the difference between mode and type?**
609
- - **Mode** (`keynote` or `business`) controls word counts and visual density
610
- - **Type** (e.g., `investment_banking`) selects the expert methodology and theming
438
+ - **Mode** (`keynote`/`business`): Controls word count and visual density
439
+ - **Type** (e.g., `consulting_deck`): Selects expert methodology and theming
611
440
 
612
- **Can I customize the output?**
613
- Yes. HTML is just HTML. PPTX opens in PowerPoint. Edit freely.
441
+ **How do I add custom images?**
442
+ Put them in the same directory as your input file (or in `images/`, `screenshots/`, `assets/` subfolders). The CLI auto-detects them.
614
443
 
615
- **What if I don't like the auto-detected type?**
616
- Specify it explicitly: `presentationType: 'consulting_deck'`
617
-
618
- **Does it work with Claude Code?**
619
- Yes — that's exactly what it's designed for.
620
-
621
- **What about images?**
622
- Every slide automatically gets a contextual background image from Unsplash (free, no API key required). Images are at 40% opacity with a cinematic dark overlay to ensure text readability. The image keywords are selected based on slide type and content.
444
+ **What if Unsplash is slow or down?**
445
+ The tool automatically falls back to Picsum.photos placeholders.
623
446
 
624
447
  **Can I lower the quality threshold?**
625
- Yes, but not recommended: `qaThreshold: 80`
626
-
627
- ---
628
-
629
- ## Themes
448
+ Yes, but not recommended: `--min-score 80`
630
449
 
631
- | Theme | Look | Best For |
632
- |-------|------|----------|
633
- | `default` | Dark executive | General use |
634
- | `consulting-classic` | Cream + navy | McKinsey/BCG style |
635
- | `modern-tech` | Light + teal | Startups |
636
- | `minimal` | Maximum whitespace | Design-focused |
637
- | `dark-executive` | Dark mode | Screen presentations |
638
- | `investment-banking` | Navy + gold | Finance |
450
+ **Does it work with Claude Code?**
451
+ Yes — that's exactly what it's designed for.
639
452
 
640
453
  ---
641
454
 
@@ -645,46 +458,23 @@ Yes, but not recommended: `qaThreshold: 80`
645
458
  Title • Big Idea • Single Statement • Full Image • Big Number • Quote • CTA • Thank You
646
459
 
647
460
  **Business Mode:**
648
- Title • Agenda • Bullet Points • Two Column • Three Column • Metrics Grid • Timeline • Process Flow • Comparison • Case Study • Section Divider • Thank You
461
+ Title • Agenda • Bullet Points • Two Column • Three Column • Metrics Grid • Timeline • Process Flow • Comparison • Case Study • Section Divider
649
462
 
650
- **Investment Banking (PPTX):**
651
- Football Field Chart • Waterfall Chart • Sources & Uses Table • Comparable Companies Table
463
+ **Investment Banking:**
464
+ Football Field Chart • Waterfall Chart • Sources & Uses • Comparable Companies Table
652
465
 
653
466
  ---
654
467
 
655
- ## API Reference
656
-
657
- ### PresentationEngine
658
-
659
- ```typescript
660
- const engine = new PresentationEngine();
661
-
662
- const result = await engine.generate({
663
- // Required
664
- content: string, // Your source content
665
- title: string, // Presentation title
666
- mode: 'keynote' | 'business',
667
- format: ('html' | 'pptx')[],
668
-
669
- // Optional
670
- contentType?: 'markdown' | 'text' | 'html',
671
- presentationType?: PresentationType, // Auto-detected if omitted
672
- author?: string,
673
- theme?: string,
674
- qaThreshold?: number, // Default: 95
675
- });
468
+ ## Zero Cost Guarantee
676
469
 
677
- // Result
678
- interface PresentationResult {
679
- outputs: {
680
- html?: string,
681
- pptx?: Buffer
682
- },
683
- score: number, // Quality score 0-100
684
- qaResults: QAResults, // Detailed validation results
685
- metadata: PresentationMetadata
686
- }
687
- ```
470
+ | Component | Cost | Notes |
471
+ |-----------|------|-------|
472
+ | NPM Package | FREE | MIT License |
473
+ | Dependencies | FREE | reveal.js, pptxgenjs, etc. |
474
+ | Fonts | FREE | Google Fonts CDN |
475
+ | Images | FREE | Unsplash Source, Picsum |
476
+ | QA Validation | FREE | Built-in |
477
+ | API Keys | NONE | Runs 100% locally |
688
478
 
689
479
  ---
690
480
 
@@ -702,72 +492,18 @@ Questions? [stuart@isovision.ai](mailto:stuart@isovision.ai)
702
492
 
703
493
  ---
704
494
 
705
- ## Who's Using This
706
-
707
- <table>
708
- <tr>
709
- <td width="50%">
710
-
711
- ### Built For
712
- - **Startup founders** creating investor pitch decks
713
- - **Consultants** building client deliverables
714
- - **Product managers** making quarterly reviews
715
- - **Engineers** documenting technical architectures
716
- - **Anyone** who's tired of fighting with slides
717
-
718
- </td>
719
- <td width="50%">
720
-
721
- ### What Users Say
722
-
723
- > "Saved me 3 hours on our Series A deck. The IB charts alone are worth it."
724
- > — *Founder, B2B SaaS Startup*
725
-
726
- > "Finally, presentations that don't look like they were made by a bot."
727
- > — *Senior Consultant*
728
-
729
- </td>
730
- </tr>
731
- </table>
732
-
733
- **Using this in production?** [Share your experience →](https://github.com/Stuinfla/claude-presentation-master/discussions)
734
-
735
- ---
736
-
737
- ## Contributing
738
-
739
- Contributions welcome! Here's how to help:
740
-
741
- 1. **Report bugs** via [GitHub Issues](https://github.com/Stuinfla/claude-presentation-master/issues)
742
- 2. **Suggest features** in [Discussions](https://github.com/Stuinfla/claude-presentation-master/discussions)
743
- 3. **Submit PRs** for bug fixes or new presentation types
744
- 4. **Share examples** of presentations you've created
745
-
746
- ---
747
-
748
495
  <div align="center">
749
496
 
750
497
  ## Stop Fighting With Slides. Start Presenting.
751
498
 
752
- **You've wasted enough time manually formatting PowerPoint slides.**
753
-
754
- This library generates professional presentations from your content in seconds.
755
- Zero cost. Zero API keys. Zero manual formatting.
756
-
757
499
  ```bash
758
500
  npx claude-presentation-master generate your-content.md -m keynote -f html
759
501
  ```
760
502
 
761
- ### [→ Try It Now](#-30-second-demo) | [⭐ Star on GitHub](https://github.com/Stuinfla/claude-presentation-master)
762
-
763
- ---
764
-
765
503
  **Built on methodologies from:**
766
- McKinsey • BCG • Bain • Nancy Duarte • Garr Reynolds • Carmine Gallo
504
+ McKinsey • BCG • Nancy Duarte • Garr Reynolds • Carmine Gallo
767
505
  Chris Anderson • Barbara Minto • Edward Tufte • Robert Cialdini
768
506
 
769
507
  **100% Free • Zero API Keys • Runs Locally • MIT License**
770
508
 
771
- Questions? [stuart@isovision.ai](mailto:stuart@isovision.ai)
772
-
773
509
  </div>