Six-skill presentation system: ingest talks into a rhetoric vault, run interactive clarification, generate a speaker profile, create presentations that match your documented patterns, produce the deck illustrations + thumbnail visual layer, and publish talk pages to a Jekyll shownotes site. Includes a 102-entry Presentation Patterns taxonomy (91 observable, 11 unobservable go-live items) for scoring, brainstorming, and go-live preparation.
86
92%
Does it follow best practices?
Impact
86%
1.24xAverage score across 26 eval scenarios
Advisory
Suggest reviewing before use
A speaker already generated a first thumbnail for their talk "Robocoders: Judgment Day" using slide 10 (a courtroom illustration). The speaker reviewed it and gave this feedback:
"The face looks a bit too idealized — doesn't look like me. Also, I want the text at the top instead of the bottom. And let's try the split_panel style instead of overlay. Keep the same slide and title text."
The agent must plan the revision. The speaker chose slide 10, which has an existing illustration in the illustrations/ directory. The profile has thumbnail preferences configured but the speaker is overriding some of them for this iteration.
Using the illustrations skill, plan the thumbnail revision. Document the exact command and explain the revision strategy.
Produce the following files:
revision-plan.md — The complete revision plan including:
generate-thumbnail.py command with updated argumentsoriginal-vs-revised.md — Side-by-side comparison of original and revised command arguments showing what changedThe following files are provided as inputs. Extract them before beginning.
=============== FILE: inputs/speaker-profile.json =============== { "schema_version": 1, "generated_date": "2026-04-15", "talks_analyzed": 1, "speaker": { "name": "Baruch Sadogursky", "handle": "@jbaruch", "website": "https://jbaru.ch", "shownotes_url_pattern": "https://jbaru.ch/{slug}" }, "publishing_process": { "thumbnail": { "enabled": true, "speaker_photo_path": "/Users/jbaruch/photos/devnexus-headshot.jpg", "style_preference": "overlay", "title_position": "bottom", "brand_colors": ["#5B2C6F", "#C0392B"] } } }
=============== FILE: inputs/outline.yaml =============== talk: title: "Robocoders: Judgment Day" slug: "devnexus-2026-robocoders-judgment-day" speakers: ["Baruch"] duration_min: 45 audience: "DevNexus 2026 attendees" mode: "keynote" venue: "DevNexus 2026" slide_budget: 60 pacing_wpm: [135, 145] architecture: "narrative-arc"
style_anchor: model: "gemini-3-pro-image-preview" full: | Retro sci-fi propaganda poster aesthetic. Bold colors, dramatic lighting. imgtxt: | Retro sci-fi propaganda poster, portrait orientation. Bold colors. conventions: "Title typography mimics 1950s propaganda posters."
chapters:
slides:
=============== FILE: inputs/illustrations/slide-10.png =============== (This file exists as a placeholder — the illustration was generated in Phase 5)
=============== FILE: inputs/first-run-command.txt ===============
python3 generate-thumbnail.py
--slide-image illustrations/slide-10.png
--speaker-photo /Users/jbaruch/photos/devnexus-headshot.jpg
--title "JUDGMENT DAY"
--style overlay
--title-position bottom
--brand-colors "#5B2C6F,#C0392B"
.github
eval-resources
humor-postmortem-blind-spots
qr-bitly-slug-from-outline
qr-missing-shortener-detection
shownotes-publisher-omit-placeholder
shownotes-publisher-publish-no-date
shownotes-publisher-publish-with-date
shownotes-publisher-update-add-video
video-extraction-diagnostics
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
rules
scripts
skills
illustrations
presentation-creator
references
patterns
build
deliver
prepare
scripts
shownotes-publisher
vault-clarification
vault-ingress
vault-profile
tests