mcpField
U
upload-chapter-slides

upload-chapter-slides

github.com/panaversityドキュメント45 回インストール
リポジトリ

upload-chapter-slides について

Upload Chapter Slidesは、PDF教材スライドをCDNにアップロードし、該当章のREADMEにメタデータを反映するスキルです。章の検索や教学補助見出しの追加も行います。

主な機能

  1. 01PDFを教材スライドとしてアップロード
  2. 02章番号からディレクトリを検索
  3. 03スライドのタイトルとファイル名を指定
  4. 04READMEのスライドメタデータを更新
  5. 05不足時に教材補助見出しを追加

活用シーン

  1. 01コースの章にスライドを公開
  2. 02章のスライドメタデータを置換
  3. 03READMEに教材補助セクションを追加

インストール

コマンドをコピーしてターミナルで実行します。

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

コメント