Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

video-summarizer

YouTube、Bilibili、Twitter/X、TikTok、Vimeo、Instagramなど1,800以上のプラットフォームから動画をダウンロードし、映像・音声・字幕・AI要約をまとめたリソースパッケージを自動生成します。MP4動画、MP3音声、タイムスタンプ付きVTT字幕、TXTトランスクリプト、MDフォーマットのAI要約を出力し、uv・yt-dlp・ffmpegのインストールも自動で行います。動画の要約・ダウンロード・文字起こし・コンテンツ抽出を行いたいときに活用できます。

description の原文を見る

Download videos from 1800+ platforms (YouTube, Bilibili, Twitter/X, TikTok, Vimeo, Instagram, etc.) and generate complete resource package with video, audio, subtitles, and AI summary. Actions: summarize, download, transcribe, extract video content. Platforms: youtube.com, bilibili.com, twitter.com, x.com, tiktok.com, vimeo.com, instagram.com, twitch.tv. Outputs: MP4 video, MP3 audio, VTT subtitles with timestamps, TXT transcript, MD AI summary. Auto-installs uv, yt-dlp, ffmpeg. Python dependencies managed by uv.

SKILL.md 本文

Video Summarizer

Overview

任意のプラットフォームからビデオをダウンロードし、以下を含む完全なリソースパッケージを生成します:

  • 元のビデオファイル(mp4)
  • オーディオファイル(mp3)
  • 字幕ファイル(タイムスタンプ付き、vtt/srt形式)
  • サマリーファイル(summary.md)

yt-dlpがサポートする1800以上のすべてのウェブサイトに対応しています。

Trigger Conditions

ユーザーが以下の場合に発動します:

  • ビデオリンクを提供してサマリーを要求する
  • 「このビデオを要約して」「このビデオには何が含まれていますか」と言う
  • 「ビデオコンテンツを抽出して」「ビデオを文字起こしして」と言う
  • 「このビデオをダウンロードして」と言う
  • YouTube/Bilibili/Twitter/Vimeo/TikTok等からのリンクを提供する

Supported Platforms

  • YouTube (youtube.com, youtu.be)
  • Bilibili (bilibili.com, b23.tv)
  • Twitter/X (x.com, twitter.com)
  • Vimeo (vimeo.com)
  • TikTok (tiktok.com)
  • Instagram (instagram.com)
  • Twitch (twitch.tv)
  • およびその他1800以上のプラットフォーム(yt-dlpがサポートするすべてのサイト)

Output Structure

すべてのファイルは現在の作業ディレクトリdownloads/<video-title>/ に保存されます:

./downloads/
└── <video-title>/
    ├── video.mp4          # 元のビデオ
    ├── audio.mp3          # 抽出されたオーディオ
    ├── subtitle.vtt       # タイムスタンプ付き字幕
    ├── transcript.txt     # プレーンテキストトランスクリプト(タイムスタンプなし)
    └── summary.md         # 構造化されたサマリー

Workflow

ステップ1: 依存関係のインストール

すべての依存関係をチェックしてインストールするスクリプトを実行します:

bash "$SKILL_DIR/scripts/install_deps.sh"

これにより以下がインストールされます: uv(Pythonパッケージマネージャー)、ffmpeg、yt-dlp、Pythonバージョンの確認。 faster-whisperはuvによって自動的に管理されます。

ステップ2: ビデオ情報の取得と出力ディレクトリの作成

# ビデオタイトルを取得(フォルダ名の特殊文字をサニタイズ)
TITLE=$(yt-dlp --print "%(title)s" "VIDEO_URL" | sed 's/[/:*?"<>|]/_/g' | cut -c1-80)
DURATION=$(yt-dlp --print "%(duration)s" "VIDEO_URL")

# 出力ディレクトリを作成
OUTPUT_DIR=./downloads/"$TITLE"
mkdir -p "$OUTPUT_DIR"

ステップ3: ビデオとオーディオをダウンロード

# ビデオをダウンロード(mp4形式、最大1080p品質)
yt-dlp -f "bestvideo[height<=1080][ext=mp4]+bestaudio[ext=m4a]/best[height<=1080][ext=mp4]/best" \
  --merge-output-format mp4 \
  -o "$OUTPUT_DIR/video.%(ext)s" "VIDEO_URL"

