Upload Chapter Slides
Upload PDF teaching slides to CDN and update chapter README with proper metadata.
Usage
/upload-chapter-slides
Basic usage - chapter number only
/upload-chapter-slides /path/to/slides.pdf 4
With custom title
/upload-chapter-slides /path/to/slides.pdf 3 --title "Agentic AI - The Digital FTE"
With custom filename (for CDN URL)
- /upload-chapter-slides /path/to/slides.pdf
- 4
- --name
- context-engineering-blueprint
- Workflow
- Step 1: Parse Arguments
- Extract from user input:
- pdf_path
-
- Absolute path to PDF file (required)
- chapter_num
-
- Chapter number (required)
- title
-
- Optional custom title for slides
- name
- Optional custom filename for CDN Step 2: Resolve Chapter Path
Find chapter folder by number
- ls
- -d
- apps/learn-app/docs/*/
- [
- 0
- -9
- ]
- [
- 0
- -9
- ]
- -*/
- |
- grep
- "/
- ${CHAPTER_NUM}
- -|/
- ${CHAPTER_NUM}
- [0-9]-"
- Extract from path:
- Part number: First segment number (e.g.,
- 01
- from
- 01-General-Agents-Foundations
- )
- Chapter folder: Full path to chapter directory
- Pattern
- :
- apps/learn-app/docs/{NN}-{PartName}/{NN}-{ChapterName}/
- Step 3: Upload PDF
- Run from project root:
- cd
- apps/panaversity-fs-py
- &&
- uv run python scripts/upload_asset.py
- \
- --file
- "{pdf_path}"
- \
- --type
- slides
- \
- --part
- {
- part_num
- }
- \
- --chapter
- {
- chapter_num
- }
- \
- --name
- {
- name_or_default
- }
- Capture the CDN URL from output (format:
- https://pub-*.r2.dev/books/ai-native-dev/static/slides/part-{N}/chapter-{NN}/{filename}.pdf
- )
- Step 4: Update README Frontmatter
- Read
- {chapter_path}/README.md
- and update YAML frontmatter:
- If
- slides:
- exists
-
- Replace the entire slides block
- If
- slides:
- missing
- Add after title: line slides : source : "{cdn_url}" title : "{title_or_chapter_title}" height : 700 Step 5: Ensure Teaching Aid Heading Check if
📚 Teaching Aid
- exists in README.
- If missing
- Add before
What You'll Learn
(or first
heading if no What You'll Learn):
📚 Teaching Aid
- What You'll Learn
- If exists
- No change needed. Step 6: Report Success ✅ Chapter {N} slides uploaded CDN URL: {cdn_url} README: {chapter_path}/README.md Title: {slides_title} Error Handling Error Resolution PDF file not found Verify path exists Chapter not found Run ls -d apps/learn-app/docs/*/ to list valid chapters Upload failed Check apps/panaversity-fs-py/.env configuration README missing Chapter may not be initialized Path Constants PROJECT_ROOT: /Users/mjs/Documents/code/panaversity-official/tutorsgpt/agentfactory DOCS_PATH: apps/learn-app/docs UPLOAD_SCRIPT: apps/panaversity-fs-py/scripts/upload_asset.py README Structure Reference Correct structure after skill runs:
sidebar_position : N title : "Chapter N: Title" slides : source : "https://pub-*.r2.dev/books/ai-native-dev/static/slides/part-N/chapter-NN/filename.pdf" title : "Slide Title" height : 700
Chapter N: Title
[ intro paragraphs ]
📚 Teaching Aid
What You'll Learn
[ content ]