Two-skill presentation system: analyze your speaking style into a rhetoric knowledge vault, then create new presentations that match your documented patterns. Includes an 88-entry Presentation Patterns taxonomy for scoring, brainstorming, and go-live preparation.
96
Quality
96%
Does it follow best practices?
Impact
96%
1.57xAverage score across 15 eval scenarios
{
"context": "Tests whether the agent writes a deck-building script that follows the skill's specific python-pptx patterns: template stripping via drop_rel, speaker notes via python-pptx (not MCP), footer on every slide, layout selection from profile, and background color strategy.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Template stripping code",
"description": "Script includes the template slide-stripping pattern: iterating slides._sldIdLst, getting rId, calling part.drop_rel(rId), and removing sldId elements",
"max_score": 12
},
{
"name": "Speaker notes via python-pptx",
"description": "Script injects speaker notes using python-pptx (slide.notes_slide.notes_text_frame.text = ...), NOT via an MCP tool call or placeholder",
"max_score": 12
},
{
"name": "Notes batch injection",
"description": "Speaker notes are injected as a batch operation AFTER all slides are created (not interleaved with slide creation), using a notes_map or similar pattern",
"max_score": 8
},
{
"name": "Footer on every slide",
"description": "The script adds a footer text element to every slide (not just some), using position/font data from the profile",
"max_score": 10
},
{
"name": "Layout selection from profile",
"description": "The script selects slide layouts by index from the profile's template_layouts array (matching slide type to layout use_for), not by hardcoded layout names",
"max_score": 10
},
{
"name": "No adjacent color repeat",
"description": "Background color assignment logic ensures no two adjacent slides share the same color (checking previous slide's color before selecting)",
"max_score": 10
},
{
"name": "White/black reserved",
"description": "White or black/transparent backgrounds are only assigned to full-bleed image or meme slides, with colored backgrounds for all other slide types",
"max_score": 8
},
{
"name": "No slide numbers",
"description": "The script does NOT add slide numbers (or explicitly respects the 'never' setting from the profile)",
"max_score": 6
},
{
"name": "Uses python-pptx library",
"description": "The script imports and uses python-pptx (from pptx import Presentation) as the primary library",
"max_score": 8
},
{
"name": "Footer color adaptation",
"description": "Footer text color adapts based on background color (e.g., white text on dark backgrounds, dark text on light backgrounds)",
"max_score": 8
},
{
"name": "Deck plan document",
"description": "The deck_plan.md maps each outline slide to a specific layout index and describes the build decisions",
"max_score": 8
}
]
}Install with Tessl CLI
npx tessl i jbaruch/speaker-toolkit@0.6.2evals
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
skills
presentation-creator
references
patterns
build
deliver
prepare
rhetoric-knowledge-vault