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
Implements the policy in
rules/title-overlay-rules.md.
Each slide block in presentation-outline.md gains one optional line:
### Slide 3: The Question
- Format: **FULL**
- Image prompt: `[STYLE ANCHOR]. <scene description> ...`
- Safe zone: upper_third (uniform backdrop drawn from the style anchor)
- Text: **how many hours last week...**Grammar: - Safe zone: <zone> (<surface>)
<zone> — one of upper_third, middle_third, lower_third,
left_half, right_half. Horizontal bands reserve a full-width
strip; half-frame zones reserve one side of the frame for the title
column and push the subject to the opposite side. left_third /
right_third are intentionally excluded — too narrow to hold
horizontal title text. middle_third is for styles whose subject
naturally frames a clean center opening (TV sets, monitors, windows,
portrait frames, vignettes).<surface> — optional short phrase describing what fills the zone in
the deck's own visual vocabulary (e.g. "unbroken painted sky", "flat
studio backdrop", "parchment grain", "gradient wash"). If omitted, a
generic default is used, but results are noticeably better with an
explicit style-anchored surface.Slides without a Safe zone: line generate and apply exactly as today.
| Script | Role |
|---|---|
generate-illustrations.py (modified) | Parses Safe zone: and appends the SAFE ZONE directive to each prompt before calling Gemini. No new CLI flags. |
apply-illustrations-to-deck.py (new) | Swaps generated images into a .pptx, adds a zone-sized scrim rectangle behind the title, and positions title text. Reads the same outline for zone data. Accepts --scrim-color / --scrim-alpha. |
suggest-scrim-color.py (new) | Samples the darkest 5% of pixels across a deck's illustrations and prints a scrim color + alpha tuned to the deck's natural shadow tone. |
# 1. Author presentation-outline.md with `Safe zone:` lines
# 2. Generate illustrations — directive appended automatically
python3 generate-illustrations.py presentation-outline.md all
# 3. (Optional) Sample a scrim color tuned to the deck's style
python3 suggest-scrim-color.py illustrations/
# -> prints: scrim base #RRGGBB, recommended alpha NNNNN
# 4. Apply to deck
python3 apply-illustrations-to-deck.py \
deck.pptx illustrations/ presentation-outline.md \
--out deck-with-titles.pptx \
--scrim-color 100903 --scrim-alpha 47553 # omit for plain 45% blacksuggest-scrim-color.py
samples the natural shadow tone — the scrim then reads as "deeper
shadow of the same style" instead of a black film.generate-illustrations.py strips any existing
TITLE SAFE ZONE block before re-appending, so re-running after a
zone edit produces the right result.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