youtube-summarizer
YouTubeの動画からトランスクリプトを抽出し、インテリジェントな分析フレームワークを用いて詳細かつ包括的な要約を自動生成します。動画の内容を素早く把握したい場合や、長尺コンテンツの要点を整理したいときに活躍するスキルです。
description の原文を見る
Extract transcripts from YouTube videos and generate comprehensive, detailed summaries using intelligent analysis frameworks
SKILL.md 本文
youtube-summarizer
目的
このスキルは YouTube ビデオからトランスクリプト(字幕)を抽出し、STAR + R-I-S E フレームワークを使用した包括的で詳細な要約を生成します。ビデオの利用可能性を検証し、youtube-transcript-api Python ライブラリを使用してトランスクリプトを抽出し、すべての洞察、議論、重要なポイントを捉えた詳細なドキュメントを作成します。
このスキルは、教育ビデオ、講義、チュートリアル、情報コンテンツから徹底的なコンテンツ分析と参考ドキュメントが必要なユーザーを対象として設計されています。
このスキルを使用する場合
以下の場合にこのスキルを使用してください:
- ユーザーが YouTube ビデオ URL を提供し、詳細な要約が必要な場合
- ビデオコンテンツを再視聴せずに参考用として文書化する必要がある場合
- 教育コンテンツから洞察、重要なポイント、議論を抽出したい場合
- YouTube ビデオから分析用のトランスクリプトが必要な場合
- ユーザーが YouTube ビデオの「要約」、「まとめ」、「コンテンツ抽出」をリクエストした場合
- 簡潔性よりも完全性を優先した包括的なドキュメントが必要な場合
ステップ 0: 検出とセットアップ
ビデオを処理する前に、環境と依存関係を検証してください:
# youtube-transcript-api がインストールされているか確認
python3 -c "import youtube_transcript_api" 2>/dev/null
if [ $? -ne 0 ]; then
echo "⚠️ youtube-transcript-api が見つかりません"
# インストールを提案
fi
# Python の利用可能性を確認
if ! command -v python3 &>/dev/null; then
echo "❌ Python 3 が必要ですがインストールされていません"
exit 1
fi
依存関係がない場合、ユーザーに確認してください:
youtube-transcript-api が必要ですがインストールされていません。
今すぐインストールしたいですか?
- [ ] はい - pip でインストール (pip install youtube-transcript-api)
- [ ] いいえ - 手動でインストールします
ユーザーが「はい」を選択した場合:
pip install youtube-transcript-api
インストールの確認:
python3 -c "import youtube_transcript_api; print('✅ youtube-transcript-api が正常にインストールされました')"
メインワークフロー
進捗追跡ガイドライン
ワークフロー全体を通じて、各ステップの前に視覚的な進捗ゲージを表示して、ユーザーに情報を提供してください。ゲージのフォーマットは以下の通りです:
echo "[████░░░░░░░░░░░░░░░░] 20% - ステップ 1/5: URL を検証中"
フォーマット仕様:
- 幅 20 文字 (█ は塗りつぶし、░ は空白に使用)
- パーセンテージの増加: ステップ 1=20%, ステップ 2=40%, ステップ 3=60%, ステップ 4=80%, ステップ 5=100%
- ステップカウンター (例: 「ステップ 3/5」)
- 現在のフェーズの簡潔な説明
ステップ 1 の前に初期ステータスボックスを表示:
╔══════════════════════════════════════════════════════════════╗
║ 📹 YOUTUBE 要約ツール - ビデオ処理中 ║
╠══════════════════════════════════════════════════════════════╣
║ → ステップ 1: URL を検証中 [処理中] ║
║ ○ ステップ 2: 利用可能性を確認中 ║
║ ○ ステップ 3: トランスクリプトを抽出中 ║
║ ○ ステップ 4: 要約を生成中 ║
║ ○ ステップ 5: 出力をフォーマット中 ║
╠══════════════════════════════════════════════════════════════╣
║ 進捗: ██████░░░░░░░░░░░░░░░░░░░░░░░░ 20% ║
╚══════════════════════════════════════════════════════════════╝
ステップ 1: YouTube URL を検証
目的: ビデオ ID を抽出し、URL フォーマットを検証します。
サポートされている URL フォーマット:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_ID
アクション:
# 正規表現または URL パーサーを使用してビデオ ID を抽出
URL="$USER_PROVIDED_URL"
# パターン 1: youtube.com/watch?v=VIDEO_ID
if echo "$URL" | grep -qE 'youtube\.com/watch\?v='; then
VIDEO_ID=$(echo "$URL" | sed -E 's/.*[?&]v=([^&]+).*/\1/')
# パターン 2: youtu.be/VIDEO_ID
elif echo "$URL" | grep -qE 'youtu\.be/'; then
VIDEO_ID=$(echo "$URL" | sed -E 's/.*youtu\.be\/([^?]+).*/\1/')
else
echo "❌ 無効な YouTube URL フォーマット"
exit 1
fi
echo "📹 ビデオ ID を抽出しました: $VIDEO_ID"
URL が無効な場合:
❌ 無効な YouTube URL
以下のフォーマットで有効な YouTube URL を提供してください:
- https://www.youtube.com/watch?v=VIDEO_ID
- https://youtu.be/VIDEO_ID
例: https://www.youtube.com/watch?v=dQw4w9WgXcQ
ステップ 2: ビデオとトランスクリプトの利用可能性を確認
進捗:
echo "[████████░░░░░░░░░░░░] 40% - ステップ 2/5: 利用可能性を確認中"
目的: ビデオが存在し、トランスクリプトにアクセスできることを確認します。
アクション:
from youtube_transcript_api import YouTubeTranscriptApi, TranscriptsDisabled, NoTranscriptFound
import sys
video_id = sys.argv[1]
try:
# 利用可能なトランスクリプトのリストを取得
transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
print(f"✅ ビデオにアクセス可能です: {video_id}")
print("📝 利用可能なトランスクリプト:")
for transcript in transcript_list:
print(f" - {transcript.language} ({transcript.language_code})")
if transcript.is_generated:
print(" [自動生成]")
except TranscriptsDisabled:
print(f"❌ ビデオ {video_id} ではトランスクリプトが無効になっています")
sys.exit(1)
except NoTranscriptFound:
print(f"❌ ビデオ {video_id} のトランスクリプトが見つかりません")
sys.exit(1)
except Exception as e:
print(f"❌ ビデオへのアクセスエラー: {e}")
sys.exit(1)
エラーハンドリング:
| エラー | メッセージ | アクション |
|---|---|---|
| ビデオが見つからない | "❌ ビデオが存在しないか非公開です" | ユーザーに URL を確認するよう求める |
| トランスクリプトが無効 | "❌ このビデオではトランスクリプトが無効になっています" | 続行不可 |
| トランスクリプトが利用不可 | "❌ トランスクリプトが見つかりません (自動生成または手動追加されていません)" | 続行不可 |
| 非公開/制限されたビデオ | "❌ ビデオが非公開または制限されています" | 公開ビデオをリクエスト |
ステップ 3: トランスクリプトを抽出
進捗:
echo "[████████████░░░░░░░░] 60% - ステップ 3/5: トランスクリプトを抽出中"
目的: 優先言語でトランスクリプトを取得します。
アクション:
from youtube_transcript_api import YouTubeTranscriptApi
video_id = "VIDEO_ID"
try:
# ユーザーの優先言語でトランスクリプトを取得
# 利用不可の場合は英語にフォールバック
transcript = YouTubeTranscriptApi.get_transcript(
video_id,
languages=['pt', 'en'] # ポルトガル語を優先、英語にフォールバック
)
# トランスクリプトセグメントを完全なテキストに統合
full_text = " ".join([entry['text'] for entry in transcript])
# ビデオメタデータを取得
from youtube_transcript_api import YouTubeTranscriptApi
transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
print("✅ トランスクリプトを正常に抽出しました")
print(f"📊 トランスクリプトの長さ: {len(full_text)} 文字")
# 処理用の一時ファイルに保存
with open(f"/tmp/transcript_{video_id}.txt", "w") as f:
f.write(full_text)
except Exception as e:
print(f"❌ トランスクリプト抽出エラー: {e}")
exit(1)
トランスクリプト処理:
- すべてのトランスクリプトセグメントをコヒーレントなテキストに統合
- 利用可能な場合は句読点とフォーマットを保持
- 重複または重複するセグメントを削除 (自動生成のアーティファクトがある場合)
- 分析用の一時ファイルに保存
ステップ 4: 包括的な要約を生成
進捗:
echo "[████████████████░░░░] 80% - ステップ 4/5: 要約を生成中"
目的: 強化された STAR + R-I-S-E プロンプトを適用して詳細な要約を作成します。
適用されるプロンプト:
フェーズ 2 の強化されたプロンプト (STAR + R-I-S-E フレームワーク) を抽出されたトランスクリプトを入力として使用します。
アクション:
- 完全なトランスクリプトテキストを読み込む
- 包括的な要約プロンプトを適用
- AI モデル (Claude/GPT) を使用して構造化された要約を生成
- 出力が定義された構造に従うことを確認:
- ビデオメタデータ付きヘッダー
- エグゼクティブシンセシス
- 詳細なセクション別分析
- 主要な洞察と結論
- 概念と用語
- リソースと参照
実装:
# トランスクリプトファイルを AI プロンプトへの入力として使用
TRANSCRIPT_FILE="/tmp/transcript_${VIDEO_ID}.txt"
# AI エージェントは以下を実行します:
# 1. トランスクリプトを読む
# 2. STAR + R-I-S-E 要約フレームワークを適用
# 3. 包括的な Markdown 出力を生成
# 4. ヘッダー、リスト、ハイライトで構造化
Read "$TRANSCRIPT_FILE" # トランスクリプトをコンテキストに読み込む
次に、完全な要約プロンプト (フェーズ 2 の強化版) を適用してください。
ステップ 5: 出力をフォーマットして表示
進捗:
echo "[████████████████████] 100% - ステップ 5/5: 出力をフォーマット中"
目的: クリーンで構造化された Markdown で要約を配信します。
出力構造:
# [ビデオタイトル]
**チャンネル:** [チャンネル名]
**長さ:** [時間]
**URL:** [https://youtube.com/watch?v=VIDEO_ID]
**公開日:** [利用可能な場合は日付]
## 📝 詳細な要約
### [トピック 1]
[例、データ、引用を含む包括的な説明...]
#### [サブトピック 1.1]
[詳細な分析...]
### [トピック 2]
[継続する詳細な分析...]
## 📚 概念と用語
- **[用語 1]:** [定義と文脈]
- **[用語 2]:** [定義と文脈]
## 📌 結論
[最終的なシンセシスと主要なポイント]
例 2: 依存関係が欠落している場合
ユーザー入力:
claude> この youtube ビデオを要約してください https://youtu.be/abc123
スキルレスポンス:
⚠️ youtube-transcript-api がインストールされていません
このスキルには Python ライブラリ 'youtube-transcript-api' が必要です。
今すぐインストールしたいですか?
- [ ] はい - pip でインストール
- [ ] いいえ - 手動でインストールします
ユーザーが「はい」を選択:
$ pip install youtube-transcript-api
Successfully installed youtube-transcript-api-0.6.1
✅ インストール完了! ビデオ要約を進めています...
例 4: 無効な URL
ユーザー入力:
claude> youtube ビデオを要約してください www.youtube.com/some-video
スキルレスポンス:
❌ 無効な YouTube URL フォーマット
期待されるフォーマット例:
- https://www.youtube.com/watch?v=VIDEO_ID
- https://youtu.be/VIDEO_ID
有効な YouTube ビデオ URL を提供してください。
📊 エグゼクティブサマリー
このビデオは、現代的な AI の技術的基盤と実務的な応用を理解したい初心者とプロフェッショナル向けに設計された、人工知能 (AI) の基本概念に関する包括的な入門講座を提供します。講師は基本的な定義からマシンラーニングアルゴリズムまですべてをカバーし、実践的な例と視覚化を使用して理解を促進します。
[... 継続する詳細な要約 ...]
**保存オプション:**
何を保存したいですか? → 要約 + 生のトランスクリプト
✅ ファイルを保存しました: resumo-exemplo123-2026-02-01.md (生のトランスクリプト含む) [████████████████████] 100% - ✓ 処理完了!
このマシンラーニングの基礎に関する包括的なチュートリアルへようこそ。今日のビデオでは、現代的な AI システムを駆動するコア概念を探索します...
バージョン: 1.2.0 最終更新: 2026-02-02 保守者: Eric Andrade
制限事項
- このスキルは、上記で説明されたスコープに明確に一致するタスクのみに使用してください。
- 出力を環境固有の検証、テスト、または専門家のレビューの代替として扱わないでください。
- 必要な入力、権限、安全性の境界、または成功基準が不明な場合は、停止して明確化を依頼してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。