Four-skill presentation system: ingest talks into a rhetoric vault, run interactive clarification, generate a speaker profile, then create new presentations that match your documented patterns. Includes an 88-entry Presentation Patterns taxonomy for scoring, brainstorming, and go-live preparation.
96
93%
Does it follow best practices?
Impact
97%
1.21xAverage score across 30 eval scenarios
Advisory
Suggest reviewing before use
A speaker has a finalized presentation outline and needs to build their PowerPoint deck. They use a custom .pptx template that contains branded layouts but also includes demo/sample slides that must be removed before building. The speaker also needs speaker notes injected programmatically and footers on every slide.
Given the outline and speaker profile below, produce a complete deck build plan and the finished .pptx file. The plan should map every outline slide to a specific layout, document the design decisions, and explain the build sequence. The deck should have correct layouts, background colors following the speaker's strategy, footers on every slide, and speaker notes from the outline.
Produce the following files:
deck_plan.md — A slide-by-slide build plan: which layout for each slide, background color assignments, footer configuration, and speaker notes mappingoutput_deck.pptx — The finished PowerPoint deck built from the template with all slides populated, footers added, and speaker notes injectedbuild_log.txt — A log of what was done: template preparation, slides added, notes injected, any issues encounteredInstall python-pptx before starting: pip install python-pptx
The following files are provided as inputs. Extract them before beginning.
=============== FILE: inputs/speaker-profile-excerpt.json =============== { "infrastructure": { "template_pptx_path": "./template.pptx", "template_layouts": [ {"index": 0, "name": "TITLE", "placeholders": [{"idx": 0, "type": "CENTER_TITLE"}], "use_for": "opening title slide, section dividers"}, {"index": 1, "name": "TITLE_SUBTITLE", "placeholders": [{"idx": 0, "type": "TITLE"}, {"idx": 1, "type": "SUBTITLE"}], "use_for": "bio, shownotes"}, {"index": 2, "name": "CONTENT", "placeholders": [{"idx": 0, "type": "TITLE"}, {"idx": 1, "type": "BODY"}], "use_for": "bullet lists, content slides"}, {"index": 3, "name": "BLANK", "placeholders": [], "use_for": "full-bleed images, memes"} ], "font_pair": {"title": {"name": "Bangers"}, "body": {"name": "Arial"}}, "slide_dimensions": {"width_inches": 10.0, "height_inches": 5.63} }, "design_rules": { "background_color_strategy": "random_non_repeating", "background_color_pool": ["#5B2C6F", "#C0392B", "#F1C40F", "#27AE60", "#2980B9"], "white_black_reserved_for": "full-bleed image/meme slides only", "slide_numbers": "never", "footer": { "always_present": true, "pattern": "@speakerhandle | #DevOpsCon | #platform | speaker.dev", "font": "Arial", "font_size_pt": 16, "position": {"left": 0.01, "top": 5.22, "width": 10.0, "height": 0.37}, "color_adapts_to_background": true } } } =============== END OF FILE ===============
=============== FILE: inputs/outline-excerpt.md ===============
Download the speaker's template before building:
curl -L -o inputs/template.pptx "https://github.com/jbaruch/speaker-toolkit/raw/main/eval-resources/scenario-7/template.pptx"The template has 2 demo slides that must be stripped, and multiple slide layouts available for use. =============== END OF FILE ===============
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
rules
skills
presentation-creator
references
patterns
build
deliver
prepare
scripts
vault-clarification
vault-ingress
vault-profile