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
#!/usr/bin/env python3
"""Strip demo slides from a PowerPoint template, keeping only layouts.
Usage:
strip-template.py <template.pptx> <output.pptx>
Examples:
strip-template.py ~/Templates/speaker-template.pptx clean-deck.pptx
"""
import sys
from pptx import Presentation
from _pptx_repair import NS_R, clean_viewprops
def strip_slides(prs):
"""Remove all slides from a presentation, keeping layouts intact.
Returns the number of slides removed.
"""
xml_slides = prs.slides._sldIdLst
removed = 0
for sldId in list(xml_slides):
rId = sldId.get(f'{{{NS_R}}}id')
prs.part.drop_rel(rId)
xml_slides.remove(sldId)
removed += 1
clean_viewprops(prs)
return removed
def main():
if len(sys.argv) != 3:
print(f"Usage: {sys.argv[0]} <template.pptx> <output.pptx>", file=sys.stderr)
sys.exit(1)
template_path, output_path = sys.argv[1], sys.argv[2]
tmpl = Presentation(template_path)
removed = strip_slides(tmpl)
tmpl.save(output_path)
print(f"Stripped {removed} slides from template. Saved to {output_path}")
if __name__ == "__main__":
main()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