Skip to main content سوق المهارات اكتشف واستكشف مهارات الذكاء الاصطناعي التي بناها المجتمع.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
نسخ Promptعرض تفاصيل Prompt يتجاوز الأمر المباشر Prompt المخصّص للمراجعة. افحص المصدر قبل تشغيله.
npx skills add https://github.com/tegnike/nikechan-discord-public --skill youtube-notesيبقى الأمر في سطر واحد. مرّر أفقيًا لمراجعته كاملًا قبل النسخ.
تفضّل نسخة محلية؟ نزّل الملفات المتاحة حاليًا لدى SkillsMP.
تحميل Zip جاري التحميل... المهن ذات الصلة SOC
استنادا إلى تصنيف SOC المهني
name youtube-notes description YouTube動画のURLから字幕を取得し、文字起こし・要約・ノート化する。「YouTube動画をまとめて」「この動画をノートにして」「文字起こしして」と言われたら使う。 platforms ["macos","linux"]
YouTube動画ノート化
YouTube動画から字幕を取得し、構造化されたノートを作成する。
重要
このprofileでは youtube-content は無効化されているため、YouTube要約・文字起こし依頼では必ずこの youtube-notes を使う。
ユーザーがYouTube URLを渡して要約・文字起こし・リスト化を頼んだ場合、入力済みURLだけを一次ソースにする。web_search と web_extract は使わない。
短縮URL(t.co/bit.ly 等)や youtu.be 短縮形式は、先に「最終リダイレクト先」を確認して YouTube 本体かを検証する。
確認で非YouTubeへ着地した場合は、その時点で「このURLでは動画要約対象外」と明示して中断する(無理に要約しない)。
ゲームをリスト化して のような依頼でも、字幕または音声解析で「動画内で確認できたゲームタイトルのみ」を列挙する。確認不能なら「動画内ソースだけでは確認不能」と明記し、外部調査で補完しない。
YouTube概要欄に公式サイトURLが含まれていても、ユーザーが外部確認を明示しない限り開かない。
字幕取得結果が Could not retrieve a transcript... など明確な失敗を含む場合は、要約不成立として先にその旨を明示する。
代替として [GEMINI_AUDIO_FALLBACK] が添付されている場合のみ、まずその要約を採用して回答する。
terminalの workdir は必ず /Users/nikenike/.hermes/hermes-agent にする。workdir typoや一時的な失敗時は同一URLで再実行し、検索へ逃げない。
yt-dlp -J の巨大JSONをそのまま出力しない。title/channel/duration/id程度だけ抽出する。
字幕取得に成功し、要約に十分な本文が得られたら、音声DLやGemini fallbackへ進まずその場で要約して終了する。
歌詞・楽曲字幕の「日本語訳して」依頼では、歌詞全文や逐語訳を出さない。代わりに、著作権的に代替にならない短い要約・意訳、主要メッセージ、キーフレーズの意味説明に留める。必要なら「歌詞そのものなので全文翻訳はできない」と短く明示する。
音声fallbackは字幕が使えない時、字幕が空、無効、または著しくノイズが多い時にのみ行う。
が や「Could not retrieve transcript」を返す場合は、字幕取得失敗として明示し、次工程へ進む。
youtube_transcript_api
Subtitles are disabled
もしユーザー入力に ゲームをリスト化 等の内容抽出指示があり、かつ字幕/Fallback が無い場合は、動画内情報で確認できないため「字幕取得不可のため未確認」と明記して返す。
GEMINI_AUDIO_FALLBACK が添付されている場合は、それを最優先で利用し、情報が不確か/不足な箇所は「不確か」と明記する。
同一URLの音声DLは重複実行を避ける(/tmp/ytdl/<VIDEO_ID>.mp3 が存在すれば再DLしない)。ただし長時間処理が見込まれる場合は yt-dlp を background で実行して待機確認する。
Gemini audio解析が成功して内容が返ったら、それを使って回答する。成功後に gemini-audio-analyze --help や analyze --help を呼ばない。help確認は usage error の時だけ。
scripts/fetch_transcript.py や ../scripts/fetch_transcript.py は使わない。存在確認もしない。
字幕取得は /Users/nikenike/.hermes/hermes-agent/venv/bin/python -m youtube_transcript_api ... を使う。
fallbackでは /Users/nikenike/.hermes/profiles/nikechan-discord-public/bin/gemini-audio-analyze analyze --file AUDIO_PATH --mode speech を使う。
fallback結果は逐語文字起こしではなく「聞き取れる内容の要約」として扱い、要旨+ゲームリスト/論点を短く返す。歌詞全文は出力しない。
手順
Trigger Use this skill when a message contains a YouTube URL and asks for any of:
文字起こしして
字幕を取って
動画をまとめて
この動画をノートにして
内容を要約して
Step 1: URLを受け取る
Step 2: URLの正規化(短縮URL対応)
cd /Users/nikenike/.hermes/hermes-agent && /Users/nikenike/.hermes/hermes-agent/venv/bin/python - <<'PY'
import requests,sys
url = "[URL]"
r = requests.get(url, allow_redirects=True, timeout =20)
print (r.url)
PY
r.url が youtube.com/watch?... または youtu.be/... でない場合は動画処理を中断し、要約不可を明示してユーザーに元のURL確認を依頼。
Step 3: 動画情報を取得
cd /Users/nikenike/.hermes/hermes-agent && /Users/nikenike/.hermes/hermes-agent/venv/bin/yt-dlp --no-playlist -J "[YouTube URL]" | /Users/nikenike/.hermes/hermes-agent/venv/bin/python -c 'import json,sys; d=json.load(sys.stdin); print(json.dumps({k:d.get(k) for k in ["id","title","channel","uploader","duration","webpage_url"]}, ensure_ascii=False, indent=2))'
Step 4: 字幕を取得
/Users/nikenike/.hermes/hermes-agent/venv/bin/python -m youtube_transcript_api [VIDEO_ID] --languages ja en --format text
Step 5: ノートを作成 # [動画タイトル]
## 基本情報
- **URL:** [YouTube URL]
- **時間:** XX分XX秒
- **チャンネル:** [チャンネル名]
## 概要
動画の内容を3-5行で要約
## 内容
### [セクション1](0:00〜)
- ポイント1
- ポイント2
### [セクション2](5:00〜)
- ポイント1
- ポイント2
## 重要ポイント
- 学び1
- 学び2
- 学び3
## 用語解説
- **用語1:** 説明
- **用語2:** 説明
Step 6: 完了報告
字幕がない場合 youtube_transcript_api 失敗、字幕無効、空、短すぎる/ノイズ寄りの3条件いずれかで、字幕ベース要約が成立しない場合は fallback。
音声を抽出する。既に /tmp/ytdl/VIDEO_ID.mp3 があれば再DLしない。
長時間(>600秒・大容量)が見込まれるケースは background で実行し、完了を確認してから解析へ進む。
cd /Users/nikenike/.hermes/hermes-agent && mkdir -p /tmp/ytdl && test -s /tmp/ytdl/VIDEO_ID.mp3 || /Users/nikenike/.hermes/hermes-agent/venv/bin/yt-dlp --no-playlist -x --audio-format mp3 -o "/tmp/ytdl/%(id)s.%(ext)s" "[YouTube URL]"
ユーザー入力に [GEMINI_AUDIO_FALLBACK] が付与されている場合は、まずその結果を確認して要約へ反映する。
代わりに音声解析が必要な場合は、次を実行する。
/Users/nikenike/.hermes/profiles/nikechan-discord-public/bin/gemini-audio-analyze analyze --file /tmp/ytdl/VIDEO_ID.mp3 --mode speech --prompt "このYouTube動画の内容を要約し、動画内で確認できたゲームタイトルだけを箇条書きで列挙してください。不確かなものは不確かと明記してください。"
解析結果が返ったら、それを根拠に回答して終了する。--help は呼ばない。
カスタマイズ
詳細度を変える
「簡潔にまとめて」→ 概要と重要ポイントのみ
「詳しくまとめて」→ 用語解説付きの詳細ノート
保存先を指定 「notes/に保存して」と言えば、ファイルとして保存される。