Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generates professional presentations from a JSON deck specification using 18 slide types with dark/light variants, content-to-layout decision logic, and calibrated character limits. Ships with a default professional theme.
.claude/skills/product-on-purpose-utility-slideshow-creator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -36% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -30% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 99% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -64% | 0% |
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
Generate professional presentations (.pptx and .pdf) from a JSON deck specification. Zero design decisions at generation time - Claude selects slide types and fills content slots; all visual properties are pre-decided by the theme.
Two-phase architecture:
node scripts/generate-deck.js deck-spec.json to produce .pptx. Optionally run node scripts/export-pdf.mjs deck-spec.json for PDF. Deterministic rendering, zero token cost.Both outputs come from the same JSON spec, so .pptx and .pdf always match.
| # | Type Key | Purpose | Default Variant | |---|----------|---------|-----------------| | 1 | title_dark | Opening slide (bold) | dark only | | 2 | title_light | Opening slide (internal/lighter) | light only | | 3 | section | Section divider | dark | | 4 | content | Paragraph explanation | light | | 5 | bullets | 3-6 key points | light | | 6 | two_col | Side-by-side comparison | light | | 7 | stat | Single key metric | light | | 8 | dual_stat | Two metrics compared | dark | | 9 | quote | Testimonial or pull quote | dark | | 10 | three_card | Three parallel concepts | dark | | 11 | four_grid | Four concepts in 2x2 grid | dark | | 12 | timeline | Dates or milestones (max 6) | light | | 13 | process_flow | Sequential workflow (max 5) | light | | 14 | agenda | Meeting agenda (max 7) | light | | 15 | highlight | Key finding or executive summary | light | | 16 | table | Tabular data | light | | 17 | icon_rows | Feature list with markers (max 4) | light | | 18 | closing | End slide | dark only |
Full slot definitions and character limits: references/slide-types.md
| Content Pattern | Use | |---|---| | Opening the deck (bold) | title_dark | | Opening the deck (internal) | title_light | | Transitioning between topics | section | | Paragraph explanation | content | | List of 3-6 points | bullets | | Side-by-side comparison | two_col | | Single key metric | stat | | Two metrics compared | dual_stat | | Testimonial or pull quote | quote | | Three parallel concepts | three_card | | Four concepts in a grid | four_grid | | Dates or milestones | timeline | | Sequential workflow | process_flow | | Meeting agenda | agenda | | Key finding or summary | highlight | | Tabular data | table | | Feature list with markers | icon_rows | | Ending the deck | closing |
Full decision logic with variant strategy: references/decision-logic.md
json{ "title": "Q3 Product Update", "author": "Product Team", "footerText": "Internal . Q3 Review", "slides": [ { "type": "title_dark", "title": "Q3 Product Update", "subtitle": "October 2026" }, { "type": "stat", "stat": "94%", "label": "Customer satisfaction score", "accentColor": "secondary" }, { "type": "bullets", "title": "What Shipped", "bullets": ["Feature A", "Feature B", "Feature C"] }, { "type": "closing" } ] }
Colors accept theme token names ("accent", "secondary", "tertiary", "warm") or 6-character hex strings ("2563EB").
Full schema and workflow: references/TEMPLATE.md and references/platform-rules.md
references/slide-types.mdnode scripts/generate-deck.js deck-spec.jsonnode scripts/export-pdf.mjs deck-spec.json output.pdfreferences/slide-types.md# prefix)| File | Purpose | |------|---------| | references/TEMPLATE.md | JSON deck specification template with field documentation | | references/EXAMPLE.md | Worked example: Q3 Product Update deck (9 slides) | | references/slide-types.md | All 18 slide types: content slots, character limits, variants | | references/decision-logic.md | Content pattern → slide type mapping, variant strategy, deck sizing | | references/platform-rules.md | pptxgenjs requirements, Google Slides compatibility, output format |
Other measured skills in the registry, with their headline benchmark lift.