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
All 9 guardrail items present
100%
100%
PASS/FAIL/WARN labels used
100%
100%
WARN for near-limit Act 1
100%
100%
Data attribution flagged
100%
100%
Cut lines missing flagged
100%
100%
Profile slide budgets used
100%
100%
Recurring issue flagged
100%
100%
Pattern score projection
100%
100%
Structured summary block
100%
100%
4-tier structure present
50%
100%
Signature tier from profile
100%
100%
Contextual tier from profile
100%
100%
Shake It Up has 1-2 items
0%
100%
[RECURRING] tag used
100%
100%
[CONTEXTUAL] tag used
100%
100%
New to You from never_used
100%
100%
Actionable recommendations
100%
100%
Skips static files
100%
100%
Skips conflict copies
100%
100%
Skips template files
100%
100%
Background colors extracted
100%
0%
Per-slide breakdown present
60%
70%
Global design statistics
100%
30%
Shape type detail
100%
100%
Font extraction
37%
0%
Footer detection
100%
80%
Recursive directory scan
100%
100%
Valid JSON output
100%
100%
Top-level DB structure
70%
100%
Config captures source directories
100%
100%
Talk fields extracted
75%
100%
URL fields parsed
30%
100%
New talks default to pending
37%
100%
No-sources talk flagged as unprocessable
100%
100%
Slide source determination
100%
100%
Static files skipped
100%
100%
Conflict copies skipped
100%
100%
Template files skipped
100%
100%
PPTX-to-talk matching
100%
100%
Scan report with counts
100%
100%
PPTX highest priority
100%
100%
Video-only talks are processable
100%
100%
No-video talks not processable
100%
100%
Multiple slide_source values used
100%
100%
Video extraction output named by YouTube ID
100%
100%
Slides fail + video available = fallback to video
100%
100%
Partial processing when one source fails
0%
100%
All fail = distinct failure status
0%
50%
Processing log explains decisions
100%
100%
Illustration Style Anchor section present
58%
100%
Multiple format anchors
0%
100%
Visual continuity conventions documented
100%
100%
Format field on every slide
0%
100%
EXCEPTION slides have justification
25%
100%
Image prompt uses [STYLE ANCHOR] token
0%
100%
Illustration field present
12%
100%
Prompt richer than description
25%
100%
Visual continuity: FIG numbering
100%
87%
Visual continuity: progressive form
100%
100%
Standard outline structure preserved
62%
100%
Standard guardrails present
50%
100%
Illustration coverage guardrail runs
100%
100%
Missing Format field detected
100%
100%
Missing EXCEPTION justification detected
100%
100%
Missing [STYLE ANCHOR] detected
100%
100%
Low-quality prompts flagged
100%
100%
Data attribution issue flagged
100%
100%
Rushed closing detected
100%
100%
Cut lines missing
0%
100%
Correct PASS/FAIL labeling
100%
75%
Illustration checks in guardrail summary
87%
100%
Build specification format
60%
80%
Build-00 is empty frame
0%
50%
Final build tagged [FULL]
10%
100%
Backwards-chaining workflow described
50%
100%
Build naming convention
0%
100%
Build slides count toward budget
100%
100%
Speaker notes on final step only
0%
100%
BLANK layout for all builds
100%
100%
Explicit preservation instructions
40%
100%
Safety suffixes mentioned
0%
100%
Parent slide replaced by build sequence
100%
100%
Regenerate for content additions
0%
100%
Edit for content removal
100%
100%
Simplified anchor flagged
100%
100%
Safety suffix: no new elements
62%
75%
Safety suffix: background continuation
100%
75%
Explicit preservation instructions
100%
100%
Versioned output naming
100%
100%
Fix mode for near-perfect images
100%
0%
PIL masking flagged as wrong approach
100%
100%
Missing preservation flagged
100%
100%
Content modification via edit flagged
50%
100%
Output deck exists and opens
100%
100%
Slide count preserved
100%
100%
Notes present on correct slides
100%
100%
Notes content matches input
100%
100%
notesMaster relationship declared
100%
100%
notesMasterIdLst element present
100%
100%
notesMasterIdLst references a real relationship
100%
100%
notesMasterIdLst is not duplicated
100%
100%
Skill script used, not ad-hoc code
0%
100%
Verification report documents the checks
100%
100%
Full success categorized correctly
100%
100%
Transcript fail + slides OK = partial
100%
100%
Slides fail + transcript OK = partial
50%
100%
Both fail = skip/fail status
100%
100%
Missing sources = distinct skip
100%
100%
No video = not processable
100%
100%
Slide source set to pptx
100%
100%
Slide source set to both
100%
100%
Slide source set to pdf
100%
100%
Summary additive only
100%
100%
Summary has new content
100%
100%
Opening pattern analyzed
100%
100%
Narrative structure analyzed
100%
100%
Humor documented
100%
100%
Audience interaction noted
100%
100%
Areas for improvement
0%
100%
Structured data fields
0%
100%
Opening type categorized correctly
62%
87%
Closing type categorized correctly
62%
100%
Verbatim signature phrases
25%
100%
Verbatim opening lines
0%
100%
Verbatim closing lines
0%
100%
Transition phrases extracted
50%
100%
JSON schema completeness
0%
100%
Template demo slides removed
100%
100%
Speaker notes present
100%
100%
Footer on every slide
100%
100%
Layout selection from profile
80%
100%
No adjacent color repeat
100%
100%
White/black reserved for images
100%
100%
No slide numbers
100%
100%
Footer color adapts
100%
100%
Correct slide count
100%
100%
Build plan documents decisions
100%
100%
Speaker prefixes in notes
100%
100%
Footer includes co-presenter
100%
100%
Role split documented
100%
100%
Handoff points marked
100%
100%
Riley owns tooling section
100%
100%
Riley owns incident section
100%
100%
Morgan keeps opening/closing
100%
100%
Adaptation checklist produced
100%
100%
Three-part close preserved
100%
100%
Verbal handoff cues
100%
100%
Abstract word count
100%
100%
Takeaway count
100%
100%
Speaker bio included
100%
100%
Title present
100%
100%
Presentation spec produced
100%
100%
Spec includes mode
100%
100%
No full architecture
100%
100%
Speaker voice in abstract
100%
100%
Spec includes duration
100%
100%
Spec includes profanity register
100%
100%
Spec includes commercial intent
100%
100%
Spec includes shownotes slug
0%
100%
Anti-sell awareness
100%
100%
Required top-level keys
20%
100%
Speaker fields from config
100%
100%
Speaker badges present
100%
100%
Speaker badges grounded in vault stats
100%
100%
Signature patterns with usage counts
50%
100%
never_used_patterns listed
0%
100%
guardrail_sources.slide_budgets is array
0%
100%
instrument_catalog populated
0%
100%
confirmed_intents carried over
100%
100%
pacing data populated
87%
100%
antipattern_frequency present
0%
100%
Presentation Spec block
100%
90%
Section time + slide range headers
100%
100%
Opening sequence structure
100%
100%
Multiple typed placeholder categories
0%
100%
Meme brief format
0%
100%
CUT LINE marker
100%
100%
Callback flags
40%
100%
Speaker notes in outline
100%
100%
Closing sequence completeness
100%
100%
Slide count within budget
100%
100%
Analysis file location
100%
100%
All 14 dimensions present
60%
100%
English-only quote format
30%
100%
Language-tagged verbal signatures
12%
100%
Structured data fields
25%
100%
Pattern score formula
0%
100%
Observable patterns only
100%
100%
Verbatim examples
33%
100%
Tracking DB updated
20%
100%
Areas for improvement present
66%
100%
Presentation Patterns Scoring section
50%
100%
Deck saved and re-opens
100%
100%
New picture shape on closing slide
100%
100%
QR decodes to expected URL
100%
100%
QR background matches slide purple
100%
100%
QR foreground is white (auto-contrast)
100%
100%
QR PNG dimensions are consistent
100%
100%
Tracking database has qr_codes entry
60%
100%
QR PNG path is relative
40%
100%
Skill script used, not ad-hoc code
0%
62%
Verification report documents observed values
60%
100%
Agent surfaces missing shortener config
100%
100%
Agent asks user to choose a shortener
100%
100%
Agent does NOT generate QR with raw URL without asking
100%
100%
Shownotes URL uses slug from Presentation Spec
100%
100%
Talk slug matches spec exactly
100%
100%
Agent references generate-qr.py as the tool
0%
100%
Agent distinguishes missing config from opt-out
100%
100%
Talk slug read from Presentation Spec
100%
100%
Shownotes URL constructed from pattern + spec slug
100%
100%
Bitly custom back-half is the talk slug
100%
100%
QR encodes bitly URL, not raw shownotes URL
100%
100%
generate-qr.py used, not qrcode library directly
100%
100%
Command uses --shownotes-url (not --short-url)
100%
100%
Tracking DB update mentioned
0%
100%
No silent degradation to raw URL
100%
100%
Extraction script used
100%
100%
Valid JSON output
100%
100%
Talk slug from spec
100%
100%
Code block URL excluded
100%
100%
Image prompt URL excluded
100%
100%
Duplicate URL deduplicated
100%
100%
Multiple resource types present
100%
100%
Book references extracted
100%
100%
RFC references extracted
100%
100%
Each resource has slide context
0%
100%
Script command includes --spec argument
0%
100%
Resources step appears before shownotes
0%
100%
extract-resources.py referenced for extraction
0%
100%
Speaker review mentioned
0%
100%
Shownotes reads from resources.json
0%
100%
Only approved resources in shownotes
20%
100%
Shownotes URL from spec slug
100%
100%
Shownotes draft has resources section
100%
100%
All Phase 6 steps covered
60%
100%
QR step references generate-qr.py
100%
100%
resources.json in talk directory
0%
100%
3-5 slide candidates suggested
100%
100%
Illustration slides ranked highest
100%
100%
Bio slide excluded
100%
100%
Shownotes slide excluded
100%
100%
Title hook is 5 words or fewer
100%
100%
generate-thumbnail.py referenced
100%
100%
Profile style preference applied
62%
100%
Profile title position applied
57%
100%
Profile brand colors applied
60%
100%
Speaker photo from profile path
30%
100%
Face preservation mentioned
100%
100%
Iterate not restart strategy
100%
100%
Style changed to split_panel
100%
100%
Title position changed to top
100%
100%
Title text unchanged
100%
100%
Slide image unchanged
100%
100%
Face preservation strengthened
100%
100%
generate-thumbnail.py used
100%
100%
Slide image from illustrations directory
100%
100%
Original vs revised comparison
100%
100%
Speaker photo path unchanged
100%
100%
Agent detects missing shownotes
100%
100%
Shownotes creation listed as prerequisite
100%
100%
Shownotes step comes before video step
100%
100%
Agent does NOT assume shownotes exist
100%
100%
Prerequisites check includes 4 files
70%
100%
Prerequisites check includes YouTube URL
100%
100%
Agent reads video_publishing config
100%
100%
Video embed method from profile
100%
100%
Output deck exists and opens
100%
100%
Correct total slide count
100%
100%
Placeholder at position 3
100%
100%
Placeholder at position 5
100%
100%
Placeholder at position 8
100%
100%
Yellow background on placeholders
100%
100%
Original slides preserved in order
100%
100%
Skill script used
0%
0%
Subtitles present on placeholders
100%
100%
Non-destructive output
100%
100%
Rhetoric clarification — one question at a time
70%
70%
Intent confirmation stored
80%
100%
Humor grading per beat
100%
100%
Spontaneous humor probe
90%
80%
Promote to planned recommendation
100%
100%
Blind spot — demo engagement
100%
100%
Blind spot — theatrical opening
100%
100%
Infrastructure config captured
100%
100%
Session marked complete
100%
100%
Rhetoric summary updated
100%
100%
Per-joke grading
100%
80%
Joke questions grounded in observations
100%
91%
Meme slide questions
100%
100%
Spontaneous humor capture
100%
100%
Promotion prompt
100%
100%
Blind spot questions
100%
100%
Demo reaction questions
100%
100%
Recency adaptation — recent
100%
100%
Recency adaptation — old
100%
100%
Structured output format
100%
100%
Wide-angle detection
100%
100%
Hash threshold recommendation
100%
100%
Slide region crop suggestion
100%
100%
Multi-language transcript handling
100%
100%
Whisper hallucination detection
100%
100%
Transcript source tracking
100%
100%
Speaker identity verification
100%
100%
Recording type classification
60%
100%
Structured diagnostics output
100%
100%
Clean recording passes cleanly
100%
100%
Table of Contents