# オーディオを抽出(mp3形式)
yt-dlp -x --audio-format mp3 -o "$OUTPUT_DIR/audio.%(ext)s" "VIDEO_URL"

ステップ4: 字幕を取得

優先順位:

  1. 手動字幕をダウンロードしてみる(最高品質)
yt-dlp --write-subs --sub-lang zh,en,zh-Hans,zh-Hant --skip-download \
  -o "$OUTPUT_DIR/subtitle" "VIDEO_URL"
  1. 自動生成字幕をダウンロードしてみる
yt-dlp --write-auto-subs --sub-lang zh,en --skip-download \
  -o "$OUTPUT_DIR/subtitle" "VIDEO_URL"
  1. 字幕がない場合はfaster-whisper文字起こしを使用
uv run "$SKILL_DIR/scripts/parallel_transcribe.py" \
  --input "$OUTPUT_DIR/audio.mp3" \
  --output-dir "$OUTPUT_DIR" \
  --model small \
  --language auto

スクリプトは自動的に以下を実行します:

  • 長いオーディオファイルを無音点で分割
  • 複数のCPUコアを使用して並列文字起こし
  • subtitle.vtttranscript.txt の両方を出力

文字起こしオプション:

オプションデフォルト説明
--modelsmalltiny/base/small/medium/large-v3
--languageauto言語コード、または'auto'
--workersCPU/2並列ワーカー数
--min-segment60分割を有効にする最小期間(秒)

ステップ5: プレーンテキストトランスクリプトを生成

字幕がダウンロードされた場合(文字起こしされていない)、プレーンテキストに変換:

if [[ ! -f "$OUTPUT_DIR/transcript.txt" ]]; then
  SUBTITLE_FILE=$(ls "$OUTPUT_DIR"/*.vtt "$OUTPUT_DIR"/*.srt 2>/dev/null | head -1)
  if [[ "$SUBTITLE_FILE" == *.vtt ]]; then
    sed '/^[0-9]/d; /^$/d; /-->/d; /^WEBVTT/d; /^Kind:/d; /^Language:/d; /^NOTE/d' \
      "$SUBTITLE_FILE" > "$OUTPUT_DIR/transcript.txt"
  elif [[ "$SUBTITLE_FILE" == *.srt ]]; then
    sed '/^[0-9]/d; /^$/d; /-->/d' "$SUBTITLE_FILE" > "$OUTPUT_DIR/transcript.txt"
  fi
fi

ステップ6: サマリーファイルを生成

  1. $SKILL_DIR/reference/summary-prompt.md からプロンプトテンプレートを読み込む
  2. プレースホルダーを置換: {{TITLE}}{{PLATFORM}}{{URL}}{{DURATION}}{{LANGUAGE}}{{DOWNLOAD_TIME}}{{TRANSCRIPT}}
  3. サマリーを生成して $OUTPUT_DIR/summary.md に保存

プラットフォーム固有の処理

Bilibili

# 中国語字幕を優先
yt-dlp --sub-lang zh-Hans,zh-Hant,zh ...
# ログインが必要な場合
yt-dlp --cookies-from-browser chrome "VIDEO_URL"

ログインが必要なプラットフォーム

yt-dlp --cookies-from-browser chrome "VIDEO_URL"
# またはfirefox
yt-dlp --cookies-from-browser firefox "VIDEO_URL"

Error Handling

字幕を取得できない

並列文字起こしスクリプトを使用します(ステップ4、オプション3)。

ビデオが長い(>1時間)

  1. ユーザーに部分的なコンテンツのみが必要かどうかを確認
  2. 並列スクリプトは長いファイルを自動的に処理します

サポートされていないプラットフォーム

yt-dlp --list-extractors | grep -i "platform-name"

Notes

  1. ストレージ: ファイルは現在の作業ディレクトリの ./downloads/ に保存されます
  2. 著作権: 個人的な学習用途のみ
  3. ネットワーク: 一部のプラットフォームはプロキシが必要な場合があります
  4. 初回実行: Whisperモデルのダウンロードが必要です(small用に約244MB)
  5. 並列処理: 長いオーディオ(>60秒)は無音点で自動的に分割されます

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
liang121
リポジトリ
liang121/video-summarizer
ライセンス
MIT
最終更新
不明

Source: https://github.com/liang121/video-summarizer / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: liang121 · liang121/video-summarizer · ライセンス: MIT