ApiliumHub
Back to browse

presentation-builder

ApiliumApiliumv1.0.3600
officialplatinum (7/8)Clean scan

Build presentations — structure, content, slide layouts, PPTX generation

Install

mayros skill install presentation-builder
mayros skill install [email protected]

README


name: presentation-builder description: Build presentations — structure, content, slide layouts, PPTX generation guidance type: semantic user-invocable: true semantic: skillVersion: 1 permissions: graph: [read, write] memory: [recall, remember] assertions: - predicate: "presentation:created" requireProof: false - predicate: "presentation:structured" requireProof: false queries: - predicate: "presentation:created" scope: agent - predicate: "presentation:context" scope: agent allowedTools: ["*"] metadata: mayros: requires: {}

presentation-builder

Create PowerPoint presentations programmatically or via prompt guidance. Works in two modes: structure and content planning (always available) and PPTX generation (requires python3 + python-pptx).

Approach

Mode 1: Structure & Content (always available, no dependencies)

Help the user plan and write presentation content using proven frameworks.

Pyramid Principle (Minto/McKinsey)

  1. Start with the answer/recommendation (BLUF -- Bottom Line Up Front)
  2. Group supporting arguments (3-5 max per slide)
  3. Order logically: time, structure, importance
  4. Use "So what?" test for every slide

Slide Structure Templates

  • Title Slide: Title + subtitle + date + presenter
  • Agenda/TOC: 3-5 main sections with time allocations
  • Problem Statement: Context -> Problem -> Impact -> Urgency
  • Data Slide: Title as insight (not topic), chart/table, source, takeaway
  • Comparison: Side-by-side, pros/cons, before/after
  • Timeline/Roadmap: Phases, milestones, dependencies
  • Summary/Next Steps: Key decisions, action items, owners, deadlines

Design Guidelines (Tufte-inspired)

  • Data-ink ratio: maximize information, minimize decoration
  • One idea per slide
  • Max 6 bullet points per slide, max 6 words per bullet (6x6 rule)
  • Use speaker notes for detail, not the slide
  • Consistent fonts: 28-36pt titles, 18-24pt body
  • High contrast colors for readability

Presentation Length Guide

  • 5 min pitch: 5-7 slides
  • 15 min update: 10-12 slides
  • 30 min presentation: 15-20 slides
  • 60 min deep dive: 25-35 slides

Mode 2: PPTX Generation (requires python3 + python-pptx)

Note: PPTX generation (Mode 2) requires python3 and python-pptx (pip3 install python-pptx). Mode 1 (markdown structure) works without any dependencies.

If python3 is available and python-pptx can be installed:

# Install python-pptx
pip3 install python-pptx

Example: Generate a PPTX with Python

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN

prs = Presentation()

# Title slide
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "Quarterly Business Review"
slide.placeholders[1].text = "Q1 2026 — Company Name"

# Content slide with bullets
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Key Highlights"
tf = slide.placeholders[1].text_frame
tf.text = "Revenue grew 15% YoY"
tf.add_paragraph().text = "Customer base expanded to 10,000+"
tf.add_paragraph().text = "Net retention rate: 125%"

# Blank slide with custom positioning
slide = prs.slides.add_slide(prs.slide_layouts[6])
txBox = slide.shapes.add_textbox(Inches(1), Inches(1), Inches(8), Inches(1))
txBox.text_frame.text = "Custom positioned text"

prs.save('presentation.pptx')
print("Created: presentation.pptx")

Slide Layouts Available (by index)

  • 0: Title Slide
  • 1: Title and Content
  • 2: Section Header
  • 3: Two Content
  • 4: Comparison
  • 5: Title Only
  • 6: Blank
  • 7: Content with Caption
  • 8: Picture with Caption

Safety

  • Show the outline and structure before generating a PPTX file
  • Confirm the output file path before saving
  • Preview slide count and content summary before final generation

Semantic Integration

  • Use skill_assert with presentation:created to record each generated presentation
  • Use skill_assert with presentation:structured to record when an outline is finalized
  • Use skill_memory_context to recall previous presentation history
  • Query presentation:context for metadata about presentations (slide counts, topics)

Versions

v1.0.3Feb 27, 2026
v1.0.2Feb 27, 2026
v1.0.1Feb 27, 2026
v1.0.0Feb 27, 2026

Comments

Sign in to leave a comment.

Loading comments...