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 prolific conference speaker has years of talk materials scattered across directories — markdown files with talk metadata (conference, date, video link, slides link), and PowerPoint files organized by conference and year. They need a system to inventory everything: which talks exist, which have video recordings, which have slide decks, and which are ready for analysis.
The speaker wants a JSON-based tracking database that maps all their talks and presentation files, identifies which talks have enough source material for analysis, and flags which ones are incomplete. Some PowerPoint files are duplicates or static exports and should be filtered out. The system should also try to match presentation files to their corresponding talk metadata entries.
The tracking database should be a single JSON file that inventories all discovered talks, catalogs presentation files, stores configuration, and tracks processing readiness. Talks without any source material (no video URL, no slides) should be flagged as unprocessable. Talks with source material should be marked as ready for processing, with their slide source type recorded based on what's available (PPTX, PDF from Google Drive, both, or none).
Produce the following files:
tracking-database.json — A JSON database that tracks all discovered talks and presentation filesbuild_tracker.py — The Python script that scans the input directories and builds the databasescan_report.txt — A human-readable report summarizing what was foundThe following files are provided as inputs. Extract them before beginning.
A talk about rethinking DevOps culture in the age of platform engineering.
Deep dive into securing your software supply chain with SLSA and Sigstore.
Exploring how AI can transform software testing practices.
Busting common misconceptions about containers.
Download the presentation files from the project repository before scanning:
BASE="https://github.com/jbaruch/speaker-toolkit/raw/main/eval-resources/scenario-1"
mkdir -p "inputs/presentations/DevOps Days Chicago/2024" "inputs/presentations/KubeCon/2024" "inputs/presentations/DockerCon/2023" "inputs/presentations/Templates"
curl -L -o "inputs/presentations/DevOps Days Chicago/2024/DevOps Reframed.pptx" "$BASE/DevOps%20Days%20Chicago/2024/DevOps%20Reframed.pptx"
curl -L -o "inputs/presentations/DevOps Days Chicago/2024/DevOps Reframed static.pptx" "$BASE/DevOps%20Days%20Chicago/2024/DevOps%20Reframed%20static.pptx"
curl -L -o "inputs/presentations/DevOps Days Chicago/2024/DevOps Reframed (1).pptx" "$BASE/DevOps%20Days%20Chicago/2024/DevOps%20Reframed%20(1).pptx"
curl -L -o "inputs/presentations/KubeCon/2024/Software Supply Chain Security.pptx" "$BASE/KubeCon/2024/Software%20Supply%20Chain%20Security.pptx"
curl -L -o "inputs/presentations/Templates/Presentation Template DOTCs 2023.pptx" "$BASE/Templates/Presentation%20Template%20DOTCs%202023.pptx"
curl -L -o "inputs/presentations/DockerCon/2023/Container Myths Busted.pptx" "$BASE/DockerCon/2023/Container%20Myths%20Busted.pptx"The presentations directory contains 6 .pptx files across conference/year subdirectories. Three are real presentations, three should be skipped (static export, conflict copy, template).
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