SuperAPI AI Directory

upload-chapter-slides

Office & productivity

View repository

Updated 10-16 03:15

About this skill

Upload Chapter Slides

Upload PDF teaching slides to CDN and update chapter README with proper metadata.

Usage

/upload-chapter-slides <pdf-path> <chapter-number> [--title "Custom Title"] [--name custom-filename]

Examples

# 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

```bash
# 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]