// "Create professional slide decks from topics or documents. Generates structured content with data-driven charts, speaker notes, and complete PPTX files. Applies persuasive storytelling principles (Pyramid Principle, assertion-evidence). Supports multiple formats (Marp, PowerPoint). Use for presentations, pitches, slide decks, or keynotes."
| name | ppt-creator |
| description | Create professional slide decks from topics or documents. Generates structured content with data-driven charts, speaker notes, and complete PPTX files. Applies persuasive storytelling principles (Pyramid Principle, assertion-evidence). Supports multiple formats (Marp, PowerPoint). Use for presentations, pitches, slide decks, or keynotes. |
Goal: Transform a simple topic into a presentation-ready, high-quality slide deck. When key information is missing, use the minimal intake form (references/INTAKE.md) to gather context or apply safe defaults. Then follow the workflow (references/WORKFLOW.md) to produce an outline, slide drafts, charts, and speaker notes. After generation, self-evaluate using the rubric (references/RUBRIC.md); if the score is < 75, automatically refine up to 2 iterations until โฅ 75 before delivery. See Deliverables section for final output structure.
Use this skill when the user requests:
Gather Intent: If critical information is missing, ask the 10 Minimal Questions (references/INTAKE.md). If the user doesn't respond after 2 prompts, use the safe default for each item and clearly note assumptions in speaker notes.
Structure the Story: Apply the Pyramid Principle to establish "one conclusion โ 3-5 top-level reasons โ supporting evidence." Each slide uses assertion-style headings (complete sentences), with body content providing evidence (charts/tables/diagrams/data points). Templates are in references/TEMPLATES.md.
Choose Charts: Use the Chart Selection Dictionary in references/VIS-GUIDE.md to pick the most appropriate visualization for each point. If the user provides data (tables/CSV), optionally call scripts/chartkit.py to generate PNG charts; otherwise, create placeholder diagrams with a list of required data fields.
Layout & Style: Follow references/STYLE-GUIDE.md for font sizes, line spacing, white space, contrast ratios, color palettes, and accessibility (WCAG AA compliance).
Speaker Notes: Generate 45-60 second speaker notes for each slide, structured as: opening โ core assertion โ evidence explanation โ transition.
Self-Check & Score: Use references/CHECKLIST.md for a pre-flight check, then score with references/RUBRIC.md. If total score < 75, identify the weakest 3 items and refine; repeat scoring (max 2 iterations).
Deliverables (all saved to /output/):
/output/slides.md: Markdown slides (Marp/Reveal.js compatible), with assertion-style headings + bullet points/chart placeholders + notes/output/assets/*.png: Generated charts (if applicable)/output/notes.md: Full speaker notes and delivery outline/output/refs.md: Citations and data sources/output/presentation.pptx: If python-pptx is available, export to PPTX; otherwise, keep Markdown and include instructions for "one-click conversion to PPTX" in the first screen (does not block delivery)When the user requests a "complete" or "presentation-ready" deliverable, ppt-creator automatically orchestrates the full pipeline: content creation โ data synthesis โ chart generation โ dual-path PPTX creation (Marp + document-skills:pptx) โ chart insertion. This typically delivers TWO complete PPTX files with different styling for user comparison.
Activation: Phrases like "complete PPTX", "final deliverable", "ready for presentation" Duration: 4-6 minutes (parallel execution) Output: presentation_marp_with_charts.pptx + presentation_pptx_with_charts.pptx
For orchestration details, see references/ORCHESTRATION_OVERVIEW.md (start here), then navigate to specialized guides as needed.
matplotlib/pandas are unavailable, fall back to text + placeholder diagram instructions.Stage 0 - Archive Input: Record user's original request, defaults used, and assumptions made.
Stage 1 - Structure Goals: Rewrite the goal into "who takes what action when" (clear CTA).
Stage 2 - Storyline: Use Pyramid Principle to define "one-sentence conclusion โ 3-5 first-level reasons โ evidence."
Stage 3 - Outline & Slide Titles: Create a 12-15 slide chapter skeleton. Each slide has one assertion-style heading.
Stage 4 - Evidence & Charts: Use the Chart Selection Dictionary from VIS-GUIDE. If data is provided, call chartkit.py to generate PNGs; otherwise, create placeholder + required field list.
Stage 5 - Layout & Accessibility: Apply STYLE-GUIDE for font sizes, spacing, contrast ratios, color palettes; unify units and decimal places.
Stage 6 - Speaker Notes: Generate 45-60 second notes per slide: opening โ assertion โ evidence explanation โ transition.
Stage 7 - Self-Check & Scoring: Run CHECKLIST; score with RUBRIC. If score < 75, focus on weakest 3 items, refine, re-score (max 2 iterations).
Stage 8 - Package Deliverables: Generate /output/ directory with slides.md / notes.md / refs.md / assets/*.png. If python-pptx is available, export PPTX.
Stage 9 - Reuse Instructions: Append a "5-step guide to replace data/colors with your own" at the end of notes.md.
Minimal 10-Item Questionnaire (use defaults if missing):
Detailed step-by-step process from "topic" to "presentation-ready output."
Slide Template Library (assertion-evidence style):
Data Visualization Selection & Labeling Standards:
Layout & Style (neutral theme, supports brand replacement):
PPT Quality Scoring Rubric (100 points; โฅ 75 to deliver): Each item scored 0-10:
Self-evaluation process: Run CHECKLIST first, then score each item and write top 3 low-scoring items + improvement actions. If total < 75, apply actions and re-score (max 2 iterations).
Pre-flight checklist for final quality assurance before delivery.
Two Usage Examples:
Minimal chart renderer for ppt-creator.
Usage:
python scripts/chartkit.py \
--data path/to/data.csv \
--type line \
--x date \
--y sales profit \
--out output/assets \
--filename kpi_trend.png \
--title "Monthly KPIs"
Notes:
pandas, matplotlib