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
"""Reorder a slide in a PowerPoint deck (move from one position to another).
Usage:
reorder-slides.py <deck.pptx> --from <index> --to <index>
Indices are 0-based.
Examples:
reorder-slides.py presentation.pptx --from 5 --to 2
reorder-slides.py presentation.pptx --from 0 --to 10
"""
import argparse
import sys
from pptx import Presentation
def reorder_slide(prs, from_idx, to_idx):
"""Move a slide from one position to another (0-based indices).
Returns the actual destination index used.
"""
xml_slides = prs.slides._sldIdLst
slides_list = list(xml_slides)
if from_idx >= len(slides_list):
raise IndexError(f"--from {from_idx} out of range (deck has {len(slides_list)} slides)")
slide = slides_list[from_idx]
xml_slides.remove(slide)
if to_idx >= len(list(xml_slides)):
xml_slides.append(slide)
else:
xml_slides.insert(to_idx, slide)
return to_idx
def main():
parser = argparse.ArgumentParser(description="Reorder a slide in a PowerPoint deck.")
parser.add_argument("deck", help="Path to .pptx file")
parser.add_argument("--from", dest="from_idx", type=int, required=True, help="Source index (0-based)")
parser.add_argument("--to", dest="to_idx", type=int, required=True, help="Target index (0-based)")
args = parser.parse_args()
prs = Presentation(args.deck)
try:
reorder_slide(prs, args.from_idx, args.to_idx)
except IndexError as e:
print(f"ERROR: {e}", file=sys.stderr)
sys.exit(1)
prs.save(args.deck)
print(f"Moved slide {args.from_idx} -> {args.to_idx}. Saved to {args.deck}")
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