upload-chapter-slides

📁 panaversity/agentfactory 📅 9 days ago
31
总安装量
2
周安装量
#11836
全站排名
安装命令
npx skills add https://github.com/panaversity/agentfactory --skill upload-chapter-slides

Agent 安装分布

openclaw 2
opencode 2
cursor 2
codex 2
claude-code 2
replit 1

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

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