CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/speaker-toolkit

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

1.21x
Quality

93%

Does it follow best practices?

Impact

97%

1.21x

Average score across 30 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-13/

PowerPoint Deck Build Plan

Problem/Feature Description

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.

Output Specification

Produce the following files:

  1. deck_plan.md — A slide-by-slide build plan: which layout for each slide, background color assignments, footer configuration, and speaker notes mapping
  2. output_deck.pptx — The finished PowerPoint deck built from the template with all slides populated, footers added, and speaker notes injected
  3. build_log.txt — A log of what was done: template preparation, slides added, notes injected, any issues encountered

Setup

Install python-pptx before starting: pip install python-pptx

Input Files

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 ===============

Opening Sequence [3 min, slides 1-5]

Slide 1: Title Slide

  • Visual: "The Talk Title" in bold
  • Layout: Title only
  • Speaker: (no notes)

Slide 2: Opening Hook

  • Visual: Meme — provocative image
  • Layout: Full-bleed image
  • Speaker: "So raise your hand if you've ever been told..."

Slide 3: Brief Bio

  • Visual: Name, role, one-liner
  • Layout: Title + subtitle
  • Speaker: "Quick intro — I'm [name], I do [thing]"

Slide 4: Shownotes URL

  • Visual: URL + QR code
  • Layout: Title + subtitle
  • Speaker: "Everything's at this URL — grab it now"

Slide 5: Bold Statement

  • Visual: "X is not a thing" in large text
  • Layout: Title only
  • Speaker: "Yeah I said it. And I mean it. Full stop."

Act 1: The Problem [15 min, slides 6-20]

Slide 6: Why It Matters

  • Visual: Bullet list with data points
  • Layout: Content
  • Speaker: "okay so here's where it gets interesting"

Slide 7: The Data

  • Visual: Chart placeholder
  • Layout: Content
  • Speaker: "Look at these numbers right?"

Slide 8: Reaction Meme

  • Visual: Full-bleed meme
  • Layout: Blank
  • Speaker: (reaction image, no notes) =============== END OF FILE ===============

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

README.md

tile.json