mcpField
F
fetch-slides

fetch-slides

github.com/pamelafoxドキュメント128119 回インストール8 週間前に更新
リポジトリ

fetch-slides について

対応するURLからスライドを取得してPDFを作成するスキルです。PDF、PPTX、OneDrive共有リンク、RevealJSに対応し、RevealJSではテキストとリンクも抽出します。

主な機能

  1. 01PDFとPPTXのURL取得
  2. 02OneDrive共有リンクの処理
  3. 03RevealJSのPDFレンダリング
  4. 04RevealJSのテキストとリンク抽出

活用シーン

  1. 01リモートのスライドをPDF化
  2. 02RevealJSからテキストとリンクを収集

インストール

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

$npx skills add https://github.com/pamelafox/presentation-skills --skill fetch-slides

インストール後、Claude Code で/fetch-slidesを入力して読み込まれたか確認します。

同梱ファイルfetch_slides.py

詳細

URL からスライドを取得する

fetch_slides.py スクリプトを実行して、スライドをダウンロードして変換します。

uv run .agents/skills/fetch-slides/fetch_slides.py <url> <output_dir>

引数

  • url(必須):スライドの URL。次の形式に対応しています。
    • PDF の直接 URL(例:https://example.com/slides.pdf)
    • PPTX の URL(Content-Type ヘッダーから自動検出)
    • OneDrive の共有リンク(例:https://onedrive.live.com/:p:/g/personal/... または https://1drv.ms/...)
    • RevealJS HTML プレゼンテーションの URL(例:https://example.com/slides/)
  • output_dir(必須):出力ファイルを保存するディレクトリ。存在しない場合は作成されます。

出力

  • slides.pdf — 常に生成されます。プレゼンテーションを PDF ファイルにしたものです。
  • slides_content.md — RevealJS プレゼンテーションの場合のみ生成されます。各スライドから抽出したテキストコンテンツとリンクが含まれ、セクションの見出しが示されます。

前提条件

  • PPTX の変換の場合:LibreOffice がインストールされている必要があります。
    • macOS:brew install --cask libreoffice
    • Ubuntu:apt-get install libreoffice
  • RevealJS プレゼンテーションの場合:Playwright ブラウザーがインストールされている必要があります。
    • uv run playwright install chromium

仕組み

  1. スクリプトは HTTP HEAD リクエストを送信して、コンテンツタイプを検出します。
  2. コンテンツタイプに応じて、次のように処理します。
    • PDF:直接ダウンロードします。
    • PPTX:ファイルをダウンロードし、LibreOffice(ヘッドレスモード)を使って PDF に変換します。
    • OneDrive:共有 URL を直接ダウンロード URL に変換(?download=1 を追加)してから、PDF または PPTX として処理します。
    • RevealJS HTML:Playwright を使って、末尾に ?print-pdf を追加したプレゼンテーションを開き、PDF としてレンダリングします。また、HTML を解析してスライドのテキストコンテンツとリンクを抽出します。

コメント