mcpField
U
upload-chapter-slides

upload-chapter-slides

github.com/panaversity文档处理45 次安装
代码仓库

关于 upload-chapter-slides

Upload Chapter Slides 是一项技能,可将 PDF 教学幻灯片上传至 CDN,并更新对应章节 README 中的幻灯片元数据。它还负责查找章节目录和补充教学辅助标题。

主要功能

  1. 01将 PDF 上传为教学幻灯片
  2. 02按章节编号查找目录
  3. 03设置幻灯片标题和文件名
  4. 04更新 README 幻灯片元数据
  5. 05缺少时添加教学辅助标题

适用场景

  1. 01发布课程章节幻灯片
  2. 02替换章节幻灯片元数据
  3. 03为 README 添加教学辅助部分

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/panaversity/agentfactory --skill upload-chapter-slides

安装后在 Claude Code 中输入/upload-chapter-slides确认已加载。

详细介绍

上传章节幻灯片

将 PDF 教学幻灯片上传到 CDN,并使用正确的元数据更新章节 README。

用法

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

示例

# 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

工作流

步骤 1:解析参数

从用户输入中提取:

  • pdf_path:PDF 文件的绝对路径(必需)
  • chapter_num:章节编号(必需)
  • title:幻灯片的自定义标题(可选)
  • name:CDN 上的自定义文件名(可选)
步骤 2:解析章节路径
# Find chapter folder by number
ls -d apps/learn-app/docs/*/[0-9][0-9]-*/ | grep "/${CHAPTER_NUM}-\|/${CHAPTER_NUM}[0-9]-"

从路径中提取:

  • 部分编号:第一段中的编号(例如,从 01-General-Agents-Foundations 中提取 01)
  • 章节文件夹:章节目录的完整路径

格式:apps/learn-app/docs/{NN}-{PartName}/{NN}-{ChapterName}/

步骤 3:上传 PDF

在项目根目录运行:

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}

从输出中获取 CDN URL(格式:https://pub-*.r2.dev/books/ai-native-dev/static/slides/part-{N}/chapter-{NN}/{filename}.pdf)

步骤 4:更新 README Frontmatter

读取 {chapter_path}/README.md 并更新 YAML frontmatter:

如果存在 slides::替换整个 slides 块 如果缺少 slides::在 title: 行后添加

slides:
  source: "{cdn_url}"
  title: "{title_or_chapter_title}"
  height: 700
步骤 5:确保教学辅助标题存在

检查 README 中是否存在 ## 📚 Teaching Aid。

如果不存在:添加到 ## What You'll Learn 之前(如果没有 What You'll Learn,则添加到第一个 ## 标题之前):

## 📚 Teaching Aid

## What You'll Learn

如果存在:无需更改。

步骤 6:报告成功
✅ Chapter {N} slides uploaded

CDN URL: {cdn_url}
README:  {chapter_path}/README.md
Title:   {slides_title}

错误处理

错误解决方法
未找到 PDF 文件确认路径存在
未找到章节运行 ls -d apps/learn-app/docs/*/ 列出有效章节
上传失败检查 apps/panaversity-fs-py/.env 配置
README 缺失章节可能尚未初始化

路径常量

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 结构参考

技能运行后的正确结构:

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

评论

支持 Markdown