Presentations
Generate, share, and edit course slide decks from the CLI
Presentations
Slide decks derived from a course — useful as a team kickoff when a course is
assigned. View in-browser at /presentations/<id>, track progress like a
lesson, and download as .pptx.
Sharing: ready decks are readable by anyone who can access the course (owned / enrolled / assigned / published). Progress is per-viewer. Only the owner can edit or regenerate.
Generate from course content
pnpm learnos -- presentation generate \
--scope course \
--course <course-id> \
--purpose intro--purpose is one of intro (default), overview, or summary. Intro decks
use a kickoff template grounded in the course syllabus. Deterministic by source
content — re-runs hit the cache unless you pass --force.
Author slides explicitly
Agents that already know the content can skip the LLM:
pnpm learnos -- presentation create \
--course <course-id> \
--title "Introducing AI Engineering" \
--slides '[
{"title":"Welcome","body_md":"A 6-week path for the platform team","layout":"title"},
{"title":"What you will learn","body_md":"- Retrieval\n- Agents\n- Evaluation","layout":"bullets"}
]'Or --slides-file ./deck.json.
Edit an owned deck
pnpm learnos -- presentation update <id> --title "New title"
pnpm learnos -- presentation replace-slides <id> --slides-file ./deck.json
pnpm learnos -- presentation add-slide <id> --title "FAQ" --body "- Ask in #learning"
pnpm learnos -- presentation update-slide <id> 2 --title "Revised outcomes"Read / list / download
pnpm learnos -- presentation list --course <course-id>
pnpm learnos -- presentation list --course <course-id> --shared # include teammates' ready decks
pnpm learnos -- presentation get <id>
pnpm learnos -- presentation download <id> --out kickoff.pptxThe download command builds a PowerPoint file locally via pptxgenjs — no
network round-trip to the web app required